首页 > 代码库 > HBase集群变更zookeeper问题
HBase集群变更zookeeper问题
在用华为的hindex-0.94.8时,出现HMaster启动后很短时间内自动关闭的情况,网上查询说是zookeeper的原因,在万般整修无果舍弃了其内部自带的zookeeper集群,自己安装了zookeeper-3.4.6重启后可以正常使用集群。但是出现一个问题,之前的HBase数据库中的表可以显示但是其中的数据在客户端查询的时候出现org.apache.hadoop.hbase.NotServingRegionException:的错误,网上查询资料得知HBase访问流程如下:
- 客户端client 首先连接到ZooKeeper 这是就要先查找-ROOT-的位置。
- 然后client通过-ROOT- 获取所请求行所在范围 所属的.META.region的位置。
- client接着查找.META.region来获取user-space region 所在的节点和位置。
- 接着client 就可以直接和管理者那个region的RegionServer 进行交互。
所以说zookeeper中有HBase集群数据库中关于表的相关信息。于是尝试了两种方法恢复原来表的配置信息:(1)将hbase的zookeeper目录下的文件全都删除掉,然后再重启hbase服务。(2)将原来zookeeper集群下的内容除myid文件外均复制到现有的zookeeper-3.4.6-data下对应的文件夹中。重新启动zookeeper集群,启动hbase集群,均以失败结束!!!
总之zookeeper集群改变后找不到原来的配置信息,故原来的数据不能再用。
参考资料:http://www.51studyit.com/html/notes/20140618/784.html
http://www.aboutyun.com/blog-61-152.html
http://houyongjiao.gotoip4.com/thread-10942-1-1.html
HBase集群变更zookeeper问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。