CDH实操--集成 freeipa

二龙3年前技术文章1211

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

相关文章

cattle-cluster-agent产生的僵尸进程处理

cattle-cluster-agent产生的僵尸进程处理

现象zabbix告警服务器存在僵尸进程排查步骤1、登陆服务器使用top命令,确认下僵尸进程数量。2、使用ps -aux | grep Z命令,过滤出僵尸进程PID。3、根据查到的PID,借助ps命令,...

PG常用命令

1、连库相关#连库 $ psql -h <hostname or ip> -p <端口> [数据库名称] [用户名称] #连库并执行命令 $ psql -h <ho...

 大数据集群监控配置操作指导(四)Spark监控使用jmx

大数据集群监控配置操作指导(四)Spark监控使用jmx

graphite_exporter方式Graphite 来收集度量标准,Grafana 则用于构建仪表板,首先,需要配置 Spark 以将 metrics 报告到 Graphite。prometheu...

Dockerfile编写指南

Dockerfile编写指南

一、背景  在k8s提出抛弃docker,拥抱其他的cri插件的情况下,为什么还有这篇指南呢?首先Dockerfile作为容器打包的标准,已经存在了很多年了。其中的编写技巧到现在也是一直延续的,所以并...

image.png

VMware Vsphere创建虚拟机

一、上传系统镜像打开数据中心 2、新建文件夹,存放镜像3、点击上传文件按钮    4、找到本地镜像上传二、安装虚拟机1、创建虚拟机 2、选择创建类型 3、为虚拟机命名并选择虚拟机安装的所在位置4、选择...

JMS 介绍

JMS 介绍

一、JMS的基础JMS是什么:JMS是Java提供的一套技术规范JMS干什么用:用来异构系统 集成通信,缓解系统瓶颈,提高系统的伸缩性增强系统用户体验,使得系统模块化和组件化变得可行并更加灵活通过什么...

发表评论    

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