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

[经验分享] 关于Hadoop 0.23.0 + backupnode分布式安装补充

[复制链接]

尚未签到

发表于 2016-12-11 10:35:01 | 显示全部楼层 |阅读模式
  网上有很多hadoop0.23.0的安装,各有问题。 该版本和hadoop0.21.0目录结构稍有不同。conf里面只有一个slaves, 其它配置在etc/hadoop/目录下。然后参考http://www.oschina.net/question/54100_33772的配置安装(以下内容复制于链接:
  hadoop 0.23.0比先前的0.20版本有了很大的改动,而我目前最感兴趣的还是HDFS部分的federation部分,由于相关配置资料比较少,下面就把这两天配置情况总结一下作为备忘:
  要配置hdfs,关键要知道namenode、datanode、secondarynamenode、backupnode都需要什么配置,下面分别来讨论一下:
  1、namenode
  1)需要一些目录放置fsimage和edits,对应配置dfs.namenode.name.dir、dfs.namenode.edits.dir
  2)打开两个端口来提供RPC服务,一个是给client对应配置dfs.namenode.rpc-address;一个端口是提供给datanode对应配置dfs.namenode.servicerpc-address,如果不指定则使用dfs.namenode.rpc-address,其实这两个端口的RPC服务没什么区别,之所以要区分,我猜想这样分开主要是因为datanode和namenode通讯时不会影响client和namenode的通讯,因为同一个端口同时打开的句柄毕竟是预先设定的,缺省为10个
  3)需要打开一个http服务,用于提供web访问以及传输edits log,checkpoint等,对应配置为dfs.namenode.http-address
  2、datanode
  1)需要指定一个目录来保存blocks,对应配置dfs.datanode.data.dir
  2)当然还需要知道namenode所打开的RPC服务端口,以便于建立RPC联接
  3、secondarynamenode
  本次没有测试,而且所做的工作可以为backupnode取代,就略过了。
  4、backupnode
  backupnode本质上也是一个namnode,因此namenode需要的它都需要,只是名称上可能有些不同,具体如下:
  1)对于保存image和edits的目录与namenode没什么不同dfs.namenode.backup.address
  2)对我提供RPC服务的配置项分别叫做dfs.namenode.servicerpc-address(与namenode相同),dfs.namenode.backup.address(namenode叫做dfs.namenode.rpc-address)
  3)对我提供的http服务配置项叫做:dfs.namenode.backup.http-address
  4)backupnode需要和对应的namenode的http服务通讯因此需要告诉backupnode对应的namenode的http服务的地址,对应配置项dfs.namenode.http-address
  5)比较没趣的还要指定一个配置项dfs.federation.nameservice.id,随便可以指定什么值,目前不会使用到,但不知定还不行,就随便指定一个值就可以了,因为backupnode继承namennode导致的,当然也可以不指定,通过其他方法来配置,但那种方法也很不理想,使配置变的怪怪的,所以还是指定一下为好
  hadoop 0.23的一个重要feature就是federation,因此通过配置项dfs.federation.nameservices来枚举出全部的 nameserviceID,上面说的一些配置项,后面跟上对应的ID,就可以完成配置了,其实namenode在启动时是这样做的,通过比较本机的ip 和配置项中value的ip来确定该配置想是否应该加入到启动是的conf当中,通过这个手段,就可以将自己需要的配置从配置文件中分离出来了。
  另外,传说hadoop 0.23.0兼容0.20的各种配置,但还是有些差别,缺省情况下,系统从hadoop-0.23.0/etc/hadoop/目录中读取配置文件,当然可以通过HDFS_CONF_DIR来指定,基于这一点,我们把配置文件放在hadoop-0.23.0/etc/hadoop/目录下
  假设我们有4台机器,h1-1、h1-2、h1-3、h1-4
  1)namenode为h1-1、h1-2
  2)datanode为h1-1、h1-2、h1-3、h1-4
  3)backupnode为h1-3
  具体的配置文件如下:
  1)h1-1、h1-2、h1-3、h1-4的hadoop-0.23.0/etc/hadoop/slaves
  h1-1
h1-2
h1-3
h1-4
  2)h1-1、h1-2、h1-4(不包括h1-3)的hadoop-0.23.0/etc/hadoop/hdfs.site的配置如下:
01<?xml version="1.0"?>

02<configuration>

03<property>

04 <name> dfs.namenode.name.dir</name>

05 <value>/home/rmss/zhanggang/hdfs/name</value>

06</property>

07<property>

08 <name>dfs.namenode.edits.dir</name>

09 <value>/home/rmss/zhanggang/hdfs/edits</value>

10</property>

11<property>

12 <name>dfs.namenode.checkpoint.dir</name>

13 <value>/home/rmss/zhanggang/hdfs/checkpoint</value>

14</property>

15<property>

16 <name>dfs.namenode.checkpoint.edits.dir</name>

17 <value>/home/rmss/zhanggang/hdfs/checkpoint_edits</value>

18</property>

19<property>

20 <name> dfs.datanode.data.dir</name>

21 <value>/home/rmss/zhanggang/hdfs/data</value>

22</property>

23<property>

24 <name>dfs.federation.nameservices</name>

25 <value>ns1,ns2</value>

26</property>

27<property>

