HDFS上配置kerberos(十一)

一、创建认证规则
二、创建Keytab文件
三、部署Kerberos Keytab文件
四、修改HDFS配置文件,包括
1)core-site.xml
2)hdfs-site.xml

五、启动namenode
六、启动datanode

步骤实施
1、创建认证规则
 [root@cdh1 training]# kadmin.local -q "addprinc -randkey hdfs/cdh1@ZGP.COM"
Authenticating as principal root/admin@ZGP.COM with password.
WARNING: no policy specified for hdfs/cdh1@ZGP.COM; defaulting to no policy
Principal "hdfs/cdh1@ZGP.COM" created.
[root@cdh1 training]#
[root@cdh1 training]# kadmin.local -q "addprinc -randkey hdfs/cdh2@ZGP.COM"
[root@cdh1 training]# kadmin.local -q "addprinc -randkey hdfs/cdh3@ZGP.COM"
[root@cdh1 training]# kadmin.local -q "addprinc -randkey HTTP/cdh1@ZGP.COM"
[root@cdh1 training]# kadmin.local -q "addprinc -randkey HTTP/cdh2@ZGP.COM"
[root@cdh1 training]# kadmin.local -q "addprinc -randkey HTTP/cdh3@ZGP.COM"


[root@cdh1 training]# kadmin
Authenticating as principal root/admin@ZGP.COM with password.
Password for root/admin@ZGP.COM: 
kadmin:  list_principals
HTTP/cdh1@ZGP.COM
HTTP/cdh2@ZGP.COM
HTTP/cdh3@ZGP.COM
K/M@ZGP.COM
hdfs/cdh1@ZGP.COM
hdfs/cdh2@ZGP.COM
hdfs/cdh3@ZGP.COM
kadmin/admin@ZGP.COM
kadmin/cdh1@ZGP.COM
kadmin/changepw@ZGP.COM
krbtgt/ZGP.COM@ZGP.COM
root/admin@ZGP.COM
kadmin:  



2、创建keytab文件

[root@cdh1 training]# cd /var/kerberos/krb5kdc
[root@cdh1 krb5kdc]# kadmin.local -q "xst -k hdfs-unmerged.keytab hdfs/cdh1@ZGP.COM"

Authenticating as principal root/admin@ZGP.COM with password.
Entry for principal hdfs/cdh1@ZGP.COM with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:hdfs-unmerged.keytab.
Entry for principal hdfs/cdh1@ZGP.COM with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:hdfs-unmerged.keytab.
Entry for principal hdfs/cdh1@ZGP.COM with kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:hdfs-unmerged.keytab.
Entry for principal hdfs/cdh1@ZGP.COM with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:hdfs-unmerged.keytab.
Entry for principal hdfs/cdh1@ZGP.COM with kvno 2, encryption type des-hmac-sha1 added to keytab WRFILE:hdfs-unmerged.keytab.
Entry for principal hdfs/cdh1@ZGP.COM with kvno 2, encryption type des-cbc-md5 added to keytab WRFILE:hdfs-unmerged.keytab.
[root@cdh1 krb5kdc]#
[root@cdh1 krb5kdc]# kadmin
### 配置HDFS中的Kerberos认证 #### 准备工作 为了确保Apache Hadoop集群的安全性,Kerberos作为基础安全机制被广泛采用。启用Kerberos之后,用户身份验证成为必要条件[^1]。 #### 安装并配置KDC服务器 首先需要安装和设置一个Key Distribution Center (KDC),这可以是在本地环境中部署MIT KDC或是利用现有的企业级LDAP集成的KDC服务。此过程不在本文讨论范围内,但这是实现Kerberos认证的前提。 #### 创建必要的Principal和服务密钥表(keytabs) 对于每一个运行Hadoop守护进程的服务主机都需要创建相应的principal以及keytab文件用于存储这些principals的秘密信息。例如,在名为`example.com`领域内的namenode principal可能看起来像这样:`nn/fqdn.example.com@EXAMPLE.COM`。同样地也需要为其他节点如datanodes、resourcemanager等创建对应的principal[^4]。 #### 修改核心配置文件 编辑`core-site.xml`, 添加如下属性来指定默认realm和其他一些参数: ```xml <property> <name>hadoop.security.authentication</name> <value>kerberos</value> </property> <property> <name>hadoop.security.authorization</name> <value>true</value> </property> <!-- Specify default realm --> <property> <name>kerberos.server.principal</name> <value>HTTP/_HOST@YOUR-REALM.COM</value> </property> ``` 同时更新`hdfs-site.xml`以包含NameNode 和 DataNodes 的 principals 及其 keytabs的位置: ```xml <configuration> ... <!-- NameNode configuration --> <property> <name>dfs.namenode.kerberos.principal</name> <value>nn/_HOST@YOUR-REALM.COM</value> </property> <property> <name>dfs.namenode.keytab.file</name> <value>/etc/security/keytabs/nn.service.keytab</value> </property> <!-- Secondary NameNode Configuration --> ... <!-- DataNode Configuration --> <property> <name>dfs.datanode.kerberos.principal</name> <value>dn/_HOST@YOUR-REALM.COM</value> </property> <property> <name>dfs.datanode.keytab.file</name> <value>/etc/security/keytabs/dn.service.keytab</value> </property> ... </configuration> ``` 最后一步是分发修改后的XML配置文件到所有的集群成员上[^3]: ```bash scp core-site.xml hdfs-site.xml hadoop@slave01.hadoop:/usr/local/hadoop-2.7.7/etc/hadoop/ ``` 完成上述步骤后重启所有受影响的服务使更改生效即可开始享受更高级别的安全性保护措施带来的好处[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值