温馨提示×

centos如何设置hbase权限

小樊
56
2026-09-18 12:43:41
栏目: 智能运维

在 CentOS 上设置 HBase 权限,通常分为 操作系统层面权限 和 HBase 自身权限管理(ACL / Ranger) 两部分。下面按常见使用场景说明。


一、操作系统层面权限(基础)

HBase 通常以 专用用户 运行,不建议用 root。

1. 创建 HBase 用户

useradd hbase
passwd hbase

2. 目录权限

chown -R hbase:hbase /usr/local/hbase
chown -R hbase:hbase /data/hbase
chmod -R 755 /usr/local/hbase

3. 使用 hbase 用户启动

su - hbase
start-hbase.sh

二、HBase 自带权限管理(ACL)

HBase 支持基于 用户 / 表 / 列族 的权限控制。

1. 开启权限控制

编辑 hbase-site.xml:

<property>
  <name>hbase.security.authorization</name>
  <value>true</value>
</property>
<property>
  <name>hbase.coprocessor.master.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
  <name>hbase.coprocessor.region.classes</name>
  <value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
  <name>hbase.superuser</name>
  <value>hbase</value>
</property>

重启 HBase:

stop-hbase.sh
start-hbase.sh

2. 权限类型

权限 含义
R Read
W Write
X Execute
C Create
A Admin

3. 常用权限命令(HBase Shell)

hbase shell

授权用户

grant 'user1', 'RW', 'table1'
grant 'user1', 'R', 'table1', 'cf1'

回收权限

revoke 'user1', 'table1'

查看权限

user_permission 'table1'

三、HBase 与 Kerberos(生产环境)

若集群启用 Kerberos:

  1. 配置 hbase-site.xml
<property>
  <name>hbase.security.authentication</name>
  <value>kerberos</value>
</property>
  1. 用户需先 kinit
kinit user1
  1. 再使用 HBase Shell 或 API

四、使用 Apache Ranger(推荐企业方案)

如果是 CDH / HDP / CDP,建议用 Ranger:

  • 表级、列级权限
  • 审计日志
  • Web 界面管理

五、常见错误

❌ Permission denied

  • HDFS 目录权限不对
  • HBase 用户无 ZooKeeper 权限

✅ 检查:

hdfs dfs -ls /hbase

如果你能告诉我:

  • 是否使用 CDH / HDP / 原生 HBase
  • 是否需要 Kerberos
  • 是 开发环境还是生产环境

我可以给你更精确的配置示例。

0 踩