이번 포스트에는 Hive를 설치해 보겠습니다.
vritualbox 설치,ubuntu설치, ssh통신, hadoop 설치가 완료 되지 않으신 분은 아래의 URL을 참고하여 완료해 주세요.
1.virtualbox 설치 및 ubuntu 설치
spidyweb.tistory.com/212?category=842040
2.power shell과 ssh통신
spidyweb.tistory.com/213
3.hadoop 설치
spidyweb.tistory.com/214
1.Hive 다운 및 압축 해제하기
1) wget https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
2) tar xzf apache-hive-3.1.2-bin.tar.gz
다운받은 tar파일 압축해제 하기
ls를 통해 압축해제 전과 후를 비교해 봅시다.
2.hive 환경 변수 설정하기(bashrc)
1) nano .bashrc
.bashrc의 맨 밑에 아래의 문구를 추가시켜주고, ctrl+x -> y -> enter로 저장한다.
export HIVE_HOME=“/home/hdoop/apache-hive-3.1.2-bin”
export PATH=$PATH:$HIVE_HOME/bin
2) bashrc파일 적용시켜주기
source ~/.bashrc
3. hive-config.sh 파일 편집하기
-Hive는 HDFS와 상호작용을 해야된다.
1) nano $HIVE_HOME/bin/hive-config.sh
2) export HADOOP_HOME=/home/hdoop/hadoop-3.2.1
마찬가지로 저장하고 나옵니다.
4.HDFS에 Hive directory 만들기
-hdfs layer에 데이터를 저장하기 위해 분리된 두 개의 디렉토리를 만듭니다.
(tmp와 warehouse 디렉토리)
-HDFS를 사용하므로 hadoop을 먼저 실행시켜줍니다.
(start-all.sh)
1) tmp directory 만들기
-tmp directory는 Hive process의 중간 데이터 결과를 저장합니다.
1-1)hdfs dfs -mkdir /tmp
1-2)hdfs dfs -chmod g+w /tmp
쓰기 실행 권한 부여
1-3)hdfs dfs -ls /
추가되었는지 확인
2)warehouse directory 만들기
-warehose directory는 hive와 관련된 테이블을 저장합니다.
2-1)hdfs dfs -mkdir -p /user/hive/warehouse
2-2)hdfs dfs -chmod g+w /user/hive/warehouse
쓰기와 실행권한 부여
2-3)hdfs dfs -ls /user/hive
5. hive-site.xml 파일 설정하기
1) cd $HIVE_HOME/conf
2)cp hive-default.xml.template hive-site.xml
-hive-site.xml이라는 이름의 파일로 hive_default.xml.template 파일을 복사합니다.
3)nano hive-site.xml
-property로 시작되는 부분의 맨 위에 부분에 밑의 2개의 property를 추가시켜줍니다.
<property>
<name>system:java.io.tmpdir</name>
<value>/tmp/hive/java</value>
</property>
<property>
<name>system:user.name</name>
<value>${user.name}</value>
</property>
-ctrl+w 이후에 javax.jdo.option.ConnectionURL 를 입력해서 해당 property를 찾아가 다음과 같이 수정해줍니다.
jdbc:derby:/home/hdoop/apache-hive3.1.2-bin/metastore_db;databaseName=metastore_db;create=true
6.derby database 시작하기
$HIVE_HOME/bin/schematool -initSchema -dbType derby
사진과 같이 java.lang.NoSuchMethodError 가 떴습니다.
해당 에러는 hadoop과 hive의 guava version 호환성 문제 때문에 생기는 에러입니다.
1)ls $HIVE_HOME/lib
hive의 guava version은 19.0입니다.
2)ls $HADOOP_HOME/share/hadoop/hdfs/lib
hadoop의 guava version은 27.0입니다.
3)rm $HIVE_HOME/lib/guava-19.0.jar
-hive의 guava를 지워줍니다.
4)cp $HADOOP_HOME/share/hadoop/hdfs/lib/guava-27.0-jre.jar $HIVE_HOME/lib/
-hadoop의 guava를 hive에 복사합니다.
다시 derby database 시작
$HIVE_HOME/bin/schematool -initSchema -dbType derby
또 에러가 발생**, 에러내용을 확인해보니 line 3223, column96 에 이상한 문자가 삽입되어 있다고 나와있습니다.
cd $HIVE_HOME/conf 로 이동해서
nano hive-site.xml
ctrl+shift+- 3223,96 으로 3223,96으로 찾아갑니다.
사진과 같이 특수기호가 들어가 있었습니다. 지워줍니다.
다시 다시 derby database 시작
$HIVE_HOME/bin/schematool -initSchema -dbType derby
드디어 실행되었습니다.
7.HIVE Client Shell 시작해보기
1) cd $HIVE_HOME/bin
2) hive
다음 포스트에는 spark를 설치 해보겠습니다.
또한 hive실습을 원하시는 분은 아래의 URL을 참고해주세요.
https://spidyweb.tistory.com/302
'BigData > Hive' 카테고리의 다른 글
[Hive] virtual box linux [ubuntu 18.04]에 Hive Metastore PostgreSQL로 설정하기(변경하기) (2) | 2021.07.13 |
---|---|
[Hive] Hive란?(1) 개념, 구성요소, 등장배경, 버전 (0) | 2021.07.12 |
[Hive] (2) Hive MetaStore, Partition, msck, DDL문,location 정리 (0) | 2021.06.27 |
[Hive] virtual box linux [ubuntu 18.04]에 Hive Metastore Mysql로 설정하기(변경하기) (0) | 2021.06.26 |
[Hive] Hive MetaStore(하이브 메타스토어)란? hive metastore 유형, metastore 파라미터 (0) | 2021.06.26 |
댓글