5
RHive 튜토리얼 부록 2 - Hive 설치 RHive tutorial - Hive 설치 RHive 는 R 과 Hive 를 연결하여 R 코드를 이용해 대용량데이터를 처리하고 분석할 수 있게 해준다. 하지만 Hive 는 Hadoop 의 애드온(add on)중 하나로 Hadoop 없이 단독으로는 사용할 수 없다. 이 튜토리얼에서는 Hadoop 설치 튜토리얼에서 소개한 Hadoop 환경을 설정하고 난 뒤에 Hive 를 추가로 설치하고 설정하는 방법을 설명한다. 우선 Hive 는 Hadoop 과는 달리 Hadoop 이 설치된 모든 서버에 설치할 필요는 없다. Hadoop client 가 작동할 서버에 설치하면 되며 이것은 Hadoop 의 Job node 중 하나 일 수도 있으며 전혀 다른 별개의 client 용 접속서버일 수 있다. 이것은 흔히 gateway 라고도 불리워지며 사용자가 구성하기에 따라 달라진다. 보통의 경우 gateway 는 별도의 서버나 랩탑 또는 데스트탑에 설치하는 것을 권장하지만 여기서는 편리하게 셋업하기 위해서 Hadoop name node 에 Hive 를 설치할 것이다. Hive 를 다운로드 받기 Hive 도 Hadoop 와 마찬가지로 Java 로 작성되어 있기 때문에 별도의 설치 소프트웨어 없이 파일을 다운로드 받아 압축을 해제하는 것만으로 기본적인 설치과정을 끝낼 수 있다. Hive 의 최신 버전은 아래의 URL 에서 찾을 수 있다. 이 튜토리얼을 작성하는 시점의 http://www.apache.org/dist//hive/hive-0.7.1/hive-0.7.1-bin.tar.gz 이 튜토리얼의 작성 시점에서의 최종 버전(latest stable version)은 0.7.1 이며 RHive 는 Hive 의 버전에 큰 특성을 따르지 않으므로 사용자가 원한다면 스냅샷(snapshot)버전을 따로 빌드해서 사용해도 좋다. 만약 0.8.x 버전이 release 가 되었다면 그 버전을 사용해도 된다. 다음과 같이 Hive 를 설치할 서버에 접속하고 Hive 의 최신버전을 다운로드 받는다. ssh [email protected] mkdir hive_stable cd hive_stable

RHive tutorial supplement 2: RHive 튜토리얼 부록 2 - Hive 설치

Embed Size (px)

DESCRIPTION

RHive tutorial supplement 2: RHive 튜토리얼 부록 2 - Hive 설치 (한글판)

Citation preview

Page 1: RHive tutorial supplement 2: RHive 튜토리얼 부록 2 - Hive 설치

RHive 튜토리얼 부록 2 - Hive 설치

RHive tutorial - Hive 설치

RHive 는 R 과 Hive 를 연결하여 R코드를 이용해 대용량데이터를 처리하고 분석할 수 있게 해준다. 하지만 Hive 는 Hadoop의 애드온(add on)중 하나로 Hadoop 없이 단독으로는 사용할 수 없다.

이 튜토리얼에서는 Hadoop 설치 튜토리얼에서 소개한 Hadoop 환경을 설정하고 난 뒤에 Hive 를 추가로 설치하고 설정하는 방법을 설명한다.

우선 Hive 는 Hadoop과는 달리 Hadoop이 설치된 모든 서버에 설치할 필요는 없다. Hadoop client 가 작동할 서버에 설치하면 되며 이것은 Hadoop의 Job node중 하나 일 수도 있으며 전혀 다른 별개의 client 용 접속서버일 수 있다. 이것은 흔히 gateway 라고도 불리워지며 사용자가 구성하기에 따라 달라진다. 보통의 경우 gateway 는 별도의 서버나 랩탑 또는 데스트탑에 설치하는 것을 권장하지만 여기서는 편리하게 셋업하기 위해서 Hadoop name node에 Hive 를 설치할 것이다.

Hive 를 다운로드 받기

Hive 도 Hadoop와 마찬가지로 Java 로 작성되어 있기 때문에 별도의 설치 소프트웨어 없이 파일을 다운로드 받아 압축을 해제하는 것만으로 기본적인 설치과정을 끝낼 수 있다.

Hive 의 최신 버전은 아래의 URL에서 찾을 수 있다. 이 튜토리얼을 작성하는 시점의

http://www.apache.org/dist//hive/hive-0.7.1/hive-0.7.1-bin.tar.gz

이 튜토리얼의 작성 시점에서의 최종 버전(latest stable version)은 0.7.1 이며 RHive 는 Hive 의 버전에 큰 특성을 따르지 않으므로 사용자가 원한다면 스냅샷(snapshot)버전을 따로 빌드해서 사용해도 좋다. 만약 0.8.x 버전이 release 가 되었다면 그 버전을 사용해도 된다.

다음과 같이 Hive 를 설치할 서버에 접속하고 Hive 의 최신버전을 다운로드 받는다.

ssh  [email protected]  

   

mkdir  hive_stable  

   

cd  hive_stable  

Page 2: RHive tutorial supplement 2: RHive 튜토리얼 부록 2 - Hive 설치

   

wget   http://www.apache.org/dist//hive/hive-­‐0.7.1/hive-­‐0.7.1-­‐bin.tar.gz  

   

tar  xvfz  ./hive-­‐0.7.1-­‐bin.tar.gz  

   

mkdir  /service  

   

mv  ./hive-­‐0.7.1-­‐bin  /service

MySQL 설정하기

