Kerberos安装

振鹭2年前技术文章1032

1、环境准备

(1)安装好jdk

(2)下载Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy File。解压下载后的zip包,将得到的jar包放到所有服务器上的$JAVA_HOME/jre/lib/security/目录下。

image.png

2、安装kerberos相关服务
选择集群中的一台主机(hadoop01)作为Kerberos服务端,安装KDC,所有主机都需要部署Kerberos客户端。
服务端主机执行以下安装命令
yum install -y krb5-server
客户端主机执行以下安装命令(hadoop02,hadoop03)
yum install -y krb5-workstation krb5-libs
3、修改配置文件
(1)服务端主机(hadoop01)
修改/var/kerberos/krb5kdc/kdc.conf文件,内容如下
vim /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88
[realms]
 HDP.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-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
 }
(2)客户端主机(所有主机)
修改/etc/krb5.conf文件,内容如下
vim /etc/krb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
[libdefaults]
 Default_realm = HADOOP.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 udp_preference_limit = 1 
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_realm = HADOOP.COM
 #default_ccache_name = KEYRING:persistent:%{uid}
[realms]
 HADOOP.COM = {
  kdc = jz001
  admin_server = jz001
 }
[domain_realm]
# .HADOOP.com = HADOOP.COM
# HADOOP.com = HADOOP.COM
3、修改管理员权限配置权限
在服务端主机(jz001)修改/var/kerberos/krb5kdc/kadm5.acl文件,内容如下
*/admin@HDP.COM     *

image.png

4、将修改好的文件发送到其它所有客户端主机

scp /etc/krb5.conf root@hadoop02:/etc/krb5.conf
scp /var/kerberos/krb5kdc/kdc.conf  root@hadoop02:/var/kerberos/krb5kdc/kdc.conf
scp /var/kerberos/krb5kdc/kadm5.acl root@hadoop02:/var/kerberos/krb5kdc/kadm5.acl
5、初始化kdc数据库

在服务端主机(jz001)执行以下命令,并根据提示输入密码。

kdb5_util create -s -r HADOOP.COM

注意事项:

-s选项指定将数据库的主节点密钥存储在文件中,从而可以在每次启动KDC时自动重新生成主节点密钥。记住主密钥,稍后会使用。
这里需要输入一个管理KDC数据库的密码!千万别忘记了,忘记的话就只能重新初始化KDC数据库啦!
如果遇到数据库已经存在的提示,可以把/var/kerberos/krb5kdc/目录下的principal的相关文件都删除掉。默认的数据库名字都是principal(rm -f /var/kerberos/krb5kdc/principal*)。可以使用-d指定数据库名字。
另外:
当我们创建Kerberos数据库成功后,默认会在该目录下创建以下5个文件。
[root@hadoop01 hadoop]# ll -a /var/kerberos/krb5kdc/
总用量 56
drwxr-xr-x. 2 root root   168 7月  21 15:34 .
drwxr-xr-x. 4 root root    33 7月   6 17:40 ..
-rw-------. 1 root root    75 7月   6 18:57 .k5.HADOOP.COM
-rw-------. 1 root root    72 7月   6 18:43 .k5.HDP.COM
-rw-------. 1 root root    22 7月   6 17:53 kadm5.acl
-rw-------. 1 root root   446 7月   6 17:41 kdc.conf
-rw-------. 1 root root 32768 7月  19 01:52 principal
-rw-------. 1 root root  8192 7月   6 18:57 principal.kadm5
-rw-------. 1 root root     0 7月   6 18:57 principal.kadm5.lock
-rw-------. 1 root root     0 7月  19 01:52 principal.ok
[root@hadoop01 hadoop]#
初始化KDC超级管理员
kadmin.local -q "addprinc admin/admin@HADOOP.COM"
根据提示设置KDC管理员密码,一定要记住
admin/admin:为管理员账户
HADOOP.COM:为手动配置的realm
密码:admin
6、启动kerberos相关服务
在主节点启动KDC,并配置开机自启
systemctl start krb5kdc
systemctl enable krb5kdc
在主节点启动Kadmin,该服务为KDC数据库访问入口
systemctl start kadmin
systemctl enable kadmin
7、创建kerberos管理员用户
kadmin.local -q "addprinc admin/admin"


相关文章

如何分析IIS占用CPU资源问题?看看这篇文章吧

如何分析IIS占用CPU资源问题?看看这篇文章吧

ProcDump捕获dump文件1、下载官方下载地址为:https://learn.microsoft.com/en-us/sysinternals/downloads/procdump#introd...

开源大数据集群部署(六)Keytab文件生成

开源大数据集群部署(六)Keytab文件生成

1、 创建keytab文件除了使用明文密码登录之外,Kerberos还可以使用keytab密码文件登陆,现在为testcuser创建它的keytab文件ipa-getkeytab -s ipa.hdp...

apache Kyuubi部署及对接hive

apache Kyuubi部署及对接hive

1、背景客户重度使用spark sql,但是使用spark thriftserver存在各种各样的问题,我们选择使用kyuubi来替代spark thriftserver的使用2、安装包下载下载地址:...

docker安装及常用操作

docker安装及常用操作

一、安装docker1、移除以前docker相关包sudo yum remove docker \      ...

shell编程基础(一)

shell编程基础(一)

1.1 为什么学ShellShell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚本的内容。每一个合格...

MySQL主从部署(同步+半同步)

一、环境规划1.1服务器规划服务器 IP 版本 配置 Mysql 端口 角色172-16-104-8 172.16.104.8 CentOS release 6.8 (Final) 4c8g 5.7....

发表评论    

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