CDH实操--集成 freeipa

二龙1年前技术文章502

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

相关文章

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

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

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

如何重塑IT运维核心竞争力?可观测运维这么做!

如何重塑IT运维核心竞争力?可观测运维这么做!

随着云计算、大数据、人工智能等新兴技术的兴起及运用,无论是通讯、金融、教育,还是交通、政府、企业等行业,都得到飞速发展,但在高速发展的同时,各行业巨大的 IT 维护和管理成本也在与日俱增,存在监控工具...

EMR-java配置国密SM4加密

EMR-java配置国密SM4加密

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

ES运维(七)添加sql插件

ES运维(七)添加sql插件

一、概述ElasticSearch安装SQL插件下载地址(中国大佬开发)二、集成sql插件1、下载es-sql插件下载地址: https://github.com/NLPchina/elastics...

HDP实操--NameNode开启高可用

HDP实操--NameNode开启高可用

为了确定在namenode组件失败后集群中有其他的namenode可以工作,需要对hdp集群配置高可用,当前我们配置的非安全集群的高可用。前置条件:(1)确保你的集群至少有3个节点并且至少有3个Apa...

trino组件对接hudi(四)

trino组件对接hudi(四)

安装部署本文是基于已经部署了trino组件的环境上,进行的trino和hudi的对接,使trino组件能够正常查询hudi表。1、增加hudi connector配置在trino安装部署下的etc/c...

发表评论    

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