0、下载rpm安装包
链接:https://pan.baidu.com/s/1RmVxvPT8e6fimEcGKCR_2Q&shfl=sharepset 密码:innn
1、安装kerberos
把rpm软件包先拷到集群的所有节点上
所有节点
rpm -qa | grep krb
卸载以安装的krb-lib krb-workstation krb-server
rpm -e --nodeps krb5-libs-1.15.1-37.el7_7.2.x86_64
master
rpm -ivh krb5-libs-1.13.2-10.el7.x86_64.rpm
rpm -ivh krb5-workstation-1.13.2-10.el7.x86_64.rpm
rpm -ivh krb5-server-1.13.2-10.el7.x86_64.rpm
slaves
rpm -ivh krb5-libs-1.13.2-10.el7.x86_64.rpm
rpm -ivh krb5-workstation-1.13.2-10.el7.x86_64.rpm
2、配置kerberos
master
修改realms的名称,随意但是要大写
去掉 aes256-cts:normal 这个加密方式
(主节点配置文件)
vim /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[realms]
HADOOP.COM = {
#master_key_type = aes256-cts
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = 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
}
(客户端配置文件)之后要分发至每个从节点
vim /etc/krb5.conf
logging 不用改
libdefaults 把default_realm放开,修改realm为/var/kerberos/krb5kdc/kdc.conf文件里创建的realm
realms 放开修改realm 并且把主机名修改上
domain_realm 放开,修改realm,前面小写,后面大写
[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
default_realm = HADOOP.COM
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
HADOOP.COM = {
kdc = mac-node1
admin_server = mac-node1
}
[domain_realm]
.hadoop.com = HADOOP.COM
hadoop.com = HADOOP.COM
xsync /etc/krb5.conf
3、 master 创建 初始化kerberos初始数据库
/usr/sbin/kdb5_util create -s -r HADOOP.COM
接下来会输两次密码
当kerberos database创建好以后,查看/var/kerberos/krb5kdc 目录,文件如下
(principal相关的文件都是创建数据库生成的)
kadm5.acl
kdc.conf
principal
principal.kadm5
principal.kadm5.lock
principal.ok
可能遇到的问题:重建数据库,步骤如下两步。
1、/usr/sbin/kdb5_util -r HADOOP.COM -m destroy -f
2、将目录/var/kerberos/krb5kdc下的principal相关的文件删除即
3、重新初始化
4、master 给 kerberos 添加 admin principal 添加管理员
Kdc主机上执行 用户/用户组
/usr/sbin/kadmin.local -q "addprinc admin/admin"
输入两次密码
为database admin设置ACL权限
代表名称匹配*/[email protected] 都认为是admin,权限是 *。代表全部权限
vim /var/kerberos/krb5kdc/kadm5.acl
修改realm
*/[email protected] *
5、启用kerberos后台进程
service krb5kdc start
service kadmin start
进入命令行
kadmin.local
列出现在所有用户
list principal
K/[email protected]
admin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kiprop/[email protected]
krbtgt/[email protected]
之后cdh启用kerberos后会有
大数据组件相关的用户
添加用户(一般添加principal 是不加instance)
addprincs yang
输入两次密码
listprincs
K/[email protected]
admin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kiprop/[email protected]
krbtgt/[email protected]
[email protected] //刚才创建的用户
退出命令行
exit
klist
测试
kinit yang
klist
给用户生成ktab文件
在指定目录下生成yang的keytab文件。(xxx代表keytab
文件存放路径可以自定义,kerberos.keytab文件名可以自己修改,yang代表创建的用户名
kadmin.local
xst -k /xxx/yang.keytab yang
exit
cd /xxx
ll