分享

CDH配置Kerberos后的问题

blackmoon 2015-5-26 17:52:19 发表于 异常错误 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 107548
各位下午好:


今天把测试环境的CDH部署上了Kerberos,部署完后实际用起来发现和事前浏览的一些资料完全不是一回事......遇到了一些问题,还望各位解惑。


1.配置了Kerberos之后,执行各种操作(hdfs dfs -ls 、启动Impala、 执行spark的pi demo,hbase下list)都会报错:
GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
查了一下说是没有ticket缓存,我通过kinit命令缓存了hdfs的ticket,然后执行Spark的pi demo & Hbase下执行List通过了,然后我的第一个疑问就是,不是每次尝试对server发起连接时自动去KDC获取tgt的吗?那么我现在每次做任何操作,都要先手动kinit缓存相关用户的ticket?


2.Hbase下执行desc操作报错:
ERROR: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=hdfs@CDH.COM, scope=afor8, family=, action=CREATE)

虽然我部署kerberos就是为了能划分权限,不过现在管理员权限是在哪个用户上.....如果是hbase用户的话,还有一个问题是,报错中的user=hdfs@CDH.COM是我手工kinit缓存的用户,hbase用户的凭据应该是CM自动建立的,我不知道建立时的密码......


3.部署上Kerberos之后,那么每个用户有权限访问什么,没有权限访问什么又应该是在哪里配置呢?


已有(5)人评论

跳转到指定楼层
bob007 发表于 2015-5-26 18:32:11
本帖最后由 bob007 于 2015-5-26 18:58 编辑

1.它应该 手动配置,应该不需要每次都需要这样。
2.hbase权限的问题。
这个跟
addprinc hdfs@CDH.COM

这里是配置密码的地方,楼主可能忘记了

回复

使用道具 举报

blackmoon 发表于 2015-5-27 14:34:03
本帖最后由 blackmoon 于 2015-5-27 14:45 编辑

顶楼的问题我自己解决了,大致说一下吧。

1.部署上Kerberos之后,client要想访问server,需要向Kdc申请TGT,更换不同权限的用户也要再Kinit,可以通过Klist查看当前缓存的是哪一个用户,所有对服务的访问都会使用该用户,更具体的有感兴趣的同学去查一下kerberos的原理吧。

2.启动Hbase服务的用户是超级管理员用户,我这里就是hbase,kinit hbase用户后,再访问hbase shell就有了超管权限,可以为其他用户授权了。

然后,就是新问题:

1.哪位知道hbase如何管理namespace,如何对namespace进行授权?2.CDH是如何维护keytab的?现在有一个RegionServer一直报错,应该是keytab文件有问题,我应该替换或者让CDH重新生成keytab?

另外吐槽一下。居然没权限改我自己发的帖子,本来想更新来着,只好用回复的形式了= =




补充内容 (2015-5-29 21:09):
还是自己回答一下吧:hbase支持acls,可以通过shell直接对NS进行grant授权,我这边是在部署完成kerberos,在CDH中关联后就可以了。第二个问题,出现问题的原因是貌似kerberos不能用一个主体访问该主体自己的服务。

补充内容 (2015-5-29 21:10):
还有字数限制= =一下还补充不完....所谓对主体自己的服务访问,就好比我kinit了hive/master@XXX.COM,然后去访问hive/master@XXX.COM为主体启动的Hiveserver2,就报错了,在CM控制台重新生成主体才解决问题。
回复

使用道具 举报

yeshang 发表于 2015-9-2 18:16:45
楼主,您好!我在用cloudera manager配置hadoop kerberos时遇到了一些问题,可以向您请教一下吗
回复

使用道具 举报

js415247240 发表于 2018-1-18 14:26:39
请问一下,“查了一下说是没有ticket缓存,我通过kinit命令缓存了hdfs的ticket”,这个是如何操作的,需要输入密码,是什么密码?输入创建admin用户的密码提示不正确。
回复

使用道具 举报

blackmoon 发表于 2018-1-26 17:24:02
js415247240 发表于 2018-1-18 14:26
请问一下,“查了一下说是没有ticket缓存,我通过kinit命令缓存了hdfs的ticket” ...

不好意思啊,兄弟,时间太长记不清了,我中间这段时间也没搞CDH了 = =
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条