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

[经验分享] Hadoop 0.21.0 集群配置小记

[复制链接]

尚未签到

发表于 2016-12-10 09:58:41 | 显示全部楼层 |阅读模式
  经过两个晚上的努力,完成了一个三台机器的hadoop集群的配置,两台linux+一台windows7的组合,比较怪异,但毕竟是出于学习的目的,所以就尝试了不同的平台。何况hadoop本身就具有跨平台的特性。下面介绍一下整个配置的过程一些关键的地方和一些问题的解决:



使用版本:0.21.0
  
主要参考资料

  [1]http://hadoop.apache.org/common/docs/r0.21.0/cn/cluster_setup.html这部分中文的内容有点旧,没有针对0.20+版本进行更新
[2]http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/index.html
[3]http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop2/index.html
[4]http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop3/index.html



集群组成:
  HDFS是Hadoop应用用到的一个最主要的分布式存储系统。一个HDFS集群主要由一个NameNode和很多个Datanode组成:Namenode管理文件系统的元数据,而Datanode存储了实际的数据。从任务角度,集群又由jobTracker和taskTracker组成,其中jobTracker负责调度,而taskTracker负责具体的任务的处理;jobTracker和namenode可以分别配置于不同的机器上,也可以位中同一台机器,而taskTracker和datanode最好在同一台机器上。在我这里,由于环境的限制,jobTracker和namenode一同配置在作为master的192.168.1.67上,而另外两台,66和55分为作为slave,配置datanode+tasknode。其中66为ubuntu10.10 server,而55为win7 旗舰版。



关于配置方面
  先说明下关于windows下使用hadoop的配置,因为其相对比较特殊



  • 需要安装cygwin,具体安装方法请参考资料[2],在安装cygwin时,注意要添加openssh组件,为了方便起见,最好安装一些文本编辑器,如vim,或者nano。在安装完成cygwin之后,要配置好ssh server,参见http://www.360doc.com/content/11/0319/14/3804236_102576048.shtml.注意 ,如果是win7,那么由于权限问题,需要我们建立一个用户来运行sshd服务,在cygwin中的命令行里都会有相应提示,大家注意看,按着做就成。 在建立该用户的时候,要注意的是,用户名和密码要和另外两台服务器的用户名密码相同,这样才方便集群管理。

  • 如果启动hadoop出现java.lang.NoClassDefFoundError:org/apache/hadoop/util/PlatformName错误,则要修改${HADOOP_HOME}/bin/hadoop-config.sh文件中的第190行的一下的内容
    JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m ${HADOOP_JAVA_PLATFORM_OPTS} org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"`


     为
    JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m -classpath ${HADOOP_COMMON_HOME}/hadoop-common-0.21.0.jar org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"`


     参见http://www.blogjava.net/snoics/archive/2011/03/10/333408.html
  其它一些注意事项:
 
  在0.21版本中,${HADOOP_HOME}/conf/下的配置文件中,不再有hadoop-site.xml,由core-site.xml,hdfs-site.xml,mapred-site.xml取而代之,



  • 在core-site中,配置fs.default.name属性,即NameNode的URI,值为hdfs://主机名:商品/
  • 在hdfs-site.xml中


  •  

    • 配置dfs.data.dir,即DataNode存放块数据的本地文件系统路径,值可以是以逗号分割的路径列表
    • 配置dfs.name.dir,即NameNode持久存储名字空间及事务日志的本地文件系统路径。




例如


<configuration>
<property>
<name>dfs.data.dir</name>
<value>/data/hadoop-jobs/data</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/data/hadoop-jobs/name</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<!-- set to 1 to reduce warnings when
running on a single node -->
</property>
</configuration>





  • 在mapred-site.xml中,配置mapred.job.tracker即JobTracker的主机(或者IP)和端口。

以上提到的JobTracker,NameNode的端口可以自行设定。


另外在${HADOOP_HOME}/conf/slaves中,输入作为datanode的机器的IP及端口,一行一个;在同一文件夹下的masters中,输入namenode的ip及端口;

完成这些配置以后,需要在每一台机器的hosts文件中,添加每台机器的主机名称和IP,保证相互之间可以成功访问。



最后


在分配的NameNode上,运行下面的命令启动HDFS:
$ bin/start-dfs.sh

bin/start-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动DataNode守护进程。

在分配的JobTracker上,运行下面的命令启动Map/Reduce:
$ bin/start-mapred.sh

bin/start-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动TaskTracker守护进程。

根据控制台的输出,可以判断系统启动是否成功。启动完成之后,访问http://{namenode-IP}:50070,可以进入集群的web控制台,查看系统情况。

具体的任务运行,请参看参考资料[4]

运维网声明 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-312234-1-1.html 上篇帖子: Hadoop 2.0 代码分析---MapReduce 下篇帖子: [转]Hadoop 解除 "Name node is in safe mode
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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