作者:余枫
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,即取消勾选,否则重启失败