CDH实操--集成 freeipa

二龙2年前技术文章986

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部署

相关文章

helm简介

helm简介

一、Helm 是什么在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理...

SQL Server优化入门系列(三)—— 性能计数器(performance counter)

SQL Server优化入门系列(三)—— 性能计数器(performance counter)

说明Performance Counter是windows系统中通用的性能分析工具。Windows OS和SQL Server暴露了很多Performance Counter,可用户分析整个系统的运行...

MySQL运维实战(5.1) 字符和编码的基本概念

MySQL运维实战(5.1) 字符和编码的基本概念

字符和编码字符字符是符号,是人们用于交流的各类符号,如26个英文字母、汉字、标点符号、数学运算符、其他语言的字母和符号。编码编码是计算机中以二进制方式存储字符的方式。字符集字符集是字符和编码的映射表。...

配置跨集群互信

1.源集群修改项创建跨域krbtgt Principal进入kadmin命令行,执行以下2条命令:(如有加密算法需要添加加密算法部分)addprinc krbtgt/源集群realm@目标集群real...

mysql高可用半同步配置(二)

一、配置半同步1.1、部署半同步:#首先判断MySQL服务器是否支持动态增加插件mysql> select @@have_dynamic_loading#确认支持动态增加插件后,检查MySQL的...

zabbix监控导出生产环境数据

zabbix监控导出生产环境数据

问题需求导出zabbix数据库中 某个主机组下的端口监控 、 URL监控信息处理过程由于数据量较大,手动统计比较费时,因此考虑通过直接从数据库取出相关数据查找想关联的表,找到各监控项位于哪个数据库表内...

发表评论    

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