HDFS安全认证主要通过Kerberos实现,步骤如下:
安装Kerberos
sudo yum install krb5-server krb5-workstation。/etc/krb5.conf,指定KDC和领域信息。sudo systemctl start krb5kdc。创建Kerberos主体和密钥表
hdfs/_HOST@YOUR.REALM.COM):kadmin.local -q "addprinc -randkey hdfs/_HOST@YOUR.REALM.COM"。hdfs.keytab):kadmin.local -q "ktadd -k /path/to/hdfs.keytab hdfs/_HOST@YOUR.REALM.COM"。配置HDFS使用Kerberos
core-site.xml,启用Kerberos认证:<property>
<name>hadoop.security.authentication</name>
<value>kerberos</value>
</property>
```。
hdfs-site.xml,配置NameNode和DataNode的主体及密钥表路径:<property>
<name>dfs.namenode.kerberos.principal</name>
<value>hdfs/_HOST@YOUR.REALM.COM</value>
</property>
<property>
<name>dfs.namenode.keytab.file</name>
<value>/path/to/hdfs.keytab</value>
</property>
```。
验证配置
kinit获取票据:kinit your_principal@YOUR.REALM.COM。hdfs dfs -ls /验证访问权限。(可选)配置权限和加密
dfs.permissions.enabled=true。hdfs crypto命令创建加密区域。注意:需确保所有节点时间同步(使用NTP),且防火墙开放HDFS相关端口(如8020、50070等)。
参考来源: