복붙노트

[HADOOP] 하이브 병을 영구히 추가하기

HADOOP

하이브 병을 영구히 추가하기

하이브 셸의 세션 수준에서 추가하는 대신 영구적으로 하이브 병을 추가 할 수있는 방법이 있습니까?

어떤 도움을 주시면 감사하겠습니다.

해결법

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

    1.hiveserver2 호스트에서 / var / lib / hive와 같은 위치를 만들고 그 폴더 안에 필요한 모든 병을 추가하십시오. hive-site.xml을 편집하고 hive.aux.jars.path 속성에서 이러한 모든 jar를 언급하십시오.

    hiveserver2 호스트에서 / var / lib / hive와 같은 위치를 만들고 그 폴더 안에 필요한 모든 병을 추가하십시오. hive-site.xml을 편집하고 hive.aux.jars.path 속성에서 이러한 모든 jar를 언급하십시오.

    예 : ADD JAR /home/amal/hive/amaludf.jar ADD JAR /home/amal/hive/amaludf2.jar

    각 세션에서 위의 명령을 사용하는 대신 모든 세션에 대해 위의 명령을 정의 할 수 있습니다.

    이러한 jar를 hiveserver 호스트에 저장하기위한 위치를 작성하십시오.

    mkdir /var/lib/hive
    

    이 모든 병을 해당 디렉토리에 추가하십시오.

    hive-site.xml에서 속성 설정

    <property>
      <name>hive.aux.jars.path</name>
      <value>/var/lib/hive</value>
    </property>
    

    이 수정을 수행 한 후 하이버 서버 2를 다시 시작하십시오.

    디렉토리를 만들고 모든 jar 파일을 저장하는 대신 개별 jar의 경로도 지정할 수 있습니다. 유일한 조건은 모든 항아리가 hiveserver 호스트에 있어야한다는 것입니다.

    예 :

    <property>
      <name>hive.aux.jars.path </name>
      <value>file:///home/amal/hive/udf1.jar,file:///usr/lib/hive/lib/hive-hbase-handler.jar</value>
    </property>
    
  2. ==============================

    2.모든 노드에서 hadoop 또는 hive의 lib 폴더에 항아리를 넣어야합니다.

    모든 노드에서 hadoop 또는 hive의 lib 폴더에 항아리를 넣어야합니다.

  3. ==============================

    3.이 두 단계로 수행 할 수 있습니다.

    이 두 단계로 수행 할 수 있습니다.

    {hadoop-env.sh는 사용자 정의 된 사용자 정의 jar와 전체 클러스터에서 사용 가능한 공통 위치의 하이브 및 기타 위치의 CLASSPATH로 업데이트해야합니다.}

    변경 후에도 작동하려면 hive / hadoop을 다시 시작해야합니다.

  4. from https://stackoverflow.com/questions/31802908/adding-hive-jars-permanently by cc-by-sa and MIT license