你的问题“centos如何安全hdfs”可能有几种理解,我先分常见场景说明,并给出安全配置 HDFS 的方法(以 CentOS 7/8 + Hadoop 为例)。
通常“安全 HDFS”指:
# 关闭不必要的端口
firewall-cmd --permanent --add-port=8020/tcp
firewall-cmd --permanent --add-port=50070/tcp
firewall-cmd --reload
# 创建专用用户
useradd hadoop
passwd hadoop
yum install krb5-server krb5-workstation
编辑 /etc/krb5.conf
[realms]
EXAMPLE.COM = {
kdc = centos-host
admin_server = centos-host
}
kadmin.local
addprinc -randkey hdfs/centos-host@EXAMPLE.COM
ktadd -k /etc/security/keytab/hdfs.keytab hdfs/centos-host@EXAMPLE.COM
core-site.xml
<property>
<name>hadoop.security.authentication</name>
<value>kerberos</value>
</property>
hdfs-site.xml
<property>
<name>dfs.block.access.token.enable</name>
<value>true</value>
</property>
<property>
<name>dfs.encrypt.data.transfer</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.kerberos.principal</name>
<value>hdfs/_HOST@EXAMPLE.COM</value>
</property>
hdfs dfs -setfacl -m user:alice:rwx /data
hdfs dfs -getfacl /data
不启用 Kerberos 的最低安全做法:
如果你能补充:
我可以给你更精确的步骤或脚本。