我在HDP 2.1集群上安装了一个spark 1.5.1进程。它使用hadoop2.4.0,当驱动程序试图写入给定的Hive表时,我遇到了拒绝权限的问题。
提交作业的用户是gvp.service,在作业期间,它的工作人员可以使用gvp_service权限进行写入,但在与元存储交互时,我收到以下异常:
由:org.apache.hadop.ipc.RemoteException(org.apache.haop.security.AccessControlException)引起:权限被拒绝:user=yarn,access=WRITE,inode="/apps/hive/warehouse/gbic_video_db/gbic_video_raw_users/global_op_id=1000/service_type=1/day=2015-09-15":gvp_service:hdfs:drwxr-xr-x网址:org.apache.hoop.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChecker.java:265)
为什么它使用yarn用户来执行此任务?是否应该使用Hadoop客户端2.4.0?
你能检查作业是作为哪个用户提交的吗?要与配置单元交互,您应该在$SPARK_INSTALL_DIR/conf中有"hive-site.xml",包含以下内容
<configuration>
<property>
<name>hive.metastore.uris</name>
<!-- Ensure that the following statement points to the Hive Metastore URI in your cluster -->
<value>thrift://<METASTORE IP>:9083</value>
<description>URI for client to contact metastore server</description>
</property>
</configuration>
希望这能帮助