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

2,531 views

Published on

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

Published in: Technology
  • Be the first to comment

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

  1. 1. 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  root@10.1.1.1      mkdir  hive_stable      cd  hive_stable  
  2. 2.    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  /serviceMySQL 설정하기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;
  3. 3. 여기서 "/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  
  4. 4. 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>  
  5. 5. </property>  위에서 MYSQL_HOSTNAME 은 MySQL 이 설치된 서버의 IP 주소 또는 hostname 을적으면 되는데이 튜토리얼에서는 MySQL 을 Hive 가 설치된 서버에 함께 설치하였으므로127.0.0.1 이다.만약 안전한 관리나 다른 목적으로 인해 MySQL 을 다른 서버에 설치했다면 그 서버의IP 주소를 적으면 된다.이로써 Hive 를 설치하고 설정하는 과정을 완료하였다.Hive 에 대한 자세한 사용법은 Hive 의 공식사이트의 문서들을 참조하기 바란다.

×