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

[经验分享] 记Hadoop HA高可用性分布式集群搭建过程

[复制链接]
YunVN网友  发表于 2018-10-28 12:34:53 |阅读模式
hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下  cd /kxj/hadoop-2.4.1/etc/hadoop
  2.2.1修改hadoop-env.sh
  export JAVA_HOME=/kxj/java/jdk1.8.0_171
  2.2.2修改core-site.xml
  
  
  
  fs.defaultFS
  hdfs://ns1
  
  
  
  hadoop.tmp.dir
  /kxj/hadoop-2.4.1/tmp
  
  
  
  ha.zookeeper.quorum
  kxj04:2181,kxj05:2181,kxj06:2181
  
  
  2.2.3修改hdfs-site.xml
  
  
  
  dfs.nameservices
  ns1
  
  
  
  dfs.ha.namenodes.ns1
  nn1,nn2
  
  
  
  dfs.namenode.rpc-address.ns1.nn1
  kxj01:9000
  
  
  
  dfs.namenode.http-address.ns1.nn1
  kxj01:50070
  
  
  
  dfs.namenode.rpc-address.ns1.nn2
  kxj02:9000
  
  
  
  dfs.namenode.http-address.ns1.nn2
  kxj02:50070
  
  
  
  dfs.namenode.shared.edits.dir
  qjournal://kxj04:8485;kxj05:8485;kxj06:8485/ns1
  
  
  
  dfs.journalnode.edits.dir
  /kxj/hadoop-2.4.1/journal
  
  
  
  dfs.ha.automatic-failover.enabled
  true
  
  
  
  dfs.client.failover.proxy.provider.ns1
   org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
  
  
  
  
  dfs.ha.fencing.methods
  
  sshfence
  shell(/bin/true)
  
  
  
  
  dfs.ha.fencing.ssh.private-key-files
  /root/.ssh/id_rsa
  
  
  
  dfs.ha.fencing.ssh.connect-timeout
  30000
  
  
  2.2.4修改mapred-site.xml
  
  
  
  vix.mapreduce.framework.name
  yarn
  
  
  2.2.5修改yarn-site.xml
  
  
  
  yarn.resourcemanager.ha.enabled
  true
  

  
  
  yarn.resourcemanager.ha.rm-ids
  rm1,rm2
  
  
  
  yarn.resourcemanager.hostname.rm1
  kxj03
  
  
  yarn.resourcemanager.hostname.rm2
  kxj04
  
  
  
  yarn.resourcemanager.zk-address
  kxj04:2181,kxj05:2181,kxj06:2181
  
  
  
  yarn.nodemanager.aux-services
  mapreduce_shuffle
  
  
  
  vix.yarn.resourcemanager.address.rm1
  kxj03:18040
  
  
  vix.yarn.resourcemanager.scheduler.address.rm1
  kxj03:18030
  
  
  vix.yarn.resourcemanager.address.rm2
  kxj04:18040
  
  
  vix.yarn.resourcemanager.scheduler.address.rm2
  kxj04:18030
  
  
  2.2.6修改slaves,slaves是指定子节点的位置,因为要在kxj01上启动HDFS、在kxj03启动yarn,所以kxj01上的slaves文件指定的是datanode的位置,kxj03上的slaves文件指定的是nodemanager的位置,添加内容:
  kxj04
  kxj05
  kxj06
  2.2.7配置免密码登陆
  首先要配置kxj01到kxj02、kxj03、kxj04、kxj05、kxj06的免密码登陆
  在kxj01上生产一对钥匙
  ssh-keygen -t rsa
  将公钥拷贝到其他节点,包括自己
  ssh-copy-id kxj01
  ssh-copy-id kxj02
  ssh-copy-id kxj03
  ssh-copy-id kxj04
  ssh-copy-id kxj05
  ssh-copy-id kxj06
  配置kxj03到kxj04、kxj05、kxj06的免密码登陆
  在kxj03上生产一对钥匙
  ssh-keygen -t rsa
  将公钥拷贝到其他节点
  ssh-copy-id kxj04
  ssh-copy-id kxj05
  ssh-copy-id kxj06
  两个namenode之间要配置ssh免密码登陆,配置kxj02到kxj01的免登陆
  在kxj02上生产一对钥匙,并拷贝到kxj01
  ssh-keygen -t rsa
  ssh-copy-id kxj01
  两个ResourceManager之间要配置ssh免密码登陆,配置kxj04到kxj03、kxj05、kxj06的免登陆
  在kxj04上生产一对钥匙
  ssh-keygen -t rsa
  ssh-copy-id kxj03
  ssh-copy-id kxj04
  ssh-copy-id kxj05
  ssh-copy-id kxj06
  2.4将配置好的hadoop拷贝到其他节点
  scp -r /kxj/hadoop-2.4.1/ root@kxj02:/kxj/
  scp -r /kxj/hadoop-2.4.1/ root@kxj03:/kxj/
  scp -r /kxj/hadoop-2.4.1/ root@kxj04:/kxj/
  scp -r /kxj/hadoop-2.4.1/ root@kxj05:/kxj/
  scp -r /kxj/hadoop-2.4.1/ root@kxj06:/kxj/
  2.5在节点kxj04、kxj05、kxj06启动zookeeper集群
  cd /kxj/zookeeper-3.4.5/bin/
  ./zkServer.sh start
  都启动后查看状态:一个leader,两个follower
  ./zkServer.sh status
  2.6启动journalnode(在kxj01上启动所有journalnode)
  cd /kxj/hadoop-2.4.1
  sbin/hadoop-daemons.sh start journalnode
  ps命令查看进程,kxj04、kxj05、kxj06上多了JournalNode进程
  2.7格式化HDFS
  在kxj01上执行命令:
  hdfs namenode -format
  格式化后会在根据core-site.xml中的hadoop.tmp.dir配置生成个文件,这里我配置的是/kxj/hadoop-2.4.1/tmp,然后将/kxj/hadoop-2.4.1/tmp拷贝到kxj02的/kxj/hadoop-2.4.1/下:
  scp -r tmp/ kxj02:/kxj/hadoop-2.4.1/
  2.8格式化ZK(在kxj01上执行即可)
  hdfs zkfc -formatZK
  2.9启动HDFS(在kxj01上执行)
  sbin/start-dfs.sh
  2.10启动YARN
  在kxj03上执行start-yarn.sh:
  sbin/start-yarn.sh
  在kxj04上执行单独启动命令:
  sbin/yarn-daemon.sh start ResourceManager
  到此,hadoop2.4.1配置完毕,可以统过浏览器访问(图片界面略):
  http://192.168.8.101:50070
  NameNode 'kxj01:9000' (active)
  http://192.168.8.102:50070
  NameNode 'kxj02:9000' (standby)
  YARN ResourceManager查看
  http://192.168.8.103:8088 (active)
  http://192.168.8.104:8088 (standby 状态,不会进入页面,提示后跳转到103界面)
  验证HDFS HA
  首先向hdfs上传一个文件,然后查看:
  hadoop fs -put /etc/profile /profile
  hadoop fs -ls /
  然后再kill掉active的NameNode:
  kill -9 进程号
  通过浏览器访问:http://192.168.8.102:50070
  NameNode 'kxj02:9000' (active)
  此时kxj02上的NameNode变成了active
  在执行命令:
  hadoop fs -ls /
  -rw-r--r--   3 root supergroup       1926 2018-05-31 15:36 /profile
  刚才上传的文件依然存在!!!
  手动启动那个挂掉的NameNode
  sbin/hadoop-daemon.sh start namenode
  通过浏览器访问:http://192.168.8.101:50070
  NameNode 'kxj01:9000' (standby)
  验证YARN:
  运行一下hadoop提供的单词统计程序(或者计算PI程序):
  hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount /profile /out
  到此,一个高可用的Hadoop集群已搭建完成,后续会继续搭建一些其他组件,谢谢!


运维网声明 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-627500-1-1.html 上篇帖子: 怎么在Hadoop集群中新增ElasticSearch操作和Hadoop插件使用 下篇帖子: Hadoop二次开发项目案例方案汇总
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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