1.环境(希望大数据工作者 纠正 评论 一起学习 进步)

CDH 安装完毕 freeipa安装完毕  hosts都做了解析,CDH机器所在的dns解析都要修改为freeipa为第一个  CDH节点的dns第一个 需要是freeipa的地址 否则freeipa集成失败

2.CDH节点安装kerberos客户端

yum -y install ipa-client
ipa-client-install --domain=baidu.com --no-ntp --realm=BAIDU.COM -mkhomedir

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa





CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_02




   

   

3.查看freeipa节点



CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_03








                            

   4.krb5.conf 

还要 添加此行

 renew_lifetime = 7d

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_04











    



  5.freeipa添加用户(添加cloudera-scm用于CDH的大数据认证)

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_05

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_06CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_07CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_08CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_09

6.生成cloudera-scm用户的keytab(在freeipa机器生成 准备拷贝到CDH的master节点需要用)

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_10


CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_11

7.CDH master节点


###需要将第6步骤 生成的 cloudera-scm.keytab 放在当前目录 (/opt/cloudera/freeipa)
mkdir   -p  /opt/cloudera/freeipa
cd  /opt/cloudera/freeipa
vim  getkeytabs.sh
#set -e
set -x
 
CMKEYTAB="/opt/cloudera/freeipa/cloudera-scm.keytab"
CMUSER="cloudera-scm"
REALM="BAIDU.COM"
IPASERVER="www.baidu.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;

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_12

上述文件的权限需要注意 否则kerberos集成会失败

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

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_13

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_14CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_15


CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_16CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_17CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_18CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_19CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_20

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_21CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_22CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_23CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_24

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_25




1.No Java JDK is detected on the host

CDH侦测不到节点的jdk

因为是自己部署的jdk  JAVA_HOME=/opt/jdk

但是cdh 默认是以  JAVA_HOME=/usr/java/default

所以  ln -s  /opt/jdk   /usr/java/default

做出如下就该即可  如果不想麻烦 直接jdk的JAVA_HOME 修改为/usr/java/default 最好了  然后重启服务  jdk 就可以侦测到了

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_26

2.CDH 启用freeipa 也就是kerberos以后发现sentry无法启动  类似数据scherma的报错

解决办法

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_27

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_28

HUE集成sentry

CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_29CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_30CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_31CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_32CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_33CDH 6.2.1 集成 freeipa_CDH 6.2.1 集成 freeipa_34