
0.ENV
CentOS 7.6;
CDP 7.1.6;
CM 7.4.4 .

1. 升级后出现的问题
ranger audit access显示不全--重启解决;
hive用户在beeline中执行show databases提示没有use权限;
admin用户(hue中)在impala中执行show databases提示没有use权限;
CDP平台user_a下test、test_m数据库不能访问,但前端数栈工具可以正常访问数据。

2. 处理过程
2.1 重启ranger
ranger -> Audit -> Access页面不能访问为bug:CDPD-14423CDPD-14423: Fixes Rangers connection to Solr to pull audit events from Solr ServiceRanger was unable to fetch Audit events from solr after expiry of kerberos ticket. This issue is resolved
通过在线重启Ranger,access页面显示正常,重启Ranger对各业务无影响。
2.2 通过hdfs查看用户test数据库存在
[root@namenode01 ~]# find / -name hdfs.keytab | grep hdfs-NAMENODE/run/cloudera-scm-agent/process/8571-hdfs-NAMENODE-nnRpcWait/hdfs.keytab/run/cloudera-scm-agent/process/8559-hdfs-NAMENODE/hdfs.keytab[root@namenode01 ~]# klist -ket /run/cloudera-scm-agent/process/8559-hdfs-NAMENODE/hdfs.keytabKeytab name: FILE:/run/cloudera-scm-agent/process/8559-hdfs-NAMENODE/hdfs.keytabKVNO Timestamp Principal---- ------------------- ------------------------------------------------------...2 05/11/2021 12:04:33 hdfs/namenode01.rundba.com@RUNDBA.COM (des-hmac-sha1)2 05/11/2021 12:04:33 hdfs/namenode01.rundba.com@RUNDBA.COM (des-cbc-md5)[root@namenode01 ~]# kinit -kt /run/cloudera-scm-agent/process/8559-hdfs-NAMENODE/hdfs.keytab hdfs/namenode01.rundba.com@RUNDBA.COM[root@namenode01 ~]# klistTicket cache: FILE:/tmp/krb5cc_0Default principal: hdfs/namenode01.rundba.com@RUNDBA.COMValid starting Expires Service principal12/03/2021 13:42:54 12/04/2021 13:42:54 krbtgt/RUNDBA.COM@RUNDBA.COMrenew until 12/08/2021 13:42:54通过查看hdfs上的hive表数据均存在,以test数据库为例[root@namenode01 ~]# hdfs dfs -ls /warehouse/tablespace/external/hive/test.dbFound 6 itemsdrwxrwxrwx+ - hive hive 0 2021-11-18 17:24 /warehouse/tablespace/external/hive/test.db/history_view_pthoursdrwxrwxrwx+ - hive hive 0 2021-11-19 10:16 /warehouse/tablespace/external/hive/test.db/test_t_history_z3_i_hidrwxrwxrwx+ - hive hive 0 2021-12-03 10:01 /warehouse/tablespace/external/hive/test.db/test_t_history_z3_i_hi_2
2.3 修正策略
修改user_a策略,“Deny All Other Accesses:”将enbaled设置为disabled,表示将“除自己外禁止其它用户进行访问”不启用。
此时遇到impala中执行show databases显示22张表,hive执行show databases显示30张表。
hive和impala共用同一份元数据,理论上显示应都是40张表。通过对比,发现user_a用户下的7个库:test_m、test_d、test_n、test_s、test、user_a、tes_t,以及sys、information_schema,impala中不能显示,
另外一个库是impala内置库。通过策略查看、验证,均无异常。
验证数小时,问题未解决,且存在同一个策略在同一台主机有时denied,有时allowed。
问题分析无果后,计划从impala出查找原因,而随后其它同事验证正常(不解):
hive、admin(hue中) 在hive和impala下执行show databases均正常,数据库数量相同。
impala-shell中show databases也显示正常。
user_a下通过impala查询,数据库也可以正常访问,报表也可正常显示。
猜测可能是重启完ranger后,策略同步有个延迟,前期策略调整完后,未完全同步。

3. 小结
ranger显示异常,官方bug:CDPD-14423,通过重启解决,条件允许也可以考虑升级到CDP7.1.7进行修复。
show databases提示没有use权限、user_a不能查看用户的impala数据库,均为原有user_a的ranger策略配置问题,理论上升级不会带来策略更改,数据不能访问的可能性,原有的user_a策略进行测试调整后,未及时恢复,而数栈业务运行正常,恰好在升级后通过CDP平台查询数据,而提示权限问题。

4. Ref
https://docs.cloudera.com/cdp-private-cloud-base/7.1.7/runtime-release-notes/topics/rt-pvc-fixed-issues-ranger.html
https://my.cloudera.com/knowledge/Audit-entries-are-not-loading-in-Ranger-Admin-UI?id=315191
https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/howto-security-ranger.html
https://blog.cloudera.com/best-practices-in-hdfs-authorization-with-apache-ranger/
https://cwiki.apache.org/confluence/display/RANGER/Apache+Ranger+0.5+-+User+Guide




