CDH zookeeper 问题处理

Maximum Request Latency

CDH zookeeper报警: Maximum Request Latency

存在隐患 : 请求延迟最大值:32,264。会话超时最大值:40,000。会话超时百分比:80.66%。 警告阈值:75.00%。

这是CDH的健康值检查,检查项为ZOOKEEPER_SERVER_MAX_LATENCY

查看日志/var/log/zookeeper/

fsync-ing the write ahead log in SyncThread:5 took 2433ms which will adversely effect operation latency. 

这是报警,不是错误,不影响程序运行; 但还是要处理的;

登录报警主机:

$echo stat | nc localhost 2185
Clients:
 /127.0.0.1:63686[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/8/32264
Received: 78146
Sent: 85285
Connections: 1
Outstanding: 0
Zxid: 0xc0001111
Mode: follower
Node count: 40

可以看到Latency max 值为32264,这是客户端请求zookeeper服务时等待返回响应的延时;与"会话超时最大值"值40,000的比超过75%就会报警.
参见Zookeeper 要避免的事,可知zookeeper服务返回响应前,会将事务日志写入存储介质;
可知问题实质是将事务日志写入介质慢导致的;这也是zookeeper日志写得原因;

因此处理方法为:

  1. 如果是临时现象,重置统计信息
$ echo srst | nc localhost 2185
  1. 如果长期的现象,则要将事务日志的目录,移到更快的硬盘上;
### CDHZooKeeper 启动失败解决方案 当遇到CDH中的ZooKeeper无法启动的情况时,可以按照以下方法进行排查和修复。 #### 1. 停止现有进程并清理环境 如果之前尝试过手动启动或停止ZooKeeper服务,则可能存在残留的进程影响正常运行。建议先通过命令`ps aux | grep zookeeper`查找是否有未关闭的相关进程,并使用`kill -9 PID`强制终止这些进程[^2]。 #### 2. 检查环境变量设置 确认所有节点上的Java环境变量已正确配置,特别是JAVA_HOME路径指向的是有效的JDK版本;同时也要确保CLASSPATH和其他必要的环境参数都已被适当设定。 #### 3. 关闭防火墙和服务端口冲突检测 临时禁用服务器的操作系统自带防火墙(如iptables),以排除网络层面可能存在的干扰因素。另外还需核查是否存在其他应用程序占用了ZooKeeper默认监听端口(通常是2181),可通过netstat工具查看开放端口情况。 #### 4. 校验配置文件准确性 重点审查以下几个方面: - `zoo.cfg`: 确认ensemble成员列表(myid对应关系)无误; - 数据目录权限:保证指定的数据存储位置具有足够的读写权限; - 日志级别调整:适当降低log4j的日志等级有助于更清晰地观察错误提示信息。 #### 5. 查看启动日志分析异常原因 位于`/path/to/zookeeper/bin`目录下的`zookeeper.out`记录了每次执行期间产生的输出流内容,仔细阅读其中的关键字可以帮助定位具体问题所在。例如内存溢出、磁盘空间不足等问题均会在该文件中有相应体现。 #### 6. 执行恢复操作 等待ZooKeeper服务恢复正常之后再依次重启CDH集群内的NameNode节点以及DolphinScheduler等相关组件来验证整体架构是否已经完全回到稳定状态[^1]。 ```bash # 示例:检查正在运行的服务及其占用资源状况 sudo netstat -tulnp | grep java ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值