救命啊,启动后特定机器无法加载region导致迁移给其他机器

查看数: 14586 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-5-16 16:02

正文摘要:

本帖最后由 evababy 于 2019-5-16 16:14 编辑 hbase1.4.9 从0.98.12升级过来的的,测试环境下启动后,不一定都失败,大概几率70%左右。 固定的3号机无法加载regtion,且启动过程极慢,启动成功后数据被其他机器 ...

回复

s060403072 发表于 2019-5-18 11:06:01
evababy 发表于 2019-5-17 16:20
https://issues.apache.org/jira/browse/HBASE-22439

登录后突然弹出选择中文界面。。。那就用中文描述 ...

没有呀,弯路也是路呀。最起码对问题认识清楚了。
evababy 发表于 2019-5-17 16:20:52
https://issues.apache.org/jira/browse/HBASE-22439

登录后突然弹出选择中文界面。。。那就用中文描述喽,结果被鄙视,那这问题就不算问了。。。。

每次启动貌似做了一次不那么严禁的balancer,可能导致分配不均,貌似管理命令还没有提供全局的balancer吧,幸亏之前用spark写的全部表执行一次balancer,话说 重启就可能执行一次  balancer  也太扯淡了吧!!

还有0.98.X 重启并没有重新分配region吧? 以前真没有注意这个问题,测试环境已经升级到1.4.9了,一会拿正式环境重启一下做测试!!!
evababy 发表于 2019-5-17 14:09:00
他大爷的,吧日志级别改成debug后,测试重启20几次没出现region=0的情况,但是4台机器的数量稍有变化,不是上一次停机的数量!!!难道每次启动都做动平衡吗?
evababy 发表于 2019-5-17 11:42:57
多谢。

继续查问题:记录了几次日志情况,省略其他启动完全一致的日志后差异部分:
1号机器:
第一次错误:Current list of replicators: [gladslave4,16020,1557999537694, gladslave1,16020,1557999537835, gladslave2,16020,1557999537309] other RSs: [gladslave4,16020,1557999537694, gladslave1,16020,1557999537835, gladslave2,16020,1557999537309]
第二次错误:Current list of replicators: [gladslave2,16020,1558057202848, gladslave4,16020,1558057202931, gladslave1,16020,1558057203494] other RSs: [gladslave2,16020,1558057202848, gladslave4,16020,1558057202931, gladslave1,16020,1558057203494]
第三次正确:Current list of replicators: [gladslave1,16020,1558058594158] other RSs: [gladslave1,16020,1558058594158]
第四次正确:Current list of replicators: [gladslave2,16020,1558063128559, gladslave1,16020,1558063128846] other RSs: [gladslave1,16020,1558063128846, gladslave2,16020,1558063128559]

2号机器:
第一次错误:Current list of replicators: [gladslave2,16020,1557999537309] other RSs: [gladslave2,16020,1557999537309]
第二次错误:Current list of replicators: [gladslave2,16020,1558057202848, gladslave4,16020,1558057202931] other RSs: [gladslave2,16020,1558057202848, gladslave4,16020,1558057202931]
第三次正确:Current list of replicators: [gladslave1,16020,1558058594158, gladslave2,16020,1558058594912] other RSs: [gladslave1,16020,1558058594158, gladslave2,16020,1558058594912]
第四次正确:Current list of replicators: [gladslave2,16020,1558063128559] other RSs: [gladslave2,16020,1558063128559]

