如何禁用CDH集群Kerberos

2018-07-12 14:32:44 浏览数 (1)

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

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

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

1.文档编写目的


Fayson在前面的文章介绍了如何为CDH集群启用Kerberos,在集群启用Kerberos后,会对现有环境的部分代码做改造,有些人觉得使用起来不方便,想取消Kerberos。本篇文章Fayson主要介绍如何禁用CDH集群的Kerberos及禁用后对各组件服务的测试。

注意:本文禁用Kerberos属于比较暴力的方式,未在正式成产环境做严格测试,操作方式仅供参考,建议使用环境为开发/测试/Poc环境。

  • 内容概述

1.集群环境说明

2.禁用Kerberos及启动服务

3.验证服务及各个服务功能

4.总结

  • 测试环境

1.CM和CDH版本为5.12.1

2.集群已启用Kerberos

3.集群已启用Sentry

2.集群环境介绍


1.CDH集群已启用Kerberos

2.禁用前集群HDFS信息

3.禁用Kerberos


1.通过CM停止CDH集群的所有服务

服务停止成功

2.对Zookeeper服务操作

通过CM修改Zookeeper的enableSecurity为false(即取消勾选,保存配置)

查看Zookeeper服务的数据目录

登录服务器将Zookeeper的数据目录下的文件删除

代码语言:javascript复制
[root@ip-172-31-2-37 zookeeper]# pwd
/var/lib/zookeeper
[root@ip-172-31-2-37 zookeeper]# rm -rf *
[root@ip-172-31-2-37 zookeeper]# ll

(可左右滑动)

注意:所有Zookeeper的数据目录下文件都要删除。

执行Zookeeper初始化操作

初始化成功

3.修改HDFS配置

修改Hadoop的安全身份验证

代码语言:javascript复制
hadoop.security.authentication 修改为simple
hadoop.security.authorization 修改为false即取消勾选

(可左右滑动)

修改DataNode的数据目录权限为755

代码语言:javascript复制
dfs.datanode.data.dir.perm 修改为755

(可左右滑动)

修改DataNode服务的端口号

代码语言:javascript复制
dfs.datanode.address 修改为50010
dfs.datanode.http.address 修改为50070

(可左右滑动)

保存修改的配置信息。

4.进入HBase服务修改配置

修改HBase的身份验证

代码语言:javascript复制
hbase.security.authentication 修改为simple
hbase.security.authorization 修改为false即取消勾选
hbase.trift.security.qop修改为none

(可左右滑动)

修改完成保存配置。

5.Hue服务修改

删除Hue实例中的 “Kerberos Ticket Renewer”服务

删除成功

6.修改Hive配置,如果集群未启用Sentry则跳过此步

代码语言:javascript复制
<property>
    <name>sentry.hive.testing.mode</name>
    <value>true</value>
</property>

(可左右滑动)

保存配置

7.重启Cloudera Management Service服务

修改完上述配置后,重启ClouderaManagement Service 服务

重启成功

4.集群服务启动


1.启动Zookeeper服务

启动成功

Leader选举正常

注意:这里先启动Zookeeper服务。

2.初始化Failover Controller服务的自动故障转移Znode

选择任意一个FailoverController服务进入,初始化自动故障转移Znode

3.启动集群剩余服务

服务启动中

服务启动中

服务启动成功

4.部署客户端配置

点击“部署客户端配置”,如下部署成功

集群各个服务状态正常

5.验证服务是否正常


1.HDFS服务主备正常

2.Yarn服务主备正常

3.HBase的Master服务正常

4.CM显示Kerberos已禁用

5.HDFS数据量与禁用Kerberos之前一致

6.服务功能验证


1.HDFS服务验证

查看HDFS文件系统

代码语言:javascript复制
[root@ip-172-31-11-224 ~]# klist
[root@ip-172-31-11-224 ~]# hadoop fs -ls /

(可左右滑动)

向集群put文件及查看

代码语言:javascript复制
[root@ip-172-31-11-224 ~]# ll
[root@ip-172-31-11-224 ~]# hadoop fs -put original-ks.cfg /tmp
[root@ip-172-31-11-224 ~]# hadoop fs -ls /tmp
[root@ip-172-31-11-224 ~]# hadoop fs -cat /tmp/original-ks.cfg |more

(可左右滑动)

在未Kinit的情况下正常使用Hadoop命令

2.Hive服务验证

使用HiveCLI访问Hive,执行SQL查询及Count操作

使用Beeline方式访问Hive

代码语言:javascript复制
[root@ip-172-31-11-224 ~]# beeline
beeline> !connect jdbc:hive2://ip-172-31-2-37.ap-southeast-1.compute.internal:10000 hive hive
0: jdbc:hive2://ip-172-31-2-37.ap-southeast-1> show tables;
0: jdbc:hive2://ip-172-31-2-37.ap-southeast-1> select * from test;
0: jdbc:hive2://ip-172-31-2-37.ap-southeast-1> select count(*) from test;

(可左右滑动)

3.Impala服务验证

使用impala-shell的方式登录

代码语言:javascript复制
[root@ip-172-31-11-224 ~]# klist
[root@ip-172-31-11-224 ~]# impala-shell -u hive
[ip-172-31-11-224.ap-southeast-1.compute.internal:21000] > show tables;
[ip-172-31-11-224.ap-southeast-1.compute.internal:21000] > select * from test;
[ip-172-31-11-224.ap-southeast-1.compute.internal:21000] > select count(*) from test;

(可左右滑动)

4.HBase服务验证

代码语言:javascript复制
[root@ip-172-31-11-224 ~]# klist
[root@ip-172-31-11-224 ~]# hbase shell
hbase(main):001:0> create 'picHbase', {NAME => 'picinfo'}
hbase(main):002:0> put 'picHbase','001','picinfo:content','test'
hbase(main):003:0> scan 'picHbase'
hbase(main):004:0> list

(可左右滑动)

5.Hue服务功能验证

6.向集群提交一个MapReduce作业

代码语言:javascript复制
[root@ip-172-31-11-224 ~]# klist
[root@ip-172-31-11-224 ~]# hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

(可左右滑动)

7.向集群提交一个Spark1作业

代码语言:javascript复制
[root@ip-172-31-11-224 ~]# klist
[root@ip-172-31-11-224 ~]# spark-submit --class org.apache.spark.examples.SparkPi  --master yarn-client --num-executors 4 --driver-memory 2g  --driver-cores 1 --executor-memory 2g --executor-cores 1  /opt/cloudera/parcels/CDH/lib/spark/lib/spark-examples.jar 10

(可左右滑动)

作业执行成功

8.向集群提交一个Spark2的作业

作业运行成功

7.总结


  • 禁用CDH集群的Kerberos服务,主要是依赖Zookeeper的各个服务对Znode的读取权限,这里Fayson比较暴力直接将Zookeeper的数据目录删除重新初始化。
  • 需要对启用了Kerberos的服务进行修改,禁用每个服务的Kerberos。
  • 在修改完配置后,启用HDFS时需要注意,由于Fayson直接删除了Zookeeper的数据目录所以我们要为Failover Controller服务初始化自动故障转移Znode
  • 如果Kerberos集群启用了Sentry,需要注意的是禁用Kerberos后要在Hive中配置Sentry为testing mode模式。

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

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

0 人点赞