1、安装软件
主机上安装krb5、krb5-server和krb5-client
yum install krb5-server krb5-libs krb5-auth-dialog krb5-workstation -y
其它2台从机器安装krb5-level、krb5-workstation
yum install krb5-devel krb5-workstation -y
2.配置Kerberos服务相关文件
配置/etc/krb5.conf。修改其中的realm,把默认的EXAMPLE.COM修改为自己要定义的值,也可以不修改。如:ZHUZI.COM。其中,需要修改以下参数:
default_realm:默认的realm。设置为realm。如ZHUZI.COM
kdc:代表要kdc的位置。添加格式是机器名
admin_server:代表admin的位置。格式是机器名
default_domain:代表默认的域名。(设置Master主机所对应的域名,如master162.ispeco.com)
注意:
1. vim /etc/krb5.conf (Master、Worker节点均需配置,且文件内容必须相同)
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 10000d
renew_lifetime = 10000d
forwardable = true
# clockskew = 600
# rdns = false
# pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
# default_realm = EXAMPLE.COM
# default_ccache_name = KEYRING:persistent:%{uid}
[realms]
EXAMPLE.COM = {
kdc = rm1:88
admin_server = rm1:749
}
# EXAMPLE.COM = {
# kdc = kerberos.example.com
# admin_server = kerberos.example.com
# }
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
2. vim /var/kerberos/krb5kdc/kdc.conf (仅配置Master节点,如果没有,需自建)
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[realms]
EXAMPLE.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
max_life = 10000d
max_renewable_life = 10000d
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
}
3. vim /var/kerberos/krb5kdc/kadm5.acl
*/admin@EXAMPLE.COM *
3.创建 Kerberos数据库
创建Kerberos数据库,需要设置管理员密码,创建成功后会在/var/Kerberos/krb5kdc/下生成一系列文件,如果重新创建,需要先删除/var/kerberos/krb5kdc下面principal相关文件。
cd /var/kerberos/krb5kdc/
rm principal* -rf
需在Master节点的root用户下执行以下命令新建数据库:
kdb5_util create -s -r EXAMPLE.COM
数据库创建成功后,需启动krb5服务:
service krb5kdc start
service kadmin start
4.创建 kerberos的管理员
在Master节点的root用户下分别执行以下命令:
kadmin.local
addprinc admin/admin@EXAMPLE.COM
5.创建 kerberos的普通用户及密钥文件,为配置时,各节点可以相互访问用。
1.在Master节点的root用户下分别执行以下命令
kadmin.local
#创建用户
addprinc -randkey yarn/master162.ispeco.com@EXAMPLE.COM
addprinc -randkey yarn/worker163@EXAMPLE.COM
addprinc -randkey hdfs/master162.ispeco.com@EXAMPLE.COM
addprinc -randkey hdfs/worker163@EXAMPLE.COM
#生成密钥文件(生成到当前路径下)
xst -k yarn.keytab yarn/master162.ispeco.com@EXAMPLE.COM
xst -k yarn.keytab yarn/worker163@EXAMPLE.COM
xst -k hdfs.keytab hdfs/master162.ispeco.com@EXAMPLE.COM
xst -k hdfs.keytab hdfs/worker163@EXAMPLE.COM
2. 将yarn.keytab (yarn:hadoop 400)和 hdfs.keytab (hdfs:hadoop 400)文件到Master和Worker节点的/var/kerberos/krb5kdc/ 目录,并设置相应的组,并将权限为400
chown yarn:hadoop hdfs.keytab
chown yarn:hadoop yarn.keytab
chmod 400 yarn.keytab
chmod 400 hdfs.keytab
5.修改Hadoop集群配置
.....后续