以下是在Debian系统上配置HBase安全的关键步骤,基于搜索资源中的核心操作整理:
sudo apt-get install krb5-user libkrb5-dev # 安装Kerberos客户端工具
hbase-site.xml
:<property>
<name>hbase.security.authentication</name>
<value>kerberos</value>
</property>
<property>
<name>hbase.master.kerberos.principal</name>
<value>hbase/_HOST@YOUR-REALM.COM</value>
</property>
<property>
<name>hbase.regionserver.kerberos.principal</name>
<value>hbase/_HOST@YOUR-REALM.COM</value>
</property>
<property>
<name>hbase.master.kerberos.keytab</name>
<value>/etc/security/keytabs/hbase.service.keytab</value>
</property>
<property>
<name>hbase.regionserver.kerberos.keytab</name>
<value>/etc/security/keytabs/hbase.service.keytab</value>
</property>
# 创建HBase服务主体(将YOUR-REALM.COM替换为实际域名)
sudo kadmin.local -q "addprinc -pw 123456 hbase/_HOST@YOUR-REALM.COM"
# 生成keytab文件并分发到HBase节点
sudo kadmin.local -q "ktadd -k /etc/security/keytabs/hbase.service.keytab hbase/_HOST@YOUR-REALM.COM"
将生成的hbase.service.keytab
文件复制到Debian节点的/etc/security/keytabs/
目录。hbase-site.xml
中开启ACL:<property>
<name>hbase.security.authorization</name>
<value>true</value>
</property>
# 授权用户对表的读写权限(示例)
hbase> grant 'user1', 'RW', 'table1'
hbase> revoke 'user2', 'W', 'table2'
keytool -genkeypair -alias hbase -keyalg RSA -keysize 2048 -keystore /etc/hbase/keystore.jks -storepass 123456
hbase-site.xml
:<property>
<name>hbase.ssl.enabled</name>
<value>true</value>
</property>
<property>
<name>hbase.ssl.keystore.store</name>
<value>/etc/hbase/keystore.jks</value>
</property>
<property>
<name>hbase.ssl.keystore.password</name>
<value>123456</value>
</property>
sudo ufw allow 9090/tcp
sudo ufw allow 8020/tcp
sudo ufw reload
sudo apt-get install selinux-basics selinux-policy-default
sudo selinux-activate
sudo systemctl restart hbase-master
sudo systemctl restart hbase-regionserver
YOUR-REALM.COM
与实际域名一致,且时间同步(使用ntp
服务)。以上步骤参考自,具体操作需根据实际环境调整。