设为首页 收藏本站
查看: 1420|回复: 0

[经验分享] Hadoop-2.3.0-cdh5.0.1单机搭建、伪分布式搭建、本地目录配置

[复制链接]

尚未签到

发表于 2016-12-12 08:20:35 | 显示全部楼层 |阅读模式
编写不易,转载请注明(http://shihlei.iyunv.com/blog/2082625)!

一安装概述

Hadoop 安装的三种模式:
 
1)单机模式(standalone)
       单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
 
2)伪分布模式(Pseudo-Distributed Mode)
      伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
 
3)全分布模式(Fully Distributed Mode)
       Hadoop守护进程运行在一个集群上。
 

二 程序版本

hadoop-2.3.0-cdh5.0.1.tar.gz
 

三 单机搭建

 1)解压:tar -xvf hadoop-2.3.0-cdh5.0.1.tar.gz
  2)配置环境变量:vi ~/.bashrc 

# hadoop cdh5
export HADOOP_HOME=/home/zero/hadoop/hadoop-2.3.0-cdh5.0.1
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
 source ~/.bashrc
3)运行wordcount
  hadoop jar $HADOOP_HOME/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.3.0-cdh5.0.1.jar wordcount $HADOOP_HOME/etc/hadoop /tmp/out
  说明:


  • 该模式不使用hdfs,hadoop fs -ls / 浏览的是本地文件系统
  • 该模式没有修改配置文件,中间临时数据等存放于默认路径/tmp/hadoop-${user}

四 伪分布式搭建
  (一)规划
1)启动进程:


  •            namenode 
  •            datanode
  •            resourcemanager
  •            nodemanager
  •            historyserver

2)管理页面列表:


  •          NameNode :http://8.8.8.10:50070/dfshealth.html(使用IP默认打开该页面,个人比较习惯使用jsp页面   http://8.8.8.10:50070/dfshealth.jsp)
  •         ResourceManager : http://8.8.8.10:8088
  •         MapReduce JobHistory Server : http://8.8.8.10:10998
  (二)搭建过程
  (1)准备
  1)修改/etc/hosts添加映射:8.8.8.10 CentOS-StandAlone
  2)关闭防火墙:root用户 : service iptables stop
  3)解压:tar -xvf hadoop-2.3.0-cdh5.0.1.tar.gz
  4)配置环境变量:vi ~/.bashrc  

# hadoop cdh5
export HADOOP_HOME=/home/zero/hadoop/hadoop-2.3.0-cdh5.0.1
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
  source ~/.bashrc
  (2)安装HDFS
  1)修改$HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://CentOS-StandAlone:8020</value>
</property>
</configuration>
 2)修改$HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<!--开启web hdfs-->
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/zero/hadoop/hadoop-2.3.0-cdh5.0.1/data/dfs/name</value>
<description> namenode 存放name table(fsimage)本地目录(需要修改)</description>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>${dfs.namenode.name.dir}</value>
<description>namenode粗放 transaction file(edits)本地目录(需要修改)</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/zero/hadoop/hadoop-2.3.0-cdh5.0.1/data/dfs/data</value>
<description>datanode存放block本地目录(需要修改)</description>
</property>
</configuration>
  3)namenode 格式化: hdfs namenode -format
  4)hdfs 启动:
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
  5)验证:
  进程:
[zero@CentOS-StandAlone hadoop]$ jps
3083 NameNode
3192 Jps
3158 DataNode
  页面:8.8.8.10:50070
  
DSC0000.png
 
  注:停止方法如下:
hadoop-daemon.sh stop namenode
hadoop-daemon.sh stop datanode
 
  (3)安装Yarn
  1)修改$HADOOP_HOME/etc/hadoop/mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
 2)修改$HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>CentOS-StandAlone</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
 3)启动:
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
mr-jobhistory-daemon.sh start historyserver
  4)验证:
  进程
[zero@CentOS-StandAlone hadoop-2.3.0-cdh5.0.1]$ jps
1458 NodeManager
1131 DataNode
1634 Jps
1229 ResourceManager
1056 NameNode
1604 JobHistoryServer
 页面:
DSC0001.png
 

注:停止方法如下:
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh stop nodemanager
mr-jobhistory-daemon.sh stop historyserver
  (4)运行wordcount
  1)上传数据:
hadoop fs mkdir /in
hadoop fs -put $HADOOP_HOME/etc/hadoop/* in
  2)执行:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.3.0-cdh5.0.1.jar wordcount /in /out
 

五 Hadoop本地文件系统使用配置

默认配置文件位置:
/hadoop-project-dist/hadoop-common/core-default.xml
/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
/hadoop-mapreduce-client-core/mapred-default.xml
/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
 
1)core-site.xml

<property>
<name>io.seqfile.local.dir</name>
<value>${hadoop.tmp.dir}/io/local</value>
<description> sequence file机型marge合并时存临时数据目录(可默认)</description>
</property>
 2)hdfs-site.xml

<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name</value>
<description> namenode 存放name table(fsimage)本地目录(需要修改)</description>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>${dfs.namenode.name.dir}</value>
<description>namenode粗放 transaction file(edits)本地目录(需要修改)</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data</value>
<description>datanode存放block本地目录(需要修改)</description>
</property>
 3)mapred-site.xml

<property>
<name>mapreduce.cluster.local.dir</name>
<value>${hadoop.tmp.dir}/mapred/local</value>
<description>MapReduce的缓存数据存储在文件系统上的位置
</description>
</property>
<property>
<name>mapreduce.jobtracker.system.dir</name>
<value>${hadoop.tmp.dir}/mapred/system</value>
<description>MapReduce在HDFS上存储系统文件的位置
</description>
</property>
<property>
<name>mapreduce.jobtracker.staging.root.dir</name>
<value>${hadoop.tmp.dir}/mapred/staging</value>
<description>用户job相关文件中转区根目录(可默认)</description>
</property>
<property>
<name>mapreduce.cluster.temp.dir</name>
<value>${hadoop.tmp.dir}/mapred/temp</value>
<description>临时文件共享目录(可默认)</description>
</property>
4)yarn-site.xml

<property>
<name>yarn.resourcemanager.fs.state-store.uri</name>
<value>${hadoop.tmp.dir}/yarn/system/rmstore</value>
<description>resourcemanager 状态存放路径(需要修改)</description>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>${hadoop.tmp.dir}/nm-local-dir</value>
<description>一个Application执行时本地化文件的存放路径,本地话文件具体问题:
${yarn.nodemanager.local-dirs}/usercache/${user}/appcache/application_${appid}.(可默认)
</description>
</property>
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-312931-1-1.html 上篇帖子: 大数据框架hadoop的解压缩机制 下篇帖子: 用淘宝Fourinone实现Hadoop经典实例wordcount
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表