빅데이터/하둡 2

하둡 2.0 튜토리얼 - (7) 아파치 하이브 설치

Johnny Yoon 2019. 7. 23. 19:48
728x90
반응형

 

하이브

하둡은 자바 기반으로 되어있습니다. 그리고 파이썬이나 루비와 같은 스크립트 언어로도 접근이 가능합니다. 하지만 보통 데이터를 만지는 사람들은 기존 RDBMS를 만지던 데이터 분석가들이나 DBA에 익숙한 사람들일 것입니다. 이러한 문제 때문에 페이스북에서 하이브를 개발하게 되었고, 지금은 아파치의 정식 프로젝트가 되었습니다.

 

설치

하이브를 설치해 보도록 하겠습니다.

다음 링크로 설치하거나 아래 wget으로 설치하신 뒤 scp로 doop01기기로 전송하겠습니다.

https://archive.apache.org/dist/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz

> wget https://archive.apache.org/dist/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz

 

doop01기기의 홈에서 해당 파일의 압축을 풀어줍니다.

> tar xvfz apache-hive-2.1.1-bin.tar.gz

 

그리고 conf폴더 안에 hive-env.sh를 만들어 준 뒤 하둡 관련 설정을 해줍니다.

hive-env.sh는 따로 만들지 않고 hive-env.sh.template을 복사해 사용합니다.

> cp conf/hive-env.sh.template conf/hive-env.sh

 

그리고 다음 하둡 관련 설정을 작성해줍니다.

(만약 하둡 1을 설치하신 뒤 .bash_profile파일에 HADOOP_HOME을 재설정 하지 않으셨으면 아래와 같이 설정해주셔야 합니다.)

HADOOP_HOME=/home/doop/hadoop-2.7.2

 

메타스토어

하이브는 하둡에서 처리된 메타데이터의 구조를 메타스토어라는 데이터베이스에 따로 저장합니다. 여러 사용자가 하이브로 접속해 작업할 경우에는 꼭 MYSQL과 같은 RDBMS로 작업해야 하고 혼자만 사용해도 될 때는 기본 설정인 apache derby라는 DB를 사용할 수 있습니다.

 

아파치 더비

먼저 아파치 더비를 사용하기 위해 hive의 설정을 해주겠습니다.

역시 conf폴더 안에 있는 hive-site.xml이라는 파일을 만들어야 합니다.

파일을 생성하고 다음과 같이 내용을 작성해줍니다.

<?xml version="1.0"?>
<?xml-stylesheet type="text.xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse/</value>
  </property>
  <property>
    <name>hive.cli.print.header</name>
    <value>true</value>
  </property>
</configuration>

 

derby는 hdfs에 필요한 내용을 저장하게 됩니다.

따라서 hdfs에 하이브 관련된 디렉토리들을 생성해주겠습니다.

아래 커맨드들을 차례로 입력하시기 바랍니다.

> hdfs dfs -mkdir /tmp
> hdfs dfs -mkdir /tmp/hive
> hdfs dfs -chmod g+w /tmp
> hdfs dfs -chmod 777 /tmp/hive
> hdfs dfs -mkdir /user/hive
> hdfs dfs -mkdir /user/hive/warehouse
> hdfs dfs -chmod g+w /user/hive
> hdfs dfs -chmod g+w /user/hive/warehouse

 

설정이 완료되었으면 아래 커맨드를 이용해 메타스토어를 초기화 합니다.

아래 커맨드는 hive의 디렉토리 내 bin/schematool 파일을 사용합니다.

> ./bin/schematool -initSchema -dbType derby

 

이제 마지막으로 hive를 실행해 잘 동작하는지 확인하겠습니다.

> ./bin/hive

위를 입력했을 때 hive> 로 시작하는 hive shell이 나온다면 성공한것입니다.

show databases; 명령어로 default 데이터베이스가 잘 생성되었는지 확인합니다.

 

Alias 등록

등록해두면 유용한 Alias들을 등록해주겠습니다.

.bashrc파일에 다음을 작성해줍니다.

#hive
alias hive="~/apache-hive-2.1.1-bin/bin/hive"
alias hive-schema="~/apache-hive-2.1.1-bin/bin/schematool"

 

다음 포스팅에서는 메타스토어를 MySQL로 사용하는 방법을 알아보겠습니다.

728x90
반응형