Ambari2.6.2集成Kerberos
“坑”说明
如果 HDP 版本是 2.6.5、Ambari 版本是 2.6.2.2 ,切记与 Kerberos 集成时,注意一下 Kerberos 的版本。
Kerberos 版本一定不能是 1.15.1-18,会受伤的。
Kerberos 版本大于 18 这个小版本应该都没有问题,亲测版本 1.15.1-19、1.15.1-34 。
这是本篇文章使用的列表:
krb5-libs-1.15.1-34.el7.x86_64
krb5-server-1.15.1-34.el7.x86_64
krb5-workstation-1.15.1-34.el7.x86_64
krb5-devel-1.15.1-34.el7.x86_64
名词解释
Kerberos: Network Authentication protocol(网络认证协议)
KDC: Key Distribution center(密钥分配中心)
Kadmin: Kerberos Administrator(Kerberos管理)
前言
安装Kerberos之前,需要有配置好的Ambari环境。
Ambari安装参见上一篇文章:https://blog.51cto.com/784687488/2329891
配置/etc/hosts
[root@ambari-agent01 ~]$ cat /etc/hosts
10.0.2.20 ambari-server server.ambari.com
10.0.2.21 ambari-agent01 agent01.ambari.com kerberos-auth
10.0.2.22 ambari-agent02 agent02.ambari.com
安装Kerberos
# 下载 aes256-cts 编码支持组件 JCE(jce_policy-8.zip)
yum install krb5-server krb5-libs krb5-workstation -y
配置Kerberos Server配置文件
[root@ambari-agent01 ~]$ cat >/etc/krb5.conf<<EOF
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24h # 认证凭证生命周期renew_lifetime = 7d # 认证凭证最长延期时限forwardable = truerenewable = truerdns = falsepkinit_anchors = /etc/pki/tls/certs/ca-bundle.crtdefault_realm = TEST.COMdefault_ccache_name = KEYRING:persistent:%{uid}[realms]
TEST.COM = {kdc = kerberos-auth # TEST.COM 域中的 KDC 接口admin_server = kerberos-auth # TEEEST.COM 域中的 Admin Server 接口
}[domain_realm]
.TEST.com = TEST.COM
TEST.com = TEST.COM
EOF
配置KDC配置文件
# 解压 JCE 支持组件至${JRE_HOME}/lib/security/
[root@ambari-agent01 ~]$ unzip UnlimitedJCEPolicyJDK7.zip
[root@ambari-agent01 ~]$ for n in 20 21 22;do scp local_policy.jar US_export_policy.jar 10.0.2.$n:/opt/jdk/jre/lib/security/;done
[root@ambari-agent01 ~]$ cat >/var/kerberos/krb5kdc/kdc.conf<<EOF
[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms]TEST.COM = {acl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytab# aes256-cts这个校验方式需要单独下载 JCE-*.jar,并把 jar 包放到 ${JRE_HOME}/lib/security 路径下master_key_type = aes256-ctssupported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal}
EOF
管理帐号 ACL 配置
[root@ambari-agent01 ~]$ cat >/var/kerberos/krb5kdc/kadm5.acl<<EOF
*/admin@TEST.COM *
EOF
初始化并创建 Kerberos 数据库
[root@ambari-agent01 ~]$ kdb5_util create -r TEST.COM -s
Loading random data
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'TEST.COM',
master key name 'K/M@TEST.COM'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key: # 设置密码
Re-enter KDC database master key to verify: # 确认密码
创建管理帐号 Principal
[root@ambari-agent01 krb5kdc]$ kadmin.local -q "addprinc admin/admin"
Authenticating as principal root/admin@TEST.COM with password.
WARNING: no policy specified for admin/admin@TEST.COM; defaulting to no policy
Enter password for principal "admin/admin@TEST.COM": # 设置管理帐号密码
Re-enter password for principal "admin/admin@TEST.COM": # 确认密码
Principal "admin/admin@TEST.COM" created.
查看 Kerberos 数据库帐号列表
# 个人感觉与 Mysql 查询用户SQL“select user, host from mysql.user;” 差不多
[root@ambari-agent01 krb5kdc]$ kadmin.local listprincs
K/M@TEST.COM
admin/admin@TEST.COM
kadmin/admin@TEST.COM
kadmin/ambari-agent01@TEST.COM
kadmin/changepw@TEST.COM
kiprop/ambari-agent01@TEST.COM
krbtgt/TEST.COM@TEST.COM
启动 Kerberos-Server
systemctl start krb5kdc.service
启动 Kadmin-Server
systemctl start kadmin.service
配置Ambari集成Kerberos,Ambari页面配置
在管理项目中选中Kerberos
开启Kerberos
这个警告不用管,选择'Proceed Anyway'
# 警告:yarn的日志和日志目录将被删除,并将resourcemanager的状态重新格式化为开启或关闭kerberos应用的状态
开始配置Kerberos
配置并测试KDC连通性
配置测试kadmin连通性并继续
# 在 Admin Principal 和 Admin Password 中填入手动创建的管理帐号与帐号密码
# 创建的帐号为 admin/admin@TEST.COM,密码为123456
在Ambari集群所有节点安装Kerberos Client,并进行Client连接测试
# 测试过程可能会提示session过期,重新输入用户、密码进行认证
# 客户端连接命令: kadmin -r TEST.COM -s kerberos-auth:88 -padmin/admin@TEST.COM
安装客户端及测试连接成功
# 后面几项配置使用默认就可以了。
# 如果有兴趣的话,在 Confirm Configuration (确认配置)这步时可以下载CSV文件看一下,里面有详细的 Ambari 自动创建的各个应用组件连接 Kerberos 认证的 principal 和 keytabs
转载于:https://blog.51cto.com/784687488/2332072
Ambari2.6.2集成Kerberos相关推荐
- HDP安全之集成kerberos/LDAP、ranger;安装部署kerberos;安装Knox;安装LDAP;启动LDAP;验证Knox网关
5.HDP安全之集成kerberos/LDAP.ranger 集成HDP kerberos /LDAP/ranger之前必须先了解为什么要这样做,kerberos/LDAP是用来做身份认证的,rang ...
- 报错:Ticket expired while renewing credentials 原因:Hue 集成Kerberos 导致Kerberos Ticket Renewer 起不来
报错:Ticket expired while renewing credentials 原因:Hue 集成Kerberos 导致Kerberos Ticket Renewer 起不来 图片: 报错, ...
- jcepolicy7.zip linux,HDP安全之集成kerberos/LDAP、ranger(knox自带LDAP)
----------------------目录导航见左上角------------------------------- 环境 HDP 3.0.1.0 (已有) JDK 1.8.0_91 (已有 ...
- 大数据入门教程,小白快速掌握Hadoop集成Kerberos安全技术
Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证.今天分享的视频教程从零学习Kerberos安全认证机制,并和Hadoop.YARN.HIVE进行集成, ...
- hadoop集成kerberos
节点 ip 进程 user master 192.168.1.115 NameNode root slave1 192.168.1.116 DataNode root kdcserver 192.16 ...
- CDH集成Kerberos配置
转载自 JavaChen Blog,作者:JavaChen 原文链接地址:http://blog.javachen.com/2014/11/04/config-kerberos-in-cdh-hdfs ...
- hive 集成oracle,hive集成kerberos问题1
在hdfs+mapred+impala+kerberos运行正常后,开始测试hive+kerberos.hive0.11之后开始支持kerberos的验证,hive主要有两种访问方式,一种方法是she ...
- Ambari2.7.4集成Hue4.6.0
一.前言 Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Pytho ...
- livy 集成kerberos
因为griffin需要安装livy组件的支持,所以需要安装livy提交spark任务. 安装livy (1)下载apache livy 下载地址:https://github.com/apache/i ...
最新文章
- python中的模运算符_Python中的字符串模运算符与format函数
- 好听的歌曲---爱情转移
- Java黑皮书课后题第10章:*10.15(几何:边框)边框是指包围一个二维平面上点集的最小矩形,编写一个方法,为二维平面上一系列点返回一个边框
- 数据分析工具选型3大秘诀,Excel竟未上榜
- win32 c语言编程,win32环境C语言实现最基本的DLL编写及调用实例,测试通过[原]
- 用curl自动登录HTTPS站点
- zabbix 自定义监控 排除带报错提示
- PHP json_decode($json, TRUE) TRUE使数据格式化为Array,而非object
- data fastboot 擦除_安卓刷机 - Fastboot命令
- html 图片轮播渐变,简单的jquery图片轮播渐变
- 全网最全最细的PLSQL下载、安装、配置、使用指南、问题解答,相关问题已汇总
- 01:电机控制的基本原理
- Python简单使用蓝本
- 但行好事 莫问前程(四月)
- Tomcat启动Alias name [null] does not identify a key entry报错分析,涉及从公钥(CER)+私钥(KEY)转换为jks证书的方法
- 数据库死锁的预防与解除
- 幻数java题_幻数
- 在PyCharm环境中使用graphviz遇到的问题
- 节能与环保杂志节能与环保杂志社节能与环保编辑部2023年第2期目录
- Python Pandas DataFrame 表格 打印输出不能对齐的两种解决方案