CDH实操--集成 freeipa

二龙2年前技术文章836

1 概述

环境准备:
1)安装cdh6.2.1
2)安装FreeIPA,server和client(在所有cdh节点)

2 集成

2.1 krb5.conf修改

注释:default_ccache_name = KEYRING:persistent:%{uid}

001.png

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

2.2.1 添加角色

002.png

2.2.2 添加特权

003.png

2.2.3 添加用户

004.png

005.png

2.2.4 绑定角色

006.png

2.3 生成cloudera-scm用户票据

2.3.1 登录admin用户

007.png

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

008.png

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;

009.png

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后若有空格会报错,需要清除空格

-10.png

011.png

2.5 开启Kerberos

2.5.1 自定义 Kerberos Keytab 检索脚本

登录cm-管理-设置-搜索‘Keytab 检索脚本‘

/opt/cloudera/freeipa/getkeytabs.sh

102.png

2.5.2 启用kerberos

013.png

014.png

015.png

016.png

017.png

点击继续

018.png

生成票据-重新配置客户端-重启服务即可(都直接下一步就行)


返回列表

上一篇:docker日志管理

下一篇:Ambari部署

相关文章

Sentry管理Hive目录acl -setacl不生效

Sentry管理Hive目录acl -setacl不生效

CDH在启动Sentry后/user/hive/warehouse这个目录 hdfs手动setacl会不生效首先确保hdfs参数dfs.namenode.acls.enabled=true;还有另一个...

ES运维(二)字段类型与内存管理

ES运维(二)字段类型与内存管理

一、ES常见字段类型1、 概述字段是数据存储的最小微粒,根据数据的性质不同将数据分成不同的字段类型,熟悉不同字段类型的特性,对索引的Mapping设计、查询调优都极其重要。2、 关键参数In...

EMR-java配置国密SM4加密

EMR-java配置国密SM4加密

首先找到bcprov-jdk15on-1.56.jar这个包<dependency>    <groupId>org.bouncycastle</groupId> ...

ES运维(一)底层数据存储原理

ES运维(一)底层数据存储原理

1、ES底层数据存储原理架构图Segment工作流程:A、 新的文档在内存中组织B、 每隔一段时间,buffer将会被提交:生成一个新的segment(一个额外的新的倒序索引)并被写到磁盘,同时一个新...

hive创建hbase映射表

hive创建hbase映射表

hbase创建表,导入数据/opt/app/hbase-2.1.0/bin/hbase shell查看已有表,创建新表,查看表结构listcreate 'student', 'info', 'scor...

中国式IT运维,趟出自己的“长期主义”河流

2018年,Gartner曾做过一次长达6个月的调查问卷。在这个主题为AIOps的问卷中,Gartner选取了500家各行业头部的企业,针对其当下的IT架构来判断调研企业未来是否会加大对于AIOps的...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。