当前位置:   article > 正文

Hadoop HA-hadoop完全分布式高可用集群配置、高可用集群启动方式、master/slave1/slave2配置_ha高可用部署

ha高可用部署

Hadoop HA安装部署

         本文章使用root用户完成相关配置与启动、这里分为master、slave1、slave2进行配置

        一、将hadoop解压至需要的目录下

         二、配置hadoop-env.sh启动文件

  1. export JAVA_HOME=/opt/module/jdk1.8.0_212
  2. //设置JDK路径
  3. export HDFS_NAMENODE_USER=root
  4. export HDFS_DATANODE_USER=root
  5. export HDFS_SECONDARYNAMENODE_USER=root
  6. export YARN_RESOURCEMANAGER_USER=root
  7. export YARN_NODEMANAGER_USER=root
  8. export HDFS_ZKFC_USER=root
  9. //配置root用户权限(不配置将无法启动对应的进程)

        三、配置hdfs-site.xml文件

  1. <property>
  2. <name>dfs.nameservices</name>
  3. <value>hadoopcluster</value>
  4. </property>
  5. <!-- namenode存储目录 -->
  6. <property>
  7. <name>dfs.namenode.name.dir</name>
  8. <value>/opt/module/hadoop-2.7.7/namenode</value>
  9. </property>
  10. <!-- datanode存储目录 -->
  11. <property>
  12. <name>dfs.datanode.data.dir</name>
  13. <value>/opt/module/hadoop-2.7.7/datanode</value>
  14. </property>
  15. <property>
  16. <name>dfs.ha.namenodes.hadoopcluster</name>
  17. <value>nn1,nn2</value>
  18. </property>
  19. <!-- 指定namenode1 -->
  20. <property>
  21. <name>dfs.namenode.rpc-address.hadoopcluster.nn1</name>
  22. <value>master:9000</value>
  23. </property>
  24. <!-- 指定namenode2 -->
  25. <property>
  26. <name>dfs.namenode.rpc-address.hadoopcluster.nn2</name>
  27. <value>slave1:9000</value>
  28. </property>
  29. <property>
  30. <name>dfs.namenode.http-address.hadoopcluster.nn1</name>
  31. <value>master:50070</value>
  32. </property>
  33. <property>
  34. <name>dfs.namenode.http-address.hadoopcluster.nn2</name>
  35. <value>slave1:50070</value>
  36. </property>
  37. <property>
  38. <name>dfs.namenode.shared.edits.dir</name>
  39. <value>
  40. qjournal://master:8485;slave1:8485;slave2:8485/lagou
  41. </value>
  42. </property>
  43. <property>
  44. <name>dfs.ha.fencing.methods</name>
  45. <value>sshfence</value>
  46. </property>
  47. <property>
  48. <name>dfs.ha.fencing.ssh.private-key-files</name>
  49. <value>/root/.ssh/id_rsa</value>
  50. </property>
  51. <property>
  52. <name>dfs.journalnode.edits.dir</name>
  53. <value>/opt/module/hadoop-2.7.7/journalnode</value>
  54. </property>
  55. <property>
  56. <name>dfs.ha.automatic-failover.enabled</name>
  57. <value>true</value>
  58. </property>

        四、配置core-site.xml文件

  1. <property>
  2. <name>fs.defaultFS</name>
  3. <value>hdfs://hadoopcluster</value>
  4. </property>
  5. <property>
  6. <name>hadoop.tmp.dir</name>
  7. <value>/opt/module/hadoop-2.7.7/tmp</value>
  8. </property>
  9. <property>
  10. <name>ha.zookeeper.quorum</name>
  11. <value>master:2181,slave1:2181,slave2:2181</value>
  12. </property>

        五、配置yarn-site.xml文件

  1. <property>
  2. <name>yarn.nodemanager.aux-services</name>
  3. <value>mapreduce_shuffle</value>
  4. </property>
  5. <!--启⽤resourcemanager ha-->
  6. <property>
  7. <name>yarn.resourcemanager.ha.enabled</name>
  8. <value>true</value>
  9. </property>
  10. <!--声明两台resourcemanager的地址-->
  11. <property>
  12. <name>yarn.resourcemanager.cluster-id</name>
  13. <value>cluster-yarn</value>
  14. </property>
  15. <property>
  16. <name>yarn.resourcemanager.ha.rm-ids</name>
  17. <value>rm1,rm2</value>
  18. </property>
  19. <property>
  20. <name>yarn.resourcemanager.hostname.rm1</name>
  21. <value>master</value>
  22. </property>
  23. <property>
  24. <name>yarn.resourcemanager.hostname.rm2</name>
  25. <value>slave1</value>
  26. </property>
  27. <!--指定zookeeper集群的地址-->
  28. <property>
  29. <name>yarn.resourcemanager.zk-address</name>
  30. <value>master:2181,slave1:2181,slave2:2181</value>
  31. </property>

        六、分发至slave1、slave2

        配置完成后,将hadoop配置文件分发至slave1、slave2,这里需要配置ssh免密登入,通过scp进行分发。详细见本栏目文章。

        七、启动

                1、启动zookeeper

                在zookeeper目录下启动,zookeeper配置请见本人主页分栏。

./bin/zkServer.sh start

                2、启动journalnode

                JournalNode是Hadoop集群中的一个组件,用于维护HDFS的命名空间和事务日志。它通常作为HDFS高可用性功能的一部分,在NameNode和DataNode之间提供一个分布式共享的存储介质,以确保在节点失效时能够快速进行故障切换。

hadoop-daemon.sh start journalnode

                3、初始化namenode、ZKfc

                如果已经运行过请删除hadoop目录下的logs、datanode、namenode的存储目录

  1. hdfs namenode -format
  2. //初始化namenode
  3. hdfs zkfc -formatZK
  4. //初始化zkfc

               4、slave1上同步namenode

先启动master上的namenode

hadoop-daemon.sh start namenode

  1. //在slave1上输入同步namenode
  2. hdfs namenode -bootstrapStandby

                 5、启动集群

start-all.sh

 该命令需要配置hadoop的全局环境

        八、查看三台机子jps进程情况

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/421834
推荐阅读
相关标签
  

闽ICP备14008679号