복붙노트

[HADOOP] 하이브 구성에 권한 부여 정책을 적용하는 중 오류 발생 : $ {system : java.io.tmpdir} \ $ {hive.session.id} _resources 디렉토리를 작성할 수 없습니다.

HADOOP

하이브 구성에 권한 부여 정책을 적용하는 중 오류 발생 : $ {system : java.io.tmpdir} \ $ {hive.session.id} _resources 디렉토리를 작성할 수 없습니다.

Windows에서 Hadoop 3.0.0-alpha1을 실행하고 Hive 2.1.1을 추가했습니다. hive 명령으로 하이브 라인을 열려고하면 오류가 발생합니다.

Error applying authorization policy on hive configuration: 
Couldn't create directory ${system:java.io.tmpdir}\${hive.session.id}_resources

뭐가 문제 야?

mysql을 Hive의 메타 스토어로 실행하고 필요한 파일을 HDFS에 추가했습니다.

hadoop fs -mkdir /user/hive
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -mkdir /tmp

그 후 권한을 변경했습니다.

hadoop fs -chmod 777 /user/hive
hadoop fs -chmod 777 /user/hive/warehouse
hadoop fs -chmod 777 /tmp

YARN 및 DFS 데몬 및 mysql이 실행 중이며 mysql jdbc-driver는 하이브 및 하이브로 알려져 있습니다.

해결법

  1. ==============================

    1.hive-site.xml에서이 특정 구성을 바꾸십시오.

    hive-site.xml에서이 특정 구성을 바꾸십시오.

    <value>${system:java.io.tmpdir}/${hive.session.id}_resources</value>
    

    ~로 바꾸다

    <property>
     <name>hive.downloaded.resources.dir</name>
      <!--
         <value>${system:java.io.tmpdir}/${hive.session.id}_resources</value>
       -->
      <value>/home/hduser/hive/tmp/${hive.session.id}_resources</value>
      <description>Temporary local directory for added resources in the remote file system.</description>
    </property> 
    
  2. from https://stackoverflow.com/questions/42690210/error-applying-authorization-policy-on-hive-configuration-couldnt-create-direc by cc-by-sa and MIT license