0596-6.2.0-如何在CDH6.2中禁用Kerberos
Fayson的github: https://github.com/fayson/cdhproject
推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f
1 文档编写目的
Fayson在前面的文章介绍了如何为CDH集群启用Kerberos,在集群启用Kerberos后,会对现有环境的部分代码做改造,有些人觉得使用起来不方便,想取消Kerberos。本篇文章Fayson主要介绍如何禁用CDH集群的Kerberos及禁用后对各组件服务的测试。
注意:本文禁用Kerberos属于比较暴力的方式,未在正式成产环境做严格测试,操作方式仅供参考,建议环境为开发/测试/Poc环境。
- 测试环境
1.CM和CDH版本为6.20
2.集群已启用Kerberos
2 禁用过程
2.1 通过CM停止集群的所有服务
服务停止成功
2.2 对Zookeeper服务进行配置
通过CM修改Zookeeper的enableSecurity为false(取消勾选)
查看Zookeeper服务的数据目录
登陆服务器将Zookeeper数据目录下的文件删除(所有Zookeeper的数据目录下的文件都要删除)
执行Zookeeper初始化操作
初始化成功
2.3 修改HDFS配置
修改Hadoop的安全身份验证
第一个选为simple,第二个取消勾选
修改DataNode的数据目录权限为755
修改DataNode服务的端口号,分别修改为50010和50075
2.4 进入HBase服务修改配置
修改HBase的身份验证
第一个修改为simple,第二个取消勾选,第三个修改为none
2.5 Hue服务修改
删除Hue实例中的”Kerberos Ticket Renewer”服务
删除成功
2.6 重启Cloudera Management Service服务
修改完上面的配置后,重启服务
重启成功
3 集群服务启动
3.1 启动Zookeeper
启动失败,报错
在CDH6中还需要再修改Zookeeper的一项配置,如下图,将这项配置取消勾选
再次启动,启动成功
Leader选举正常
3.2 启动集群剩余服务
启动成功
3.3 部署客户端配置
重新部署
重新部署成功
4 验证服务是否正常
4.1 HDFS服务
4.2 Yarn服务
4.3 HBase的Master服务
4.4 CM显示Kerberos已禁用
5 服务功能验证
5.1 HDFS服务
查看HDFS文件系统
向HDFS put文件及查看
在未kinit的情况下正常使用HDFS
5.2 Hive服务
使用HiveCLI访问Hive,执行SQL查询及Count操作
5.3 Impala服务
使用impala-shell的方式启动Impala
5.4 HBase服务
启动HBase
建表、插入数据、查询
5.5 Hue服务
5.6 向集群提交一个MapReduce作业
作业执行成功
6 总结
-
禁用CDH集群的Kerberos服务,主要是依赖Zookeeper的各个服务对Znode的读取权限,这里Fayson比较暴力直接将Zookeeper的数据目录删除重新初始化。
-
需要对启用了Kerberos的服务进行修改,禁用每个服务的Kerberos。
-
注意如果你集群的HDFS启用了HA,在修改完配置后,启用HDFS时需要注意,由于Fayson直接删除了Zookeeper的数据目录所以我们要为Failover Controller服务初始化自动故障转移Znode
-
如果Kerberos集群启用了Sentry,需要注意的是禁用Kerberos后要在Hive中配置Sentry为testing mode模式。
-
与CDH5中禁用Kerberos相比,CDH6中在重启Zookeeper时还需要将quorum.auth.enableSasl设置为false,即取消勾选,否则重启失败