• hadoop高可用集群配置


    1、HDFS-HA集群配置 

    Apache Hadoop 3.3.4 – HDFS High Availability Using the Quorum Journal Manager

    1.1、环境准备

    1. 修改IP
    2. 修改主机名及主机名和IP地址的映射
    3. 关闭防火墙
    4. ssh免密登录
    5. 安装JDK,配置环境变量等

    1.2、集群规划

    linux121linux122linux123
    NameNodeNameNode
    JournalNodeJournalNodeJournalNode
    DataNodeDataNodeDataNode
    ZKZKZK
    ResourceManager
    NodeManagerNodeManagerNodeManager

    1.3、NodeManager

    启动zookeeper集群

    zk.sh start

    查看状态

    zk.sh status

    注意:这里的zk.sh是我写的群起脚本命令。

    1.4、配置HDFS-HA集群

    (1)停止原先HDFS集群

    stop-dfs.sh

    (2)在所有节点,/opt/lagou/servers目录下创建一个ha文件夹

    mkdir /opt/lagou/servers/ha

    (3)将/opt/lagou/servers/目录下的 hadoop-2.9.2拷贝到ha目录下

    cp -r hadoop-2.9.2 ha

    (4)删除原集群data目录

    rm -rf /opt/lagou/servers/ha/hadoop-2.9.2/data

    (5)配置hdfs-site.xml(后续配置都要清空原先的配置)

    1. <property>
    2. <name>dfs.nameservicesname>
    3. <value>lagouclustervalue>
    4. property>
    5. <property>
    6. <name>dfs.ha.namenodes.lagouclustername>
    7. <value>nn1,nn2value>
    8. property>
    9. <property>
    10. <name>dfs.namenode.rpc-address.lagoucluster.nn1name>
    11. <value>linux121:9000value>
    12. property>
    13. <property>
    14. <name>dfs.namenode.rpc-address.lagoucluster.nn2name>
    15. <value>linux122:9000value>
    16. property>
    17. <property>
    18. <name>dfs.namenode.http-address.lagoucluster.nn1name>
    19. <value>linux121:50070value>
    20. property>
    21. <property>
    22. <name>dfs.namenode.http-address.lagoucluster.nn2name>
    23. <value>linux122:50070value>
    24. property>
    25. <property>
    26. <name>dfs.namenode.shared.edits.dirname>
    27. <value>qjournal://linux121:8485;linux122:8485;linux123:8485/lagouvalue>
    28. property>
    29. <property>
    30. <name>dfs.client.failover.proxy.provider.lagouclustername>
    31. <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvidervalue>
    32. property>
    33. <property>
    34. <name>dfs.ha.fencing.methodsname>
    35. <value>sshfencevalue>
    36. property>
    37. <property>
    38. <name>dfs.ha.fencing.ssh.private-key-filesname>
    39. <value>/root/.ssh/id_rsavalue>
    40. property>
    41. <property>
    42. <name>dfs.journalnode.edits.dirname>
    43. <value>/opt/journalnodevalue>
    44. property>
    45. <property>
    46. <name>dfs.ha.automatic-failover.enabledname>
    47. <value>truevalue>
    48. property>

    (6)配置core-site.xml

    1. <property>
    2. <name>fs.defaultFSname>
    3. <value>hdfs://lagouclustervalue>
    4. property>
    5. <property>
    6. <name>hadoop.tmp.dirname>
    7. <value>/opt/lagou/servers/ha/hadoop-2.9.2/data/tmpvalue>
    8. property>
    9. <property>
    10. <name>ha.zookeeper.quorumname>
    11. <value>linux121:2181,linux122:2181,linux123:2181value>
    12. property>

    (7)拷贝配置好的hadoop环境到其他节点

    1.5、启动HDFS-HA集群

    (1)在各个JournalNode节点上,输入以下命令启动journalnode服务(去往HA安装目录,不要使用环境变量中命令)

    /opt/lagou/servers/ha/hadoop-2.9.2/sbin/hadoop-daemon.sh start journalnode

    (2)在[nn1]上,对其进行格式化,并启动

    /opt/lagou/servers/ha/hadoop-2.9.2/bin/hdfs namenode -format

    /opt/lagou/servers/ha/hadoop-2.9.2/sbin/hadoop-daemon.sh start namenode

    (3)在[nn2]上,同步nn1的元数据信息

    /opt/lagou/servers/ha/hadoop-2.9.2/bin/hdfs namenode -bootstrapStandby

    (4)在[nn1]上初始化zkfc

    /opt/lagou/servers/ha/hadoop-2.9.2/bin/hdfs zkfc -formatZK

    (5)在[nn1]上,启动集群

    /opt/lagou/servers/ha/hadoop-2.9.2/sbin/start-dfs.sh

    (6)验证

    • 将Active NameNode进程kill
    • kill -9 namenode的进程id

    2、YARN-HA配置

    2.1、YARN-HA工作机制

    官方文档

    Apache Hadoop 3.3.4 – ResourceManager High Availability

    YARN-HA工作机制

    2.2、配置YARN-HA集群

    (1)配置YARN-HA集群

    • 修改IP
    • 修改主机名及主机名和IP地址的映射
    • 关闭防火墙
    • ssh免密登录
    • 安装JDK,配置环境变量等
    • 配置Zookeeper集群

    (2)具体配置

    (3)yarn-site.xml(清空原有内容)

    1. <configuration>
    2. <property>
    3. <name>yarn.nodemanager.aux-servicesname>
    4. <value>mapreduce_shufflevalue>
    5. property>
    6. <property>
    7. <name>yarn.resourcemanager.ha.enabledname>
    8. <value>truevalue>
    9. property>
    10. <property>
    11. <name>yarn.resourcemanager.cluster-idname>
    12. <value>cluster-yarnvalue>
    13. property>
    14. <property>
    15. <name>yarn.resourcemanager.ha.rm-idsname>
    16. <value>rm1,rm2value>
    17. property>
    18. <property>
    19. <name>yarn.resourcemanager.hostname.rm1name>
    20. <value>linux122value>
    21. property>
    22. <property>
    23. <name>yarn.resourcemanager.hostname.rm2name>
    24. <value>linux123value>
    25. property>
    26. <property>
    27. <name>yarn.resourcemanager.zk-addressname>
    28. <value>linux121:2181,linux122:2181,linux123:2181value>
    29. property>
    30. <property>
    31. <name>yarn.resourcemanager.recovery.enabledname>
    32. <value>truevalue>
    33. property>
    34. <property>
    35. <name>yarn.resourcemanager.store.classname>
    36. <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStorevalue>
    37. property>
    38. configuration>

    (4)同步更新其他节点的配置信息

    (5)启动hdfs

    sbin/start-yarn.sh

  • 相关阅读:
    Vue 学习笔记 错误ResizeObserver loop completed with undelivered notifications
    【语音识别】在Win11使用Docker部署FunASR服务器
    Codeforces Round 896 (Div. 1) C. Travel Plan(树形dp+组合数学)
    解决 MyBatis-Plus + PostgreSQL 中的 org.postgresql.util.PSQLException 异常
    LuatOS-SOC接口文档(air780E)-- ftp - ftp 客户端
    努力一周,开源一个超好用的接口Mock工具——Msw-Tools
    Fedora 39(需联网)一键安装 Oracle 19C(19.22)单机版
    集合总结(Java)
    【鸿蒙(HarmonyOS)】UI开发的两种范式:ArkTS、JS(以登录界面开发为例进行对比)
    (5)SpringMVC处理携带JSON格式(“key“:value)请求数据的Ajax请求
  • 原文地址:https://blog.csdn.net/weixin_52851967/article/details/127579751