首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Redhat7.3的CDH5.14中启用Kerberos

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的

内容概述:

1.如何安装及配置KDC服务

2.如何通过CDH启用Kerberos

3.如何登录Kerberos并访问Hadoop相关服务

4.总结

测试环境:

1.操作系统:Redhat7.3

2.CDH5.14

3.采用ec2-user用户进行操作

2.KDC服务安装及配置

本文档中将KDC服务安装在Cloudera Manager Server所在服务器上(KDC服务可根据自己需要安装在其他服务器)

1.在Cloudera Manager服务器上安装KDC服务

(可左右滑动)

2.修改/etc/krb5.conf配置

(可左右滑动)

标红部分为需要修改的信息。

3.修改/var/kerberos/krb5kdc/kadm5.acl配置

(可左右滑动)

4.修改/var/kerberos/krb5kdc/kdc.conf配置

(可左右滑动)

标红部分为需要修改的配置。

5.创建Kerberos数据库

(可左右滑动)

此处需要输入Kerberos数据库的密码。

6.创建Kerberos的管理账号

(可左右滑动)

标红部分为Kerberos管理员账号,需要输入管理员密码。

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

(可左右滑动)

8.测试Kerberos的管理员账号

(可左右滑动)

9.为集群安装所有Kerberos客户端,包括Cloudera Manager

使用批处理脚本为集群所有节点安装Kerberos客户端

(可左右滑动)

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

(可左右滑动)

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

使用批处理脚本将Kerberos服务端的krb5.conf配置文件拷贝至集群所有节点的/etc目录下:

(可左右滑动)

3.CDH集群启用Kerberos

1.在KDC中给Cloudera Manager添加管理员账号

(可左右滑动)

2.进入Cloudera Manager的“管理”->“安全”界面

3.选择“启用Kerberos”,进入如下界面

4.确保如下列出的所有检查项都已完成

5.点击“继续”,配置相关的KDC信息,包括类型、KDC服务器、KDC Realm、加密类型以及待创建的Service Principal(hdfs,yarn,,hbase,hive等)的更新生命期等

6.不建议让Cloudera Manager来管理krb5.conf,点击“继续”

7.输入Cloudera Manager的Kerbers管理员账号,一定得和之前创建的账号一致,点击“继续”

8.点击“继续”启用Kerberos

9.Kerberos启用完成,点击“继续”

10.勾选重启集群,点击“继续”

11.集群重启完成,点击“继续”

12.点击“继续”

点击“完成”,至此已成功启用Kerberos。

4.Kerberos使用

使用fayson用户运行MapReduce任务及操作Hive,需要在集群所有节点创建fayson用户。

1.使用kadmin创建一个fayson的principal

(可左右滑动)

2.使用fayson用户登录Kerberos

(可左右滑动)

3.在集群所有节点添加fayson用户

使用批量脚本在所有节点添加fayson用户

(可左右滑动)

4.运行MapReduce作业

(可左右滑动)

5.使用beeline连接hive进行测试

(可左右滑动)

创建一个test表

(可左右滑动)

向test表中插入数据

(可左右滑动)

执行一个Count语句

(可左右滑动)

5.常见问题

1.使用Kerberos用户身份运行MapReduce作业报错

(可左右滑动)

问题原因:是由于Yarn限制了用户id小于10000的用户提交作业;

2.进行kinit操作后,执行MR作业报“User fayson not found”

问题原因:在集群的节点上没有fayson这个用户

解决方法:需要在集群所有节点添加fayson用户

6.总结

在CDH集群中启用Kerberos需要先安装Kerberos服务(krb5kdc和kadmin服务)

在集群所有节点需要安装Kerberos客户端,用于和kdc服务通信

在ClouderaManager Server节点需要额外安装openldap-clients包

CDH集群启用Kerberos后,使用自己定义的fayson用户向集群提交作业需确保集群所有节点的操作系统中存在fayson用户,否则作业会执行失败

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180209G01F8R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券