3号机器(问题机):
第一次错误:Current list of replicators: [gladslave4,16020,1557999537694, gladslave1,16020,1557999537835, gladslave3,16020,1557999539916, gladslave2,16020,1557999537309] other RSs: [gladslave4,16020,1557999537694, gladslave1,16020,1557999537835, gladslave3,16020,1557999539916, gladslave2,16020,1557999537309]
第二次错误:Current list of replicators: [gladslave2,16020,1558057202848, gladslave4,16020,1558057202931, gladslave1,16020,1558057203494, gladslave3,16020,1558057204781] other RSs: [gladslave2,16020,1558057202848, gladslave4,16020,1558057202931, gladslave1,16020,1558057203494, gladslave3,16020,1558057204781]
第三次正确:Current list of replicators: [gladslave4,16020,1558058595950, gladslave1,16020,1558058594158, gladslave2,16020,1558058594912, gladslave3,16020,1558058596843] other RSs: [gladslave4,16020,1558058595950, gladslave1,16020,1558058594158, gladslave2,16020,1558058594912, gladslave3,16020,1558058596843]
第四次正确:Current list of replicators: [gladslave2,16020,1558063128559, gladslave4,16020,1558063130892, gladslave3,16020,1558063131092, gladslave1,16020,1558063128846] other RSs: [gladslave1,16020,1558063128846, gladslave2,16020,1558063128559, gladslave4,16020,1558063130892, gladslave3,16020,1558063131092]

4号机器:
第一次错误:Current list of replicators: [gladslave4,16020,1557999537694, gladslave2,16020,1557999537309] other RSs: [gladslave4,16020,1557999537694, gladslave2,16020,1557999537309]
第二次错误:Current list of replicators: [gladslave4,16020,1558057202931] other RSs: [gladslave2,16020,1558057202848, gladslave4,16020,1558057202931]
第三次正确:Current list of replicators: [gladslave4,16020,1558058595950, gladslave1,16020,1558058594158, gladslave2,16020,1558058594912] other RSs: [gladslave4,16020,1558058595950, gladslave1,16020,1558058594158, gladslave2,16020,1558058594912]
第四次正确:Current list of replicators: [gladslave2,16020,1558063128559, gladslave4,16020,1558063130892, gladslave1,16020,1558063128846] other RSs: [gladslave1,16020,1558063128846, gladslave2,16020,1558063128559, gladslave4,16020,1558063130892]


跟源码如下:
[mw_shl_code=java,true]List<String> otherRegionServers = replicationTracker.getListOfRegionServers();
    LOG.info("Current list of replicators: " + currentReplicators + " other RSs: "
        + otherRegionServers);

    // Look if there's anything to process after a restart
    for (String rs : currentReplicators) {
      if (!otherRegionServers.contains(rs)) {
        transferQueues(rs);
      }
    }[/mw_shl_code]
如果 other RSs 不包含Current list of replicators,就复制给Current list of replicators,但是查看问题机的日期,程序并不会执行transferQueues

虽然现在还不理解Current list of replicators 和 other RSs干什么用的,但是发现问题机“gladslave3”从未在 1、2、4号机器日志冲出现。是否可以说明“正常机”没使用过“问题机”做备份?replicators是否可以理解成HDFS的replication?

bioger_hit 发表于 2019-5-17 11:05:04
evababy 发表于 2019-5-17 09:34
disable了一些表,数据量是原来  1/4左右  频繁启动,启动时间在20秒左右,错误几率下降,启动了4次才出现 ...

这个功能可以,起到保护功能。如果还没加载完数据,就各种操作,出问题的可能性非常大。这就相当于未加载完,集群处于受保护状态。
evababy 发表于 2019-5-17 09:14:16
HDFS 数据检查  一切OK
HBASE 数据检查 也OK
磁盘虽然大小不同,但是占用比正常,算是OK
CPU 一位数 也OK
内存  有足够的剩余内存,也OK
网络 全部1000M 实则传输速率108M,也OK

我就不相信了,查不出问题。
evababy 发表于 2019-5-17 09:08:13

hbase没有错误,感觉有点像启动时感知这台机器总资源少,所以就特意歇菜了,直接吧数据分给个其他机器加载。
只能继续查,不敢往正式上。


bioger_hit 发表于 2019-5-17 09:00:33
evababy 发表于 2019-5-17 08:56
HDFS没有配置Quota,不过这台机器磁盘是500G  其他机器是1T的,数据总部平衡,特意手动平衡过数据。


...

这没什么问题的

1.png
你可以看他们的剩余空间,其实都是一样的。
500G机器,可能有其他大量的数据。

关闭

推荐上一条 /2 下一条