CDH实操--集成 freeipa
1 概述
环境准备: 1)安装cdh6.2.1 2)安装FreeIPA,server和client(在所有cdh节点)
2 集成
2.1 krb5.conf修改
注释:default_ccache_name = KEYRING:persistent:%{uid}
2.2 freeipa添加用户(添加cloudera-scm用于CDH的大数据认证)
2.2.1 添加角色
2.2.2 添加特权
2.2.3 添加用户
2.2.4 绑定角色
2.3 生成cloudera-scm用户票据
2.3.1 登录admin用户
2.3.2 生成票据
在freeipa机器生成 拷贝到CDH的master节点需要用 [root@freeipa01 kerberos]# ipa-getkeytab -p cloudera-scm -k cloudera-scm.keytab -s freeipa01.dtstack.com Keytab检索成功并将其存储在:cloudera-scm.keytab [root@freeipa01 kerberos]# ll 总用量 4 -rw-------. 1 root root 150 10月 16 19:53 cloudera-scm.keytab
2.4 CDH master节点
2.4.1 创建目录&上传keytab文件
###需要将第2.3.2步骤 生成的 cloudera-scm.keytab 放在当前目录 (/opt/cloudera/freeipa) mkdir -p /opt/cloudera/freeipa cd /opt/cloudera/freeipa
2.4.2 keytab检查脚本
vim getkeytabs.sh #set -e set -x CMKEYTAB="/opt/cloudera/freeipa/cloudera-scm.keytab" CMUSER="cloudera-scm" REALM="DTSTACK.COM" IPASERVER="freeipa01.dtstack.com" DEST="$1" FULLPRINC="$2" # Passwd based kinit #echo PASSWORD | kinit $CMUSER@$REALM # Or per keytab (keytab needs to be generated before) kinit -k -t $CMKEYTAB $CMUSER@$REALM PRINC=$( echo $FULLPRINC | sed "s/\@$( echo $REALM )//" ) echo $PRINC echo Retrieving keytab for $FULLPRINC for $DEST echo Checking for existing service principle if ipa service-find $FULLPRINC; then echo Service principle found else echo Service principle not created, creating ipa service-add $FULLPRINC --pac-type=NONE fi echo Ensuring service allows ipa service-allow-create-keytab --users=$CMUSER $FULLPRINC ipa service-allow-retrieve-keytab --users=$CMUSER $FULLPRINC if ipa service-show $FULLPRINC | grep 'Keytab' | grep 'False'; then echo Creating keytab for $FULLPRINC for $DEST ipa-getkeytab -s $IPASERVER -p $PRINC -k $DEST -e rc4-hmac,aes256-cts,aes128-cts else echo Retrieving keytab for $FULLPRINC for $DEST ipa-getkeytab -r -s $IPASERVER -p $PRINC -k $DEST fi chmod 600 $DEST kdestroy exit 0;
2.4.3 修改import_credentials.sh文件
CDH使用freeipa 根据官网得知道需要做一个sed 命令 如下 不然无法集成 https://docs.cloudera.com/documentation/director/latest/topics/director_create_kerberized_cluster.html sed -i '/kinit/i exit 0' /opt/cloudera/cm/bin/import_credentials.sh 注意⚠: sed后会在65行和67行重复出现exit 0,0后若有空格会报错,需要清除空格
2.5 开启Kerberos
2.5.1 自定义 Kerberos Keytab 检索脚本
登录cm-管理-设置-搜索‘Keytab 检索脚本‘
/opt/cloudera/freeipa/getkeytabs.sh
2.5.2 启用kerberos
点击继续
生成票据-重新配置客户端-重启服务即可(都直接下一步就行)