CDH kerberos 认证,安全认证

  • 环境

           centos 7.4

           

  • 安装KDC服务
yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation

CDH kerberos 认证,安全认证_第1张图片

  •  修改配置文件  vi /etc/krb5.conf

默认如下

CDH kerberos 认证,安全认证_第2张图片

 修改为

# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
 default_realm = JAST.COM
# default_ccache_name = KEYRING:persistent:%{uid}

[realms]
JAST.COM = {
  kdc = hostname1
  admin_server = hostname1
 }

[domain_realm]
 .jast.com = JAST.COM
 jast.com = JAST.COM

 参数说明

[logging]:表示server端的日志的打印位置
[libdefaults]:每种连接的默认配置,需要注意以下几个关键的小配置
default_realm = HADOOP.COM 默认的realm,必须跟要配置的realm的名称一致。
udp_preference_limit = 1 禁止使用udp可以防止一个Hadoop中的错误
oticket_lifetime表明凭证生效的时限,一般为24小时。
orenew_lifetime表明凭证最长可以被延期的时限,一般为一个礼拜。当凭证过期之后, 
对安全认证的服务的后续访问则会失败。
[realms]:列举使用的realm。
kdc:代表要kdc的位置。
admin_server:代表admin的位置。
default_domain:代表默认的域名
[appdefaults]:可以设定一些针对特定应用的配置,覆盖默认配置。

  •  修改配置文件 /var/kerberos/krb5kdc/kadm5.acl 配置

原内容为  */[email protected]  *

修改为上面配置的域名

*/[email protected]  *
  • 修改配置文件 /var/kerberos/krb5kdc/kdc.conf 配置

默认为

修改为

[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88

[realms]
 JAST.COM = {
  #master_key_type = aes256-cts
  max_renewable_life= 7d 0h 0m 0s 
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
 }

CDH kerberos 认证,安全认证_第3张图片

  • 创建Kerberos数据库

需输入两遍你的密码即可

[root@fwqml006 ~]# kdb5_util create -r JAST.COM -s
Loading random data
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'JAST.COM',
master key name 'K/[email protected]'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key: 
Re-enter KDC database master key to verify: 

 创建完成再目录下有几个创建成功的文件,就是创建的数据文件

CDH kerberos 认证,安全认证_第4张图片

  • 创建Kerberos的管理账号
[root@xxx ~]# kadmin.local 
Authenticating as principal root/[email protected] with password.
kadmin.local:  addprinc admin/[email protected] #这里输入 addprinc admin/[email protected]
WARNING: no policy specified for admin/[email protected]; defaulting to no policy
Enter password for principal "admin/[email protected]":  #这里输入密码
Re-enter password for principal "admin/[email protected]":  #这里确认密码
Principal "admin/[email protected]" created.
kadmin.local:  exit #上面创建完成退出

如果使用 kadmin.local -q "addprinc admin/[email protected]" 启动的话,可以不需要输入kadmin.local

  • 将Kerberos服务添加到自启动服务,并启动krb5kdc和kadmin服务,查看状态
systemctl enable krb5kdc
systemctl enable kadmin
systemctl start krb5kdc
systemctl start kadmin
systemctl status krb5kdc
systemctl status kadmin

启动成功

CDH kerberos 认证,安全认证_第5张图片

  •  验证 kerberos 
[root@xxx ~]# kinit admin/[email protected]
Password for admin/[email protected]: #这里输入密码
[root@xxx ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin/[email protected]

Valid starting       Expires              Service principal
2019-08-05T14:18:54  2019-08-06T14:18:54  krbtgt/[email protected]
	renew until 2019-08-12T14:18:54
  • 安装所有Kerberos客户端,集群中所有节点

所有节点执行

yum -y install krb5-libs krb5-workstation
  • 在Cloudera Manager Server服务器上安装额外的包
 yum -y install openldap-clients
  • 将KDC Server上的krb5.conf文件拷贝到所有Kerberos客户端
scp /etc/krb5.conf [email protected]:/etc/

CDH集群启用Kerberos

  • 在KDC中给Cloudera Manager添加管理员账号
[root@fwqml006 ~]#  kadmin.local
Authenticating as principal admin/[email protected] with password.
kadmin.local:  addprinc cloudera-scm/[email protected] #这里输入cloudera-scm/[email protected]
WARNING: no policy specified for cloudera-scm/[email protected]; defaulting to no policy
Enter password for principal "cloudera-scm/[email protected]":  #这里输入密码
Re-enter password for principal "cloudera-scm/[email protected]":  #这里输入密码
Principal "cloudera-scm/[email protected]" created.
kadmin.local:  exit
  • 进入Cloudera Manager 管理页面启用 Kerberos

 CDH kerberos 认证,安全认证_第6张图片

CDH kerberos 认证,安全认证_第7张图片

  • 全部勾选然后点击继续 

CDH kerberos 认证,安全认证_第8张图片

  • 填写方框中的信息,与上面配置文件中相同

CDH kerberos 认证,安全认证_第9张图片

  • 不建议让Cloudera Manager来管理krb5.conf, 点击“继续”

CDH kerberos 认证,安全认证_第10张图片

  •  .输入Cloudera Manager的Kerbers管理员账号,一定得和之前创建的账号一致,点击“继续”

CDH kerberos 认证,安全认证_第11张图片

  • 继续

 CDH kerberos 认证,安全认证_第12张图片

  • 默认配置即可,点击继续

CDH kerberos 认证,安全认证_第13张图片

  • 选择重启集群,使配置生效

CDH kerberos 认证,安全认证_第14张图片

  •  这里要多等一会,可以去cm server日志中去查看进度

CDH kerberos 认证,安全认证_第15张图片

 启动集群报错参考 Socket Reader #1 for port 8022: readAndProcess from client:https://datamining.blog.csdn.net/article/details/98615398

 启动成功

CDH kerberos 认证,安全认证_第16张图片

CDH kerberos 认证,安全认证_第17张图片

  • 简单验证

 查看hdfs数据

 进入hbase shell 查看一下

CDH kerberos 认证,安全认证_第18张图片

 使用  kinit 进行授权即可使用, kinit xxx   ,xxx是你需要登陆的账号

 

创建账户详细使用参考:https://datamining.blog.csdn.net/article/details/98625330

你可能感兴趣的:(kerberos,CDH)