阅读量:0
HBase在Ubuntu上的安全设置
1. 系统级基础安全配置
- 设置文件句柄限制:HBase作为数据库会频繁操作大量文件,默认的1024个文件句柄上限会导致“Too many open files”错误。需修改Ubuntu的
/etc/security/limits.conf文件,添加如下配置(将hbase替换为运行HBase的用户):
hbase - nofile 32768
同时调整进程数限制:
hbase soft nproc 32000
hbase hard nproc 32000
为使配置生效,需在/etc/pam.d/common-session中添加session required pam_limits.so,并注销重新登录。 - SSH免密登录配置:若HBase集群包含多台节点,需配置master节点到slave节点的SSH免密登录,方便远程管理。生成密钥对并将公钥复制到slave节点:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys scp ~/.ssh/authorized_keys hbase@slave_node:/home/hbase/.ssh/
2. Kerberos身份认证(核心安全机制)
- 安装与配置Kerberos服务:在Ubuntu上通过包管理器安装MIT Kerberos:
sudo apt-get install krb5-kdc krb5-admin-server
编辑/etc/krb5.conf文件,配置默认realm(如YOUR.REALM)和KDC/Admin Server地址:启动KDC和Admin服务:[libdefaults] default_realm = YOUR.REALM [realms] YOUR.REALM = { kdc = your_kdc_server admin_server = your_admin_server }
sudo systemctl start krb5-kdc && sudo systemctl start krb5-admin-server。 - 创建HBase Principal与密钥表:使用
kadmin.local工具创建HBase服务主体(Principal),并导出密钥表:
将生成的sudo kadmin.local kadmin.local: addprinc -randkey hbase/_HOST@YOUR.REALM kadmin.local: ktadd -k /etc/hbase.keytab hbase/_HOST@YOUR.REALM/etc/hbase.keytab复制到HBase配置目录(如/path/to/hbase/conf/)。 - 配置HBase使用Kerberos:修改HBase的
hbase-site.xml文件,启用Kerberos认证并指定Principal及密钥表路径:<property> <name>hbase.security.authenticationname> <value>kerberosvalue> property> <property> <name>hbase.security.authorizationname> <value>truevalue> property> <property> <name>hbase.master.kerberos.principalname> <value>hbase/_HOST@YOUR.REALMvalue> property> <property> <name>hbase.regionserver.kerberos.principalname> <value>hbase/_HOST@YOUR.REALMvalue> property> <property> <name>hbase.master.keytab.filename> <value>/path/to/hbase.keytabvalue> property> <property> <name>hbase.regionserver.keytab.filename> <value>/path/to/hbase.keytabvalue> property>
3. 访问控制列表(ACL)配置
- 开启ACL权限控制:在
hbase-site.xml中设置hbase.security.authorization为true,启用细粒度的访问控制。 - 管理用户权限:通过HBase Shell或API为用户/组分配权限,例如允许用户
user1对表my_table的所有操作:
或限制组hbase shell grant, , dev_group仅能读取表my_table:grant, ,
4. SSH安全加固
- 禁用密码登录:编辑
/etc/ssh/sshd_config文件,设置PasswordAuthentication no,仅允许密钥认证,降低暴力破解风险。修改后重启SSH服务:
sudo systemctl restart sshd。
5. 网络与时间同步
- 配置NTP时间同步:HBase依赖准确的时间戳,时间偏差会导致认证或数据一致性问题。安装NTP服务并配置同步:
确保集群内所有节点同步同一时间源。sudo apt-get install ntp sudo timedatectl set-ntp true
以上就是关于“HBase在Ubuntu上的安全设置有哪些”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm