EMR大数据平台开启kerberos方法

1 本地源配置

  服务器本地源没有配置,导致不能连接外网,参考其他可以连接外网的服务器,配置本地源。配置方法:

1.1打开CentOS.repo文件并修改

  Vi /etc/yum.repos.d/CentOS.repo

1.2增加yum配置

[base]

name=CentOS-$releasever - Base

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

baseurl=http://10.20.32.14/centos/7/os/$basearch/

gpgcheck=1

gpgkey=http://10.20.32.14/centos/RPM-GPG-KEY-CentOS-7

priority=1

 

#released updates

[updates]

name=CentOS-$releasever - Updates

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

baseurl=http://10.20.32.14/centos/7/updates/$basearch/

gpgcheck=1

gpgkey=http://10.20.32.14/centos/RPM-GPG-KEY-CentOS-7

priority=1

 

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras

baseurl=http://10.20.32.14/centos/7/extras/$basearch/

gpgcheck=1

gpgkey=http://10.20.32.14/centos/RPM-GPG-KEY-CentOS-7

priority=1

 

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus

baseurl=http://10.20.32.14/centos/7/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://10.20.32.14/centos/RPM-GPG-KEY-CentOS-7

priority=2

 

#contrib - packages by Centos Users

[contrib]

name=CentOS-$releasever - Contrib

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib

baseurl=http://10.20.32.14/centos/7/contrib/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://10.20.32.14/centos/RPM-GPG-KEY-CentOS-7

priority=2

1.3 yum安装kdc时报错

当使用yum安装KDC时报错

执行yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation时报错

Error: Package krb5-server.x86_64 (krb5-server-updates)

  解决办法:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

yum repolist

3 KDC 服务安装及配置

  [root@cdp1 ~]# yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-

Workstation

 

 

 

 

图3-1 kerberos安装

安装完之后,会在 KDC 主机上生成配置文件

l  /etc/krb5.conf

l  /var/kerberos/krb5kdc/kdc.conf

3.1 修改配置文件

主要修改标记位置,其他配置根据实际情况修改

3.1.1修改 krb5.conf 文件

[root@cdp1 ~]# vi /etc/krb5.conf

 

 

 

 

 

标红为修改部分

default_realm = TEST.COM #指定默认的域名

TEST.COM = {

kdc = cdp1 #kdc 服务器地址

admin_server = cdp1 #admin 服务(域控制器)地址

}

3.1.2 修改 kadm5.acl 文件

给数据库管理员添加 ACL 权限,修改 kadm5.acl 文件,*代表全部权限

[root@cdh1 ~]# vi /var/kerberos/krb5kdc/kadm5.acl

#当前用户 admin ,* 表示全部权限。可以新增用户和分配权限

#配置表示以/admin@WXAMPLE.COM 结尾的用户拥有*(all 也就是所有)权限

*/admin@TEST.COM *

3.1.3 修改 kdc.conf 文件

[root@cdp1 ~]# vi /var/kerberos/krb5kdc/kdc.conf

 

 

 

 

[kdcdefaults]

kdc_ports = 88

kdc_tcp_ports = 88

[realms]

TEST.COM = {

 #master_key_type = aes256-cts

 acl_file = /var/kerberos/krb5kdc/kadm5.acl

 dict_file = /usr/share/dict/words

 admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab

 supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmacsha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-

cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal

}

3.1.4 创建 Kerberos 数据库

[root@cdp1 ~]# kdb5_util create -r TEST.COM –s

创建好数据库后。可以在目录 var/kerberos/krb5kdc 看到以下文件:

若重建数据库则需先删除/var/kerberos/krb5kdc 下面 principal 相关文件

 

 

 

 

说明:

 [-s] 表示生成 stash file,并在其中存储 master server key(krb5kdc)

 [-r] 来指定一个 realm name,当 krb5.conf 中定义了多个 realm 时使用

 当 Kerberos database 创建好了之后,在/var/kerberos/中可以看到生成的 principal

相关文件

 如果遇到数据库已经存在的提示,可以把 /var/kerberos/krb5kdc/ 目录下的

principal 的相关文件都删除掉。默认的数据库名字都是 principal。可以使用 -d

