大数据平台迁移后yarn连接zookeeper 异常分析
大数据平台迁移后yarn连接zookeeper 异常分析
XX保险HDP大数据平台机房迁移异常分析。
异常现象:
- 机房迁移后大部分组件都能正常启动
- Yarn 启动后8088 8042等端口无法访问
- Hive spark 作业提交到yarn会出现卡死。
【备注】虽然迁移,但IP不变。
1. Yarn连接zookeeper 日志报错
问题分析:
- yarn 6000毫秒内无法活动连接到活跃的zookeeper服务
- 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:570702023-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:570702023-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:591142023-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:591142023-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:329942023-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:329942023-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:350902023-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:350902023-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)
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
其中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 写入以下信息:
-
ResourceManager:ResourceManager 启动时,会向 ZooKeeper 写入有关活跃和非活跃 NM(NodeManager)节点列表、当前活跃集群管理员的信息以及正在处理的应用程序的列表信息。这些信息具体包括:为每个NM分配的容器数量、当前可用资源池的状态以及集群的全局配置。
-
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. 解决方案:
- 备份zookeeper后删除zookeeper 中data数据文件version-2 ,重启后重新接入大数据集群恢复正常!
结论:由于本次机房迁移过程中出现数据文件异常所致。
相关文章:
大数据平台迁移后yarn连接zookeeper 异常分析
大数据平台迁移后yarn连接zookeeper 异常分析 XX保险HDP大数据平台机房迁移异常分析。 异常现象: 机房迁移后大部分组件都能正常启动Yarn 启动后8088 8042等端口无法访问Hive spark 作业提交到yarn会出现卡死。 【备注】虽然迁移,但IP不变。 1. Yarn连…...
Ubuntu Nginx 配置 SSL 证书
首先需要在 Ubuntu 中安装 Nginx 服务, 打开终端执行以下命令: $ sudo apt update $ sudo apt install nginx -y然后启动 Nginx 服务并设置为开机时自动启动, 执行以下命令: $ sudo systemctl start nginx $ sudo systemctl enable nginx最后再验证一下 Nginx 服务的当前状态…...

将本地前端工程中的npm依赖上传到Nexus
【问题背景】 用Nexus搭建了内网的依赖仓库,需要将前端工程中node_modules中的依赖上传到Nexus上,但是node_modules中的依赖已经是解压后的状态,如果直接机械地将其简单地打包上传到Nexus,那么无法通过npm install下载使用。故有…...

软考高级架构师下篇-16通信系统架构设计理论与实践
目录 1. 引言2. 通信系统网络架构3. 网络构建关键技术4. 网络构建5. 前文回顾1. 引言 此章节主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本节知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中…...

国庆中秋特辑(二)浪漫祝福方式 使用生成对抗网络(GAN)生成具有节日氛围的画作
要用人工智能技术来庆祝国庆中秋,我们可以使用生成对抗网络(GAN)生成具有节日氛围的画作。这里将使用深度学习框架 TensorFlow 和 Keras 来实现。 一、生成对抗网络(GAN) 生成对抗网络(GANs,…...
stm32 串口发送和接收
串口发送 #include "stm32f10x.h" // Device header #include <stdio.h> #include <stdarg.h>//初始化串口 void Serial_Init() {//开启时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Pe…...
Vite + Vue3 实现前端项目工程化
通过官方脚手架初始化项目 第一种方式,这是使用vite命令创建,这种方式除了可以创建vue项目,还可以创建其他类型的项目,比如react项目 npm init vitelatest 第二种方式,这种方式是vite专门为vue做的配置,…...
Java动态代理Aop的好处
1. 预备知识-动态代理 1.1 什么是动态代理 动态代理利用Java的反射技术(Java Reflection)生成字节码,在运行时创建一个实现某些给定接口的新类(也称"动态代理类")及其实例。 1.2 动态代理的优势 动态代理的优势是实现无侵入式的代…...

各种存储性能瓶颈如何分析与优化?
【摘要】本文结合实践剖析存储系统的架构及运行原理,深入分析各种存储性能瓶颈场景,并提出相应的性能优化手段,希望对同行有一定的借鉴和参考价值。 【作者】陈萍春,现就职于保险行业,拥有多年的系统、存储以及数据备…...

Android StateFlow初探
Android StateFlow初探 前言: 最近在学习StateFlow,感觉很好用,也很神奇,于是记录了一下. 1.简介: StateFlow 是一个状态容器式可观察数据流,可以向其收集器发出当前状态更新和新状态更新。还可通过其 …...

Docker Compose初使用
简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(cont…...

测试与FastAPI应用数据之间的差异
【squids.cn】 全网zui低价RDS,免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 当使用两个不同的异步会话来测试FastAPI应用程序与数据库的连接时,可能会出现以下错误: 在测试中,在数据库中创建了一个对象&#x…...

WebStorm 2023年下载、安装教程、亲测有效
文章目录 简介安装步骤常用快捷键 简介 WebStorm 是JetBrains公司旗下一款JavaScript 开发工具。已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的…...
k8s储存卷
卷的类型 In-Tree存储卷插件 ◼ 临时存储卷 ◆emptyDir ◼ 节点本地存储卷 ◆hostPath, local ◼ 网络存储卷 ◆文件系统:NFS、GlusterFS、CephFS和Cinder ◆块设备:iSCSI、FC、RBD和vSphereVolume ◆存储平台:Quobyte、PortworxVolume、Sto…...

【解决Win】“ 无法打开某exe提示无法成功完成操作,因为文件包含病毒或潜在的垃圾软件“
在下载某个应用程序,打开时出现了“无法成功完成操作因为文件包含病毒或潜在垃圾”的提示,遇到这个情况怎么解决? 下面为大家分享故障原因及具体的处理方法。 故障原因 是由于杀毒 防护等原因引起的。 解决方案 打开Windows 安全中心 选择…...

SpringBoot调用ChatGPT-API实现智能对话
目录 一、说明 二、代码 2.1、对话测试 2.2、单次对话 2.3、连续对话 2.4、AI绘画 一、说明 我们在登录chatgpt官网进行对话是不收费的,但需要魔法。在调用官网的API时,在代码层面上使用,通过API KEY进行对话是收费的,不过刚…...

element-table出现错位解决方法
先看示例图,这个在开发中还是很常遇到的,在table切换不同数据时或者切换页面时,容易出现: 解决方法很简单,官方有提供方法: 我们可以在重新渲染数据后: this.$nextTick(() > {this.$refs.…...

DC电源模块具有不同的安装方式和安全规范
BOSHIDA DC电源模块具有不同的安装方式和安全规范 DC电源模块是将低压直流电转换为需要的输出电压的装置。它们广泛应用于各种领域和行业,如通信、医疗、工业、家用电器等。安装DC电源模块应严格按照相关的安全规范进行,以确保其正常运行和安全使用。 D…...

zabbix自定义监控、钉钉、邮箱报警
目录 一、实验准备 二、安装 三、添加监控对象 四、添加自定义监控项 五、监控mariadb 1、添加模版查看要求 2、安装mariadb、创建用户 3、创建用户文件 4、修改监控模版 5、在上述文件中配置路径 6、重启zabbix-agent验证 六、监控NGINX 1、安装NGINX,…...

短信、邮箱验证码本地可以,部署到服务器接口却不能使用
应对公司双验证要求,对本系统做邮箱、短信验证码登录,本地开发正常发送,到服务器上部署却使用失败,已全部解决,记录坑。 一、nginx拦截 先打开你的服务器 nginx.conf 看看有没有做接口拦截。(本地可能做Sp…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...