2021-5-1

问题:提交作业到 root.groupa 权限被拒绝

  1. hive -e "set mapreduce.job.queuename=root.groupa;select count(*) from sqoop_hosts;"

image-20201207100938664.png

  • 原因:Hive表无权限,HDFS无权限目录。
  • 解决Hive表权限问题:登录hive超级用户,创建角色,创建组,分别将角色赋权给组a、b、c
  1. create role all_pri;
  1. grant all on table testhive to role all_pri;
  1. grant role all_pri to group groupa;
  2. grant role all_pri to group groupb;
  3. grant role all_pri to group groupc;

image-20201207104701376.png

  • 解决HDFS权限问题:使用Kerberos的HDFS用户,创建auser1的家目录,修改组为auser1
  1. hdfs dfs -mkdir /user/auser1
  2. hdfs dfs -chown auser1:groupa /user/auser1

image-20201207110421196.png

问题:放置规则失效,auser1可以在groupc组下执行

  1. hive -e "set mapreduce.job.queuename=root.groupc;select count(*) from testhive;"

image-20201207112801520.png

  • 原因:放置规则顺序不一致,如果执行规则满足,则直接跳过后续的放置规则

image-20201207112552777.png

  • 解决:修改放置规则的顺序

image-20201207113017750.png

  • 解决问题

image-20201207113112733.png