简介



Kerberos认证流程


环境准备











安装Kerberos服务端








yum安装

yum install krb5-server krb5-libs krb5-workstation -y

vim /etc/krb5.conf

[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]default_realm = HADOOP.COMdns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = trueclockskew = 120udp_preference_limit = 1[realms]HADOOP.COM = {kdc = node1admin_server = node1}[domain_realm].hadoop.com = HADOOP.COMhadoop.com = HADOOP.COMnode1 = HADOOP.COMnode2 = HADOOP.COMnode3 = HADOOP.COMnode4 = HADOOP.COMnode5 = HADOOP.COM

说明:
[logging]:表示server端的日志的打印位置
udp_preference_limit = 1 禁止使用udp可以防止一个Hadoop中的错误
ticket_lifetime: 表明凭证生效的时限,一般为24小时。
renew_lifetime: 表明凭证最长可以被延期的时限,一般为一个礼拜。当凭证过期之后,对安全认证的服务的后续访问则会失败。
clockskew:时钟偏差是不完全符合主机系统时钟的票据时戳的容差,超过此容差将不接受此票据,单位是秒

vim /var/kerberos/krb5kdc/kdc.conf

[kdcdefaults]kdc_ports = 88kdc_tcp_ports = 88[realms]HADOOP.COM = {#master_key_type = aes256-ctsacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabmax_renewable_life = 7dsupported_enctypes = 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}

vim /var/kerberos/krb5kdc/kadm5.acl

#修改如下
*/admin@HADOOP.COM  *
#kadm5.acl 文件更多内容可参考:kadm5.acl


只要名称满足上述规则就可以拥有最高权限。

初始化kerberos database

cd /var/kerberos/krb5kdc/
kdb5_util create -s -r HADOOP.COM
# hust@4400


图示有误,是会创建4个文件。

创建账户

kadmin.local
addprinc root/admin@HADOOP.COM
listprincs




设置开机自启

[root@node1 krb5kdc]# systemctl restart krb5kdc.service
[root@node1 krb5kdc]# systemctl restart kadmin
[root@node1 krb5kdc]# systemctl enable krb5kdc.service
Created symlink from /etc/systemd/system/multi-user.target.wants/krb5kdc.service to /usr/lib/systemd/system/krb5kdc.service.
[root@node1 krb5kdc]# systemctl enable kadmin.service
Created symlink from /etc/systemd/system/multi-user.target.wants/kadmin.service to /usr/lib/systemd/system/kadmin.service.
[root@node1 krb5kdc]#

安装Kerberos客户端

每一个node节点都需要安装客户端及其配置。

yum安装

yum install krb5-libs krb5-workstation -y

vim /etc/krb5.conf


或者直接将server节点的该配置文件拷贝到各个节点即可:

[root@node1 krb5kdc]# scp /etc/krb5.conf node2:/etc/krb5.conf
krb5.conf                                                                                                          100%  557   544.7KB/s   00:00
[root@node1 krb5kdc]# scp /etc/krb5.conf node3:/etc/krb5.conf
krb5.conf                                                                                                          100%  557   561.7KB/s   00:00
[root@node1 krb5kdc]# scp /etc/krb5.conf node4:/etc/krb5.conf
krb5.conf                                                                                                          100%  557   490.3KB/s   00:00
[root@node1 krb5kdc]# scp /etc/krb5.conf node5:/etc/krb5.conf
krb5.conf                                                                                                          100%  557   472.8KB/s   00:00
[root@node1 krb5kdc]#

客户端登录服务端

kinit root/admin@HADOOP.COM
#输入密码后没任何输出表示正确
klist
#登录 输入密码后进入
kadmin
listprincs


规划Hadoop中各个服务分配kerberos的principal



nm和nodemanager可自定义,易于识别即可

配置HDFS

配置HDFS相关的kerberos账户


keytab文件就相当于kerberos账户的钥匙,有了它就可以免密使用该账户。

mkdir /etc/security/keytabs
cd /etc/security/keytabs
kadmin

node1上的服务:

建一个就行了,其他的多余!!
addprinc -rankey hdfs/node1@HADOOP.COM

kadmin
addprinc -rankey nn/node1@HADOOP.COM
addprinc -rankey rm/node1@HADOOP.COM
addprinc -rankey HTTP/node1@HADOOP.COM

ktadd -k /etc/security/keytabs/nn.service.keytab nn/node1@HADOOP.COM

ktadd -k /etc/security/keytabs/rm.service.keytab rm/node1@HADOOP.COM

ktadd -k /etc/security/keytabs/spnego.service.keytab HTTP/node1@HADOOP.COM

ll /etc/security/keytabs

cd /etc/security/keytabs
chmod 400 *

编译及拷贝程序

core-site.xml


hdfs-site.xml

自己配置

kerberos server上执行kadmin.local

kadmin.local:  addprinc hdfs/node1@HADOOP.COM
kadmin.local:  addprinc hdfs/node2@HADOOP.COM
kadmin.local:  addprinc hdfs/node3@HADOOP.COM
kadmin.local:  addprinc hdfs/node4@HADOOP.COM
kadmin.local:  addprinc hdfs/node5@HADOOP.COM
kadmin.local:  addprinc http/node1@HADOOP.COM
kadmin.local:  addprinc http/node2@HADOOP.COM
kadmin.local:  addprinc http/node3@HADOOP.COM
kadmin.local:  addprinc http/node4@HADOOP.COM
kadmin.local:  addprinc http/node5@HADOOP.COMkadmin.local:  ktadd -norandkey -k /etc/security/keytabs/hdfs.keytab hdfs/node1@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/hdfs.keytab hdfs/node2@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/hdfs.keytab hdfs/node3@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/hdfs.keytab hdfs/node4@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/hdfs.keytab hdfs/node5@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/http.keytab http/node1@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/http.keytab http/node2@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/http.keytab http/node3@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/http.keytab http/node4@HADOOP.COM
kadmin.local:  ktadd -norandkey -k /etc/security/keytabs/http.keytab http/node5@HADOOP.COM

安装Kerberos服务端和客户端相关推荐

  1. 安装Oracle11g服务端,客户端,监听,自定义设置教程(傻瓜式安装文档)

    一.安装服务端 1.将下载好的包解压在同一目录里 2.运行setup 3.会出现黑窗口等待执行完毕就行 4.出现下面窗口确认继续 5.看自己需求选不选都行 6. 在"选择安装选项" ...

  2. CentOS安装NFS服务端和客户端

    在服务器上: 1.服务器上安装 NFS 服务器所需的软件包: yum install -y nfs-utils 2.编辑exports文件,添加从机 vi /etc/exports /data/    ...

  3. Java快速开发框架_若依——Ruoyi-SpringCloud版本-2.安装redis服务端和客户端-win7

    QQ 1274510382 Wechat JNZ_aming 商业联盟 QQ群538250800 技术搞事 QQ群599020441 解决方案 QQ群152889761 加入我们 QQ群6493473 ...

  4. 网络启动安装linux客户机nfs设置,NFS服务端和客户端安装配置

    一  NFS介绍 NFS用的比较多,但是更新没有想象的那么快,Nginx一年要迭代很多个版本,而NFS最新版本4.1是2010年更新的,到目前为止还没有更新过,但这并不影响NFS使用的广泛性 RPC协 ...

  5. linux远程日志rsyslog服务端和客户端安装(亲测)--自定义接收日志格式

    linux远程日志rsyslog服务端和客户端安装 用rsyslog的缘由:  1.防止系统崩溃无法获取系统日志分享崩溃原因,用rsyslog可以把日志传输到远程的日志服务器上  2.使用rsyslo ...

  6. 无盘服务器 安装客户机程序,顺网云服务端和客户端安装

    在维护云网站或 APP 端,进行平台账号注册: 访问维护云平台注册页面 访问维护云 App 下载界面 新用户注册完成,系统即自动为您定制专属安装包. 服务端安装 双击服务端 exe 安装程序,输入网吧 ...

  7. CARLA 笔记(02)— Ubuntu 安装 CARLA(服务端、客户端、安装 miniconda、创建虚拟环境、更换 pip 源、生成交通流、人工控制车辆按键)

    https://carla.readthedocs.io/en/0.9.13/start_quickstart/ 1. 预置条件 Ubuntu 18.04 CARLA 0.9.13 8 GB 以上显卡 ...

  8. nodejs01——安装及使用、服务端及客户端、commonjs规范、fs模块的使用(文件操作及目录操作)、stream、buffer、WebServer、端口、动态资源及静态资源、头信息、请求方式

    nodejs的安装及使用 服务端及客户端 commonjs规范 fs模块的使用(文件操作及目录操作) stream buffer // Node.js介绍 Node.js 诞生于2009年,Node. ...

  9. windows安装Oracle12 (服务端+客户端)

    目的: windows 系统下,实现: 1 多台机器之间的通信.如有四台机器且在一个子网内,要先把机器连起来,能够互相ping,然后继续后续 2 第二件事情,是搭建Oracle服务/客户端环境.为了更 ...

最新文章

  1. Android Studio 中文显示方块□□问题解决
  2. 第一周周日DailyReporting——PM(李忠)
  3. 公众平台模板消息所在行业_第三方工具微信公众号模板消息群发如何操作?
  4. python中垃圾回收机制_Python中的变量和垃圾回收机制
  5. 图象:sine(正弦)、cosine(余弦)与Tangent(正切)
  6. Java线程类的继承结构
  7. c语言喂狗的作用,兽医忠告:用这几样食物喂狗,简直就是喂“砒霜”!
  8. linux服务器登录次数,Linux 服务器和Windows服务器 用户登录失败次数限制【互联网金融系统漏洞排查】...
  9. About 日常生活感想
  10. 1193, Unknown system variable 'tx_isolation'
  11. 计算机教学提问的观课量表,观课议课|如何使用观察和记录量表
  12. PTAM在Linux下编译运行
  13. 对四旋翼飞行器的分析
  14. 反转链表——Java递归求解
  15. Android 访问 https的webservice接口
  16. 看柴静《苍穹之下》有感
  17. 【压缩感知】Convolutional Neural Networks for Non-iterative Reconstruction of Compressively Sensed Images
  18. 嘴上老喊辞职的人总也不走,如何看待这种现象?
  19. pg_stat_database 视图 tup_returned、tup_fetched 的含义
  20. 海明码(汉明码)详解

热门文章

  1. 线性规划之单纯形法(1)
  2. 【CV】计算机视觉领域有哪些不错的博客?
  3. 一文看尽8篇目标检测最新论文(EfficientDet/EdgeNet/ASFF/RoIMix/SCL/EFGRNet等)
  4. 信息抽取(五)实体命名识别之嵌套实体识别哪家强,我做了一个简单的对比实验
  5. 报告解读|远程银行:从扎根网络到加速上云
  6. AI换脸引发全民恐慌,用对方向却能推动行业变革
  7. 网易云信上线合作伙伴计划,亿元订单等你强强联合!
  8. 你要的云小信是范爷?柳岩?还是奶茶MM?
  9. Scala基础知识笔记2
  10. Python性能优化的20条建议