28 <name>dfs.namenode.rpc-address.ns1</name>

29 <value>h1-1:9000</value>

30</property>

31<property>

32 <name>dfs.namenode.http-address.ns1</name>

33 <value>h1-1:50070</value>

34</property>

35<property>

36 <name>dfs.namenode.servicerpc-address.ns1</name>

37 <value>h1-1:9005</value> 

38</property>

39<property>

40 <name>dfs.namenode.rpc-address.ns2</name>

41 <value>h1-2:9000</value>

42</property>

43<property>

44 <name>dfs.namenode-http-address.ns2</name>

45 <value>h1-2:50070</value>

46</property>

47<property>

48 <name>dfs.namenode.servicerpc-address.ns2</name>

49 <value>h1-2:9005</value>

50</property>

51<!-- Site specific YARN configuration properties -->

52     

53</configuration>



  3)h1-3作为backupnode的hadoop-0.23.0/etc/hadoop/hdfs.site配置文件如下:
01<?xml version="1.0"?>

02<configuration>

03<property>

04 <name> dfs.namenode.name.dir</name>

05 <value>/home/rmss/zhanggang/hdfs/name</value>

06</property>

07<property>

08 <name>dfs.namenode.edits.dir</name>

09 <value>/home/rmss/zhanggang/hdfs/edits</value>

10</property>

11<property>

12 <name>dfs.namenode.checkpoint.dir</name>

13 <value>/home/rmss/zhanggang/hdfs/checkpoint</value>

14</property>

15<property>

16 <name>dfs.namenode.checkpoint.edits.dir</name>

17 <value>/home/rmss/zhanggang/hdfs/checkpoint_edits</value>

18</property>

19<property>

20 <name> dfs.datanode.data.dir</name>

21 <value>/home/rmss/zhanggang/hdfs/data</value>

22</property>

23<property>

24 <name>dfs.federation.nameservices</name>

25 <value>ns1,ns2</value>

26</property>

27<property>

28 <name>dfs.namenode.rpc-address.ns1</name>

29 <value>h1-1:9000</value>

30</property>

31<property>

32 <name>dfs.namenode.http-address.ns1</name>

33 <value>h1-1:50070</value>

34</property>

35<property>

36 <name>dfs.namenode.servicerpc-address.ns1</name>

37 <value>h1-1:9005</value>

38</property>

39<property>

40 <name>dfs.namenode.rpc-address.ns2</name>

41 <value>h1-2:9000</value>

42</property>

43<property>

44 <name>dfs.namenode-http-address.ns2</name>

45 <value>h1-2:50070</value>

46</property>

47<property>

48 <name>dfs.namenode.servicerpc-address.ns2</name>

49 <value>h1-2:9005</value>

50</property>

51<property>

52 <name>dfs.namenode.http-address</name>

53 <value>h1-1:50070</value>

54</property>

55

56

57<property>

58 <name>dfs.namenode.backup.http-address</name>

59 <value>h1-3:8003</value>

60</property>

61<property>

62 <name>dfs.namenode.backup.address</name>

63 <value>h1-3:8002</value>

64</property>

65<property>

66 <name>dfs.namenode.servicerpc-address</name>

67 <value>h1-1:9000</value>

68</property>

69<property>

70 <name>dfs.federation.nameservice.id</name>

71 <value>XXXX</value>

72</property>

73<!-- Site specific YARN configuration properties-->

74</configuration>



  其他一些需要注意的地方:
  1)环境变量JAVA_HOME
  2)如果显示的datanode名称不对可以指定slave.host.name,到hadoop-0.23.0/etc/hadoop/core.site
  如果一切顺利准备启动了
  1)bin/hdfs namenode –format –clusterid your_cluster_id
  2)sbin/start-hdfs.sh

  sbin/start-dfs.sh只负责启动namenode、datanode、secondarynamenode,不负责启动backupnode

  3)backupnode启动
  ssh h1-3
  bin/hdfs namenode -backup
  可以打开浏览器分别访问:
  1)ns1:
  http://h1-1:50070 
  2)ns2
  http://h1-2:50070
  3)backupnode
  http://h1-3:8003
  由于有多个namenode,因此使用hdfs是需要指定某个具体的namenode,例如在ns1和ns2上创建目录可以用下面命令:
  bin/hadoop fs -mkdir hdfs://h1-1:9000/test
  bin/hadoop fs -mkdir hdfs://h1-2:9000/test

  bin/hadoop fs -ls hdfs://h1-1:9000/
  因为启动了backup,因此可以查看backupnode的namespace,如下:
  bin/hadoop fs -ls hdfs://h1-3:8002/得到的结果和bin/hadoop fs -ls hdfs://h1-1:9000/是一样的)
  一切配置完成后启动失败。提示错误的Namenode 路径配置错误。我猜是因为不能在conf里面找到hdfs-site.xml文件,所以我把/hadoop/etc/hadoop/hdfs-site.xml copy到/hadoop/conf下面, 把yarn-env.sh改成hadoop.env,里面添加JAVA_HOME。再次启动成功,Namenode,datanode,backupnode都正常。

运维网声明 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-312698-1-1.html 上篇帖子: 科普文—常见的45个问题解答(数据挖掘之Hadoop) 下篇帖子: 如何查看Hadoop运行过程中产生日志
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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