Hive 의 repository 를 MySQL로 선택해서 그것을 사용할 것이다. Hive 는 기본(default)로 SQLite 을 사용하도록 되어 있지만 Hive 의 여러 유저가 동시에 사용할 수 있도록 하려면 MySQL이나 다른 DB를 repository 로 사용할 수 있도록 해야 하므로 이 튜토리얼에서는 MySQL을 사용할 것이다. MySQL은 Hive 가 설치될 서버와 다른 서버에 설치되어도 되지만 이 튜토리얼에서는 편의상 역시 Hadoop name node, 즉 Hive 가 설치된 서버에 MySQL도 함께 설치할 것이다.

다음과 같이 yum을 이용해서 mysql client 와 server 를 설치한다.

yum  install  mysql  mysql-­‐server  

설치 후 mysql server 를 작동시킨다.

/etc/init.d/mysqld  start  

이제 MySQL에 Hive 가 사용할 데이터베이스를 하나 생성한다. 이 튜토리얼에서는 Hive 가 사용할 데이터베이스 이름을 “metastore”로 할 것이다.

다음과 같이 mysql 에 root 계정으로 해서 데이터베이스를 생성한다.

mysql>  CREATE  DATABASE  metastore;  

mysql>  USE  metastore;  

mysql>   SOURCE   /service/hive-­‐0.7.1/scripts/metastore/upgrade/mysql/hive-­‐schema-­‐0.7.0.mysql.sql;

Page 3: RHive tutorial supplement 2: RHive 튜토리얼 부록 2 - Hive 설치

여기서 "/service/hive-0.7.1"는 Hive 의 HOME 디렉토리이며 "$HIVE_HOME/scripts/metastore/upgrade/mysql" 에는 Hive 를 위해서 MySQL을 초기화하거나 업그레이드 할 수 있도록 해주는 SQL 파일들이 있으며 자신의 버전에 맞는 것을 실행해서 셋업을 마치도록 한다.

이제 Hive 가 사용할 MySQL user 를 하나 생성(create)하고 metastore 라는 데이터베이스를 사용할 수 있도록 권한을 설정한다.

mysql>  CREATE  USER  'hiveuser'@'%'  IDENTIFIED  BY  'password';  

mysql>   GRANT   SELECT,INSERT,UPDATE,DELETE   ON   metastore.*   TO  'hiveuser'@'%';  

mysql>  REVOKE  ALTER,CREATE  ON  metastore.*  FROM  'hiveuser'@'%';

Hive 사용을 위한 MySQL 설정이 완료되었다. 이제 Hive 에서 MySQL에 접속할 수 있도록 설정하는 것이 필요하다. Hive 에서 MySQL을 접속하도록 하려면 JDBC가 필요하지만 Hive 는 MySQL JDBC을 포함하고 있지 않다. MySQL사이트에서 다운로드 받은 후 설치된 Hive 에 자신이 직접 복사해서 넣어 주어야 한다.

JDBC는 아래의 사이트에서 다운로드 할 수 있다. http://dev.mysql.com/downloads/

아래와 같이 다운로드 받고 압축을 해제하여 jar 파일을 Hadoop의 lib 디렉토리로 복사한다.

$   curl   http://dev.mysql.com/get/Downloads/Connector-­‐J/mysql-­‐connector-­‐java-­‐5.1.18.tar.gz/from/http://mirror.services.wisc.edu/mysql/  

$  tar  xvfz  mysql-­‐connector-­‐java-­‐5.1.18.tar.gz  

$   cp   ./mysql-­‐connector-­‐java-­‐5.1.18/mysql-­‐connector-­‐java-­‐5.1.18-­‐bin.jar  /service/hive-­‐0.7.1/lib/  

이제 Hive 의 configuration 을 변경한다.

$HIVE_HOME/conf/hive-site.xml 를 편집기로 열어 MySQL과 관련된 설정을 알맞게 고쳐야 한다.

Hive 를 처음 설치했다면 $HIVE_HOME/conf/hive-site.xml 파일은 디렉토리 안에 없을 것이며

같은 디렉토리에 있는 hive-default.xml.template 파일을 복사한 다음 수정하도록 한다.

cd  /service/hive-­‐0.7.1/conf/hive-­‐site.xml  

Page 4: RHive tutorial supplement 2: RHive 튜토리얼 부록 2 - Hive 설치

cp  ./hive-­‐default.xml.template  ./hive-­‐site.xml  

이제 아래의 내용을 ./hive-site.xml 에서 찾아서 MySQL의 서버와 접속하는데 사용할 MySQL의 계정등을 적절하게 고쳐 준다.

<property>  

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

   <value>jdbc:mysql://MYSQL_HOSTNAME/metastore</value>  

</property>  

   

<property>  

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

   <value>com.mysql.jdbc.Driver</value>  

</property>  

   

<property>  

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

   <value>hiveuser</value>  

</property>  

   

<property>  

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

   <value>password</value>  

</property>  

   

<property>  

   <name>datanucleus.autoCreateSchema</name>  

   <value>false</value>  

</property>  

   

<property>  

   <name>datanucleus.fixedDatastore</name>  

   <value>true</value>  

Page 5: RHive tutorial supplement 2: RHive 튜토리얼 부록 2 - Hive 설치

</property>  

위에서 MYSQL_HOSTNAME은 MySQL이 설치된 서버의 IP 주소 또는 hostname을 적으면 되는데 이 튜토리얼에서는 MySQL을 Hive 가 설치된 서버에 함께 설치하였으므로 127.0.0.1 이다. 만약 안전한 관리나 다른 목적으로 인해 MySQL을 다른 서버에 설치했다면 그 서버의 IP 주소를 적으면 된다.

이로써 Hive 를 설치하고 설정하는 과정을 완료하였다. Hive 에 대한 자세한 사용법은 Hive 의 공식사이트의 문서들을 참조하기 바란다.