hregionserver挂死,日志出现Session expired异常排查

1、使用vmstat 1 命令查看si so两个swap列,确认没有发生交换,1代表每秒打印一次
2、使用jstat -gcutil pid 1000 查看fgct列,确认regionserver没有发生长时间gc暂停,如果gc时间超过zookeeper的连接最大超时时间则会导致hbase挂掉

hbase中和GC相关的参数:

(默认):

export HBASE_OPTS="$HBASE_OPTS -ea -verbose:gc -Xloggc:$HBASE_LOG_DIR/hbase.gc.log -XX:ErrorFile=$HBASE_LOG_DIR/hs_err_pid.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"

修改后:

export HBASE_OPTS="$HBASE_OPTS -verbose:gc -Xloggc:$HBASE_LOG_DIR/hbase.gc.log -XX:ErrorFile=$HBASE_LOG_DIR/hs_err_pid.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=70"

3、使用top命令查看regionserver是否有充足的cpu资源,mapreduce会占用很多cpu,可以减少mapreduce任务数
4、加大zookeeper会话超时时间,编辑hbase-site.xml文件,添加下面的属性
<property>
     <name>zookeeper.session.timeout</name>
     <value>120000</value>
</property>
5、加大zookeeper会话最大超时时间编辑zoo.cfg 提高MaxSessionTimeout=120000,修改后重启zookeeper。
zookeeper的超时时间不要设置太大,在服务挂掉的情况下,会反映很慢。

### 回答1: 这个报错意味着Hadoop的hmaster节点失去了和Zookeeper的连接,通常是由于Zookeepersession超时导致的。这个错误的解决方法包括以下步骤: 1. 确认Zookeeper是否正常运行,如果Zookeeper出现问题了,需要先修复Zookeeper。 2. 检查hmaster节点的日志,查看是否有其他异常或错误信息。有可能是其他原因导致的,比如网络故障等。 3. 如果确认是Zookeeper session超时导致的,可以通过修改Hadoop配置文件来增加Zookeeper session的超时时间。 4. 可以尝试重启Hadoop集群来解决这个问题,但如果问题持续存在,需要进一步排查并修复。 总之,这个问题的根本原因是hmaster节点和Zookeeper的连接断开,需要找到具体原因并进行相应的处理。 ### 回答2: Hadoop的hmaster节点异常退出并报错为"zookeeper session expired",这通常是由于与Zookeeper的会话过期导致的。 Hadoop是一个分布式计算系统,其中的hmaster节点负责管理整个Hadoop集群的状态信息和元数据。而Zookeeper是Hadoop集群中的一个分布式协调服务,用于维护集群的整体状态。hmaster节点与Zookeeper建立会话来获取集群状态和维护一致性。 当hmaster节点与Zookeeper的会话过期时,意味着hmaster节点与Zookeeper之间的连接丢失,导致无法正常获取集群状态和协调。造成会话过期的原因可能有以下几个: 1. 网络问题:hmaster节点与Zookeeper之间的网络连接不稳定或中断,导致会话超时。 2. 负载过高:如果hmaster节点上的负载过高,处理Zookeeper请求的能力不足,可能会导致会话过期。 3. 时钟同步问题:hmaster节点与Zookeeper之间的时钟不同步,可能导致会话超时。因为Zookeeper会依赖节点间时钟的一致性来判断会话是否过期。 当hmaster节点发现与Zookeeper的会话过期时,可能会触发一些后续动作来应对这个问题。例如,重新建立与Zookeeper的连接来恢复会话,或者触发自动故障切换机制,将hmaster角色切换到其他可用节点上。 为了解决这个问题,可以考虑以下措施: 1. 检查网络连接:确保hmaster节点与Zookeeper之间的网络连接正常,并保持稳定。 2. 资源调整:如果hmaster节点上的负载过高,可以考虑增加节点的计算资源,以提高处理能力。 3. 时钟同步:确保hmaster节点与Zookeeper之间的时钟同步,避免会话因时钟不同步而过期。 总之,当Hadoop的hmaster节点异常退出并报错为"zookeeper session expired"时,需要检查网络连接、负载以及时钟同步等因素,以解决会话过期的问题并确保集群的正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值