• 大数据平台迁移后yarn连接zookeeper 异常分析


    大数据平台迁移后yarn连接zookeeper 异常分析

    XX保险HDP大数据平台机房迁移异常分析。
    异常现象:

    1. 机房迁移后大部分组件都能正常启动
    2. Yarn 启动后8088 8042等端口无法访问
    3. Hive spark 作业提交到yarn会出现卡死。
      【备注】虽然迁移,但IP不变。

    1. Yarn连接zookeeper 日志报错

    问题分析:

    1. yarn 6000毫秒内无法活动连接到活跃的zookeeper服务
    2. hdfs hive kafka等组件正常启动

    2. Zookeeper 客户端查看zookeeper正常

    问题分析:
    1.zookeeper数据存在并正常显示。

    3. Zookeeper 中出现错误日志

    2023-09-09 11:36:30,009 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@222] - Accepted socket connection from /xx.xx.xx.xx:57070
    
    2023-09-09 11:36:30,009 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@908] - Processing ruok command from /xx.xx.xx.xx:57070
    
    2023-09-09 11:36:30,010 - INFO [Thread-178:NIOServerCnxn@1056] - Closed socket connection for client /xx.xx.xx.xx:57070 (no session established for client)
    
    2023-09-09 11:37:29,900 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@222] - Accepted socket connection from /xx.xx.xx.xx:59114
    
    2023-09-09 11:37:29,901 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@908] - Processing ruok command from /xx.xx.xx.xx:59114
    
    2023-09-09 11:37:29,902 - INFO [Thread-179:NIOServerCnxn@1056] - Closed socket connection for client /xx.xx.xx.xx:59114 (no session established for client)
    
    2023-09-09 11:38:29,954 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@222] - Accepted socket connection from /xx.xx.xx.xx:32994
    
    2023-09-09 11:38:29,955 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@908] - Processing ruok command from /xx.xx.xx.xx:32994
    
    2023-09-09 11:38:29,956 - INFO [Thread-180:NIOServerCnxn@1056] - Closed socket connection for client /xx.xx.xx.xx:32994 (no session established for client)
    
    2023-09-09 11:39:30,008 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@222] - Accepted socket connection from /xx.xx.xx.xx:35090
    
    2023-09-09 11:39:30,008 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@908] - Processing ruok command from /xx.xx.xx.xx:35090
    
    2023-09-09 11:39:30,009 - INFO [Thread-181:NIOServerCnxn@1056] - Closed socket connection for client /xx.xx.xx.xx:35090 (no session established for client)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    4. 重装yarn服务,仍然报错

    由于大数据集群众多组件都会连接zookeeper集群并且数据存放其中,我们选择重装yarn 组件 报错没有任何变化(强制卸载

    • yarn:
    rpm -e hadoop_3_1_5_0_152-yarn-3.1.1.3.1.5.0-152.x86_64 
    hadoop_3_1_5_0_152-yarn-resourcemanager-3.1.1.3.1.5.0-152.x86_64 –nodeps 
    手动安装yarn: 
    yum install -y hadoop_3_1_5_0_152-yarn hadoop_3_1_5_0_152-yarn-resourcemanager
    
    • 1
    • 2
    • 3
    • 4

    其中hive spark tez Zeppelin 对yarn有依赖,可先在管理页面进行增删操作即可)

    5. 手动删除zookeeper 中存放yarn集群数据后集群没有自动创建新的选举信息数据,手动创建集群无法识别

    6. 分析

    分析:zookeeper中缺少正确yarn集群数据信息,手动创建失效,由此可以确认zookeeper data数据出现异常。导致的可能性原因:①可能是在迁移过程中,yarn的组件ResourceManager 和 NodeManager的相关集群信息写入到zk未来得及持久化。②迁移时候服务未完全停止,导致yarn的核心组件RM和NM在zk上的数据文件受损。③新集群环境下,yarn与zookeeper的配置可能有不适配的情况。④网络异常导致的。等等

    1)问题分析一

    YARN 包含两个主要组件:ResourceManager 和 NodeManager。

    在 YARN 中,ResourceManager 负责管理整个集群的资源分配和任务调度,NodeManager 则运行在各个工作节点上,负责启动、监视和停止应用程序的任务。

    • 当 ResourceManager 和 NodeManager 启动时,它们会向 ZooKeeper 写入以下信息:
    1. ResourceManager:ResourceManager 启动时,会向 ZooKeeper 写入有关活跃和非活跃 NM(NodeManager)节点列表、当前活跃集群管理员的信息以及正在处理的应用程序的列表信息。这些信息具体包括:为每个NM分配的容器数量、当前可用资源池的状态以及集群的全局配置。

    2. NodeManager:NodeManager 启动时,会向 ZooKeeper 写入自己的身份信息和集群中其他的 NM 节点信息。它还会向 ZooKeeper 注册自己的地址、端口、该节点的状态等信息。此外,NodeManager 定期向 ZooKeeper 发送心跳消息来更新其状态信息,以便 ResourceManager 可以根据需要重新分配集群中的资源。

    ​ 通过向 ZooKeeper 写入这些信息,ResourceManager 和 NodeManager 可以协调和管理集群中的各个组件,实现高可用性、容错性以及资源的正常调度。同时,这些信息也可以帮助管理员和开发人员更好地监视和管理 YARN 集群。

    请注意,具体写入 ZooKeeper 的信息和路径可能会根据 YARN 的版本和配置有所不同。要了解更详细的信息,建议查阅您使用的 YARN 版本的官方文档和相关配置文件。

    YARN 中 ResourceManager 和 NodeManager 向 ZooKeeper 写入的信息通常是存储在持久化节点上的,而不是普通节点。

    持久化节点是指在 ZooKeeper 上创建的节点,其数据将被持久地保存在磁盘上,即使在节点断开连接或重启后也不会丢失。这种类型的节点适用于存储较为重要且需要长期保存的数据。

    对于 YARN 中的信息,如 ResourceManager 的活跃和非活跃 NM 节点列表、当前活跃集群管理员的信息以及正在处理的应用程序列表等,这些数据通常被写入到持久化节点中。这样做的目的是确保即使在出现故障或重启后,这些关键信息仍然可以被恢复和使用。

    相反,普通节点是指在 ZooKeeper 上创建的临时节点,其数据在节点断开连接后会被自动删除。普通节点适合存储临时性的或与会话相关的数据。

    总的来说,YARN 中的关键信息通常会被写入到持久化节点中,以确保数据的持久性和可靠性。

    2)问题分析二

    ​ 如果在机房搬迁过程中只是更改了物理位置,而 IP 地址保持不变,一般情况下对于 YARN 和 ZooKeeper 的影响是很小的。这是因为 YARN 和 ZooKeeper 主要依赖的是 IP 地址来进行通信和交互,并且它们的配置通常是基于 IP 地址进行设置的。

    只要确保在机房搬迁后网络连接和路由设置正确,并且将相同的 IP 地址分配给 YARN 和 ZooKeeper 组件,它们应该能够正常工作。这意味着 YARN ResourceManager、NodeManager 以及 ZooKeeper 的集群节点都需要能够通过新的网络环境找到彼此的 IP 地址。

    但是需要注意的是,在搬迁过程中可能会发生其他因素导致的问题。例如,搬迁过程中出现的硬件故障、网络配置错误、防火墙问题等都可能会对 YARN 和 ZooKeeper 的正常运行产生影响。因此,在机房搬迁后,仍然需要进行仔细的测试和验证,确保所有组件能够正常通信和工作。

    总体而言,如果 IP 地址保持不变,并且在机房搬迁后适当地调整网络配置和路由信息,YARN 和 ZooKeeper 应该能够恢复正常运行。如有需要,请在搬迁过程中密切关注相关日志和错误消息,以及确保所有的配置与新的环境相匹配。

    7. 解决方案:

    1. 备份zookeeper后删除zookeeper 中data数据文件version-2 ,重启后重新接入大数据集群恢复正常!

    结论:由于本次机房迁移过程中出现数据文件异常所致。

  • 相关阅读:
    Android相机调用-libusbCamera【外接摄像头】【USB摄像头】 【多摄像头预览】
    Windows11 python3.12 安装pyqt6 pyqt6-tools
    vue3 computed 和 watch 的差异
    《最新出炉》系列初窥篇-Python+Playwright自动化测试-34-处理https 安全问题或者非信任站点-下篇
    git你学“废”了吗?——git本地仓库的创建
    VMware安装ubuntu之后共享文件夹不能显示的问题
    Go语言结构体
    【OSTEP】分页: 快速地址转换(TLB) | TLB命中处理 | ASID 与页共享 | TLB替换策略: LRU策略与随机策略 | Culler定律
    国王游戏NOIP
    VMware _ Ubuntu _ root 密码是什么,怎么进入 root 账户
  • 原文地址:https://blog.csdn.net/m0_46168848/article/details/132823807