Kerberos安装

振鹭1年前技术文章531

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"


相关文章

日志聚合工具loki

1、loki是什么Loki是一个水平可扩展,高可用性,多租户的日志聚合系统,受到Prometheus的启发。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。...

Trino部署

安装前准备1.1. 创建用户和用户组groupadd trinouseradd -g hadoop trino1.2. 配置环境变量1.2.1. 配置系统环境变量/etc/profileexport...

磁盘分区与挂载

磁盘分区与挂载

背景当我们新建一个服务器时,需要对磁盘进行分区、格式化、挂载等操作。那么我们应该如何进行呢?一、LVM技术1、安装所需的lvm工具yum install -y lvm22、创建物理卷PVpvcreat...

idea打包java可执行jar包

idea打包java可执行jar包

1,在项目上鼠标右键 --> Open Module SettingsArtifacts --> + --> JAR --> From modules with depende...

Ranger部署

安装前准备1.1. 创建用户和用户组groupadd rangeruseradd -g ranger ranger1.2. 数据库配置mysql -uroot -p -hxxx.xxx.xxx.13 ...

Flink 状态管理

Flink 状态管理

一、  Flink 中的状态1、由一个任务维护,并且用来计算某个结果的所有数据,都属于这个任务的状态 2、可以认为状态就是一个本地变量,可以被任务的业务逻辑访问 3、Flink 会进行状态管理,包括状...

发表评论    

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