指定数据库名字。

3.1.5 添加数据库管理员

注意 kadmin.local 可以直接运行在 KDC 上,而无需通过 Kerberos 认证

[root@cdp1 ~]# kadmin.local

kadmin.local: addprinc admin/admin@TEST.COM

按提示设定密码。

3.1.6启动 Kerberos

将 Kerberos 服务添加到自启动服务,并启动 krb5kdc 和 kadmin 服务

##Centos7 的指令

[root@cdp1 ~]# systemctl enable krb5kdc

[root@cdp1 ~]# systemctl enable kadmin

[root@cdp1 ~]# systemctl start krb5kdc

[root@cdp1 ~]# systemctl start kadmin

3.1.7 对管理员账号进行验证

[root@cdp1 ~]# kinit admin/admin@TEST.COM

[root@cdp1 ~]# klist

 

 

 

 

3.2 安装 Kerberos 客户端(所有节点执行)

3.2.1 为集群安装 Kerberos 客户端

[root@cdp1 ~]# yum -y install krb5-libs krb5-workstation

[root@cdp2 ~]# yum -y install krb5-libs krb5-workstation

[root@cdp3 ~]# yum -y install krb5-libs krb5-workstation

3.2.2 在 Cloudera Manager Server 服务器上安装额外的包

[root@cdp1 ~]# yum -y install openldap-clients

将 KDC Server 上的 krb5.conf 文件拷贝到所有 Kerberos 客户端(拷贝到所有

节点)

[root@cdp1 ~]# scp /etc/krb5.conf root@10.20.24.236:/etc/

[root@cdp1 ~]# scp /etc/krb5.conf root@10.20.24.238:/etc/

3.2.3 配置 JCE

对于使用 Centos5.6 及以上的系统,默认采用 AES-256 来加密。这就需要 CDP

集群所有的节点都安装 Java Cryptography Extension (JCE) Unlimited

Strength Jurisdiction Policy File

下载路径: http://www.oracle.com/technetwork/java/javase/downloads/jce8-

download-2133166.html

jce_policy-8.zip

下载后,在各节点执行

cp UnlimitedJCEPolicyJDK8/*.jar /opt/module/jdk1.8.0_144/jre/lib/security/

验证客户端访问 KDC

kadmin -p 'admin/admin' -w 'admin' -s '10.20.24.162' -q 'list_principals'

说明:

  [-p] 来指定用户名和实例

[-w] 来指定该用户名实例对应的密码

[-s] 表示 kdc server 服务器所在 IP

[-q] 表示指令

 

 

 

 

4 在HDP上启动 Kerberos 步骤

HDP 集群启用 Kerberos(集群需安装 Ranger 服务) 在 KDC 中给 Cloudera Manager 添加管理员账号 [root@cdp1 ~]# kadmin.local Authenticating as principal admin/admin@TEST.COM with password. kadmin.local: addprinc cloudera-scm/admin@TEST.COM 进入 HDP 管理安全界面

4.1启用 Kerberos

 

 

 

 

4.2 选择 MIT KDC

  注意:KDC hostKadmin host一定要填写hostname,否则kerberos会提示找不到kadmin/manager.bigdata@HADOOP.COM这个principal

  

 

 

 

4.3 KDC配置

 

 

 

 

4.4  Kerberos Client 安装

  1.安装client

 

 

 

 

  2.配置默认参

 

 

 

  3.检查默认配置

 

 

 

  4.停止服务

 

 

 

  5.启用kerberos服务

 

 

 

后面就是全部服务的启动,并且 Kerberos 会为每个组件创建 Principal 和 Keytab ,可以在 KDC 数据库中查看。

5.异常问题处理

5.1 kerberos开启后tez引擎不可用

  如果链接hiveserver2后,使用tez引擎时发生异常,需要配置hadoop的代理用户,配置方式如下:

 

图5.1-1 hadoop的代理用户配置

5.2  yarn日志打不开

  yarn的执行日志打不开时,需要增加参数配置

hadoop.http.authentication.simple.anonymous.allowed设置为true

hadoop.http.authentication.type设置为simple

posted @ 2022-05-05 19:32  虎啸千峰  阅读(378)  评论(0编辑  收藏  举报