23.Hbase 故障排错

使用hbase shell 命令登陆,创建一个表

create 'test035','c1','c2'
hbase(main):003:0> put 'test035','1','c1:name','dailiang'
17/12/21 18:17:16 ERROR client.AsyncProcess: Failed to get region location 
org.apache.hadoop.hbase.client.NoServerForRegionException: No server address listed in hbase:meta for region test035,,1513851169227.0f33963c39a5c82c0c1f3d71e5976c27. containing row 1

仔细看一下报错:

17/12/21 18:17:16 ERROR client.AsyncProcess: Failed to get region location
org.apache.hadoop.hbase.client.
NoServerForRegionException: No server address listed in hbase:meta for region test035

应该是没有分配region的问题,所以我们登录到CDH页面,找到region server角色

图片.png

打开region server的配置文件

图片.png

发现如下报错

12月 21, 晚上6点22:00.962分  ERROR   org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler  

Failed open of region=test035,,1513851169227.0f33963c39a5c82c0c1f3d71e5976c27., starting to roll back the global memstore size.
java.io.IOException: java.io.IOException: Exception in createDir


Caused by: org.apache.hadoop.security.AccessControlException: Permission denied: user=hbase, access=WRITE, inode="/hbase/data/default/test035/0f33963c39a5c82c0c1f3d71e5976c27":hdfs:hbase:drwxr-xr-x

原因是HDFS文件的权限问题

我们查看下HDFS目录的权限:

[root@test028 ~]# hdfs dfs -ls /hbase/data/default
Found 8 items
drwxrwxrwx   - hdfs  hbase          0 2017-12-20 15:25 /hbase/data/default/TEST_IA_TF
drwxrwxrwx   - hbase hbase          0 2017-10-24 16:27 /hbase/data/default/ismhash
drwxrwxrwx   - hbase hbase          0 2017-10-24 16:27 /hbase/data/default/ismproinfo
drwxrwxrwx   - hbase hbase          0 2017-10-24 10:33 /hbase/data/default/mauser_info

drwxr-xr-x   - hdfs  hbase          0 2017-12-21 18:12 /hbase/data/default/test035

发现手动创建的表文件目录属主是hdfs,而程序创建的目录属主是hbase,权限问题

所以最简单的方式就是修改这个目录的权限

[root@test028 ~]# hdfs  dfs -chown -R hbase:hbase /hbase/data/default/test035

或者可以使用chmod 777 也行
再检查一遍,发现权限变过来了

[root@test028 ~]# hdfs dfs -ls /hbase/data/default
Found 8 items
drwxrwxrwx   - hdfs  hbase          0 2017-12-20 15:25 /hbase/data/default/TEST_IA_TF
drwxrwxrwx   - hbase hbase          0 2017-10-24 16:27 /hbase/data/default/ismhash
drwxrwxrwx   - hbase hbase          0 2017-10-24 16:27 /hbase/data/default/ismproinfo
drwxrwxrwx   - hbase hbase          0 2017-10-24 10:33 /hbase/data/default/mauser_info

drwxr-xr-x   - hbase hbase          0 2017-12-21 18:12 /hbase/data/default/test035

然后通过页面重启CDH 的HBASE组件

再试试插入数据,发现ok了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 该文档是用Hbase默认配置文件生成的,文件源是Hbase-default.xml hbase.rootdir 这...
    我是嘻哈大哥阅读 10,206评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,324评论 19 139
  • 最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hb...
    飞鸿无痕阅读 50,411评论 19 272
  • HBase那些事 @(大数据工程学院)[HBase, Hadoop, 优化, HadoopChen, hbase]...
    分痴阅读 9,411评论 3 17
  • HBase是Hadoop 的正式子项目,它是一个面向列的分布式数据库。是建立的hdfs之上,提供高可靠性、高性能、...
    我是嘻哈大哥阅读 4,241评论 0 1