Hadoop

Hive 설치(Feat.Ubuntu)

집못가는프로그래머 2021. 9. 9. 10:09

 

# Hive란 Hadoop에서 데이터 저장을 담당하는 HDFS와 처리/ 분석을 담당하는 MapReducer의 처리를 도와주는 Echo- System이다

# Hive 3.1.2 버전을 설치하는 방법이다.

# Hive는 기본적으로 Apache 재단에서 배포한다.

 

1. https://downloads.apache.org/hive/hive-3.1.2/

 

Index of /hive/hive-3.1.2

 

downloads.apache.org

 

2. 위 링크에 접속하여(혹은 자신이 원하는 버전의 링크) bin.tar.gz 파일을 다운로드 한다.

 

3. tar -xvzf apache-hive-3.1.2-bin.tar.gz

위에서 다운받은 설치 파일을 압축해제 한다.

 

4. mv apache-hive-3.1.2-bin hive-3.1.2

거추장스러운 파일 이름을 비교적 간단하게 바꿔주었다(개인 선택)

 

5. mv hive-3.1.2 ~/

현재 다운로드 디렉토리에 있는 압축 해제한 파일을 로컬 디렉토리로 옮겨준다.

 

6. nano .bashrc

 

7. Hive 환경 설정을 위해 .bashrc 파일에 추가하여준다 (.bashrc 하단의 hdoop 관련 설정 아래에 적어주면 된다)

export HIVE_HOME=/home/hdoop/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin

 

8. source .bashrc

바뀐 설정 적용

 

9. echo $HIVE_HOME

위에서 작성한 HIVE_HOME이 잘 설정되었는지 확인한다

 

10. nano $HIVE_HOME/bin/hive-config.sh

Hadoop 홈 경로 설정 (연동을 위함)

 

11. Hadoop 경로 설정

export HADOOP_HOME=/home/hdoop/hadoop

 

12. source $HIVE_HOME/bin/hive-config.sh 

변경된 설정 적용

 

13. hdfs dfs -chmod g+w /tmp

Hive가 사용할 디렉토리에 대한 권한 변경

hdfs 영역의 tmp 디렉토리 권한중 그룹 권한에 쓰기(w)를 부여한다.

tmp 디렉토리가 없을경우 hdfs dfs -mkdir /tmp로 생성한다

 

14. hdfs dfs -ls /tmp

권한 변경이 되었는지 확인

drwx-w---- 가 되어야 한다.

 

15. cd ~/hive-3.1.2/bin 경로로 이동

Hive를 데이터베이스 처럼 사용하기 위해 위 경로의 schematool이라는 파일을 수정하는 초기작업을 한다.

 

16. schematool -dbType derby -initSchema

노란색 부분의 에러가 뜰 경우가 있다.

위 에러는 guava의 Hive의 버전과 Hadoop의 버전이 다를 경우에 발생하는 에러이다.

그럴땐

find $HADOOP_HOME -type f | grep 'guava'

guava 27.0 버전을 사용하고 있다.

 위 guava-27.0 의 경로를 복사해서 로컬 디렉토리 아래에 넣어준다

cp /home/hdoop/hadoop/share/hadoop/common/lib/guava-27.0-jre.jar ~/

find $HIVE_HOME -type f | grep 'guava'

rm /home/hdoop/hive-3.1.2/lib/guava-19.0.jar

mv guava-27.0-jre.jar /home/hdoop/hive-3.1.2/lib/

ls

를 하면 기존의 guava가 없어진것을 확인할 수 있다.

find $HIVE_HOME -type f | grep 'guava' 를 통해 버전 확인을 할 수 있다.

 

 

17. 에러가 났다면 위 과정을 거친 뒤

schematool -dbType derby -initSchema

 

이렇게 뜬다면 성공

 

18. hive

hive가 실행되는지 확인

이렇게 뜬다면 성공