各位下午好:
今天把测试环境的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之后,那么每个用户有权限访问什么,没有权限访问什么又应该是在哪里配置呢?
|