메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


1. tarball파일 다운로드

cd /usr/local

wget http://www.eu.apache.org/dist/hive/hive-0.13.1/apache-hive-0.13.1-bin.tar.gz 


2. 압축풀기

tar xvfz apache-hive-0.13.1-bin.tar.gz 


3. 링크생성

ln -s apache-hive-0.13.1-bin/ hive


4. 변수설정(/etc/profile)

export HIVE_HOME=/hadoop/hive

export PATH=$PATH:$HIVE_HOME/bin


5. HDFS에 hive용 folder생성및 mod수정

hadoop fs -mkdir /user/hive

hadoop fs -mkdir /user/hive/warehouse

hadoop fs -chmod g+w /user/hive/warehouse


6. conf파일 설정(conf폴더밑에 템플릿만 있으므로 아래와 같이 만들어줄것)

cp hive-env.sh.template hive-env.sh

cp hive-default.xml.template hive-site.xml

cp hive-exec-log4j.properties.template hive-exec-log4j.properties

cp hive-log4j.properties.template hive-log4j.properties



7. hadoop_env.sh에서 HADOOP_CLASSPATH 환경변수에 hive의 lib파일($HIVE_HOME/lib/* )을 등록

vi $HADOOP_HOME/conf/hadoop_env.sh

export HADOOP_CLASSPATH=/usr/local/hadoop/share/hadoop/mapreduce:/usr/local/hadoop/share/hadoop/mapreduce/lib:$HIVE_HOME/lib/*


* stop-yarn.sh 후 start-yarn.sh해서 반영시켜 줘야함


8. jdbc driver다운로드및 hive의 lib에 upload

https://jdbc.postgresql.org/download.html

(예. postgresql-9.3-1103.jdbc4.jar)


9. hive-site.xml수정

        <property>

            <name>javax.jdo.option.ConnectionURL</name>

            <value>jdbc:postgresql://db.com/dbname</value>

        </property>

        <property>

            <name>javax.jdo.option.ConnectionDriverName</name>

            <value>org.postgresql.Driver</value>

        </property>

       <property>

         <name>javax.jdo.option.ConnectionUserName</name>

         <value>db게정</value>

       </property>

       <property>

          <name>javax.jdo.option.ConnectionPassword</name>

          <value>패스워드</value>

       </property>


10. hive-env.sh수정

: 아래를 추가하여 hive가 hadoop의 jar파일을 사용할수 있도록 해준다.

#hadoop library classpath setting 

for f in ${HADOOP_HOME}/lib/*.jar; do

  CLASSPATH=${CLASSPATH}:$f;

done


for f in ${HIVE_HOME}/lib/*.jar; do

  CLASSPATH=${CLASSPATH}:$f;

done


11. hadoop-env.sh수정

: 맨끝에 아래의 내용을 추가한다.

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/local/hadoop/share/hadoop/mapreduce:/usr/local/hadoop/share/hadoop/mapreduce/lib:$HIVE_HOME/lib:$HIVE_HOME/conf


* hadoop-env.sh에 위에 내용을 추가하지 않으면 hive-site.xml이 CLASSPATH에 없다는 오류가 발생하며 meta정보를 rdb에 저장하려 설정했던 부분이 인식되지 않아서 derby db가 생기게 된다.


12. 확인

  가. console에서 hive치고 정상적으로 실행되면 성공

  나. hive cli를 종료후 derby.log와 metadata_db 폴더가 생겨있지 않으면 meta정보가 지정된 rdb에 정상적으로 연동되고 있다고 할수 있다.

번호 제목 글쓴이 날짜 조회 수
47 insert hbase by hive ... error occured after 5 hours..HMaster가 뜨지 않는 장애에 대한 복구 방법 총관리자 2014.04.29 7129
46 hive 2.0.1 설치및 mariadb로 metastore 설정 총관리자 2016.06.03 5184
45 Hive Query Examples from test code (2 of 2) 총관리자 2014.03.26 5009
44 Hive 사용법 및 쿼리 샘플코드 구퍼 2013.03.07 2991
43 Hive+mysql 설치 및 환경구축하기 file 구퍼 2013.03.07 2722
42 banana pi에 hive 0.13.1+mysql(metastore)설치 file 총관리자 2014.09.09 2406
41 Hive java connection 설정 file 구퍼 2013.04.01 2013
40 hive에서 생성된 external table에서 hbase의 table에 값 insert하기 총관리자 2014.04.11 1748
39 java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error: Unable to deserialize reduce input key from...오류해결방법 총관리자 2015.06.16 1715
38 index생성, 삭제, 활용 총관리자 2014.04.25 1702
37 FAILED: IllegalStateException Variable substitution depth too large: 40 오류발생시 조치사항 총관리자 2014.08.19 1521
36 hiverserver2기동시 connection refused가 발생하는 경우 조치방법 총관리자 2014.05.22 1471
35 json 값 다루기 총관리자 2014.04.17 1222
34 schema설정없이 hive를 최초에 실행했을때 발생하는 오류메세지및 처리방법 총관리자 2016.09.25 1222
33 upsert구현방법(년-월-일 파티션을 기준으로) 및 테스트 script file 총관리자 2018.07.03 1220
32 Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D오류발생시 조치사항 총관리자 2016.06.03 1141
31 json serde사용법 총관리자 2014.04.17 1140
30 sequence한 번호 생성방법 총관리자 2014.04.25 1123
29 hive job실행시 meta정보를 원격의 mysql에 저장하는 경우 설정방법 총관리자 2014.05.28 1088
28 external partition table생성및 data확인 총관리자 2014.04.03 1072

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로