SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
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	
  
 	
  
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;
여기서 "/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	
  
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>	
  
</property>	
  

위에서 MYSQL_HOSTNAME 은 MySQL 이 설치된 서버의 IP 주소 또는 hostname 을
적으면 되는데
이 튜토리얼에서는 MySQL 을 Hive 가 설치된 서버에 함께 설치하였으므로
127.0.0.1 이다.
만약 안전한 관리나 다른 목적으로 인해 MySQL 을 다른 서버에 설치했다면 그 서버의
IP 주소를 적으면 된다.
이로써 Hive 를 설치하고 설정하는 과정을 완료하였다.
Hive 에 대한 자세한 사용법은 Hive 의 공식사이트의 문서들을 참조하기 바란다.

Contenu connexe

Tendances

[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)Ji-Woong Choi
 
(참고) Elk stack 설치 및 kafka
(참고) Elk stack 설치 및 kafka(참고) Elk stack 설치 및 kafka
(참고) Elk stack 설치 및 kafkaNoahKIM36
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Keon Ahn
 
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수Aiden Seonghak Hong
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1Ji-Woong Choi
 
Dockerfile과 Bash
Dockerfile과 BashDockerfile과 Bash
Dockerfile과 Bashpyrasis
 
하둡 고가용성(HA) 설정
하둡 고가용성(HA) 설정하둡 고가용성(HA) 설정
하둡 고가용성(HA) 설정NoahKIM36
 
[오픈소스컨설팅 뉴스레터] 2016년 1분기
[오픈소스컨설팅 뉴스레터] 2016년 1분기[오픈소스컨설팅 뉴스레터] 2016년 1분기
[오픈소스컨설팅 뉴스레터] 2016년 1분기Ji-Woong Choi
 
도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편Sam Kim
 
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration GuideJi-Woong Choi
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringNoahKIM36
 
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편Ji-Woong Choi
 
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQLI Goo Lee
 
Cactiez 설치, 백업, 복구
Cactiez 설치, 백업, 복구Cactiez 설치, 백업, 복구
Cactiez 설치, 백업, 복구ajj007
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집Daegwon Kim
 
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinuxOpen Source Consulting
 
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part Isprdd
 

Tendances (18)

[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
 
(참고) Elk stack 설치 및 kafka
(참고) Elk stack 설치 및 kafka(참고) Elk stack 설치 및 kafka
(참고) Elk stack 설치 및 kafka
 
Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리Puppet과 자동화된 시스템 관리
Puppet과 자동화된 시스템 관리
 
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
RHive tutorial 4: RHive 튜토리얼 4 - UDF, UDTF, UDAF 함수
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
 
Dockerfile과 Bash
Dockerfile과 BashDockerfile과 Bash
Dockerfile과 Bash
 
하둡 고가용성(HA) 설정
하둡 고가용성(HA) 설정하둡 고가용성(HA) 설정
하둡 고가용성(HA) 설정
 
[오픈소스컨설팅 뉴스레터] 2016년 1분기
[오픈소스컨설팅 뉴스레터] 2016년 1분기[오픈소스컨설팅 뉴스레터] 2016년 1분기
[오픈소스컨설팅 뉴스레터] 2016년 1분기
 
도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편도커 없이 컨테이너 만들기 2편
도커 없이 컨테이너 만들기 2편
 
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide[오픈소스컨설팅]Zabbix Installation and Configuration Guide
[오픈소스컨설팅]Zabbix Installation and Configuration Guide
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clustering
 
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
[오픈소스컨설팅]레드햇계열리눅스7 운영자가이드 - 기초편
 
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQL
 
Cactiez 설치, 백업, 복구
Cactiez 설치, 백업, 복구Cactiez 설치, 백업, 복구
Cactiez 설치, 백업, 복구
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집
 
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux[오픈소스컨설팅] SELinux : Stop Disabling SELinux
[오픈소스컨설팅] SELinux : Stop Disabling SELinux
 
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part I
 

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

RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정Aiden Seonghak Hong
 
리눅스서버세팅-김태호
리눅스서버세팅-김태호리눅스서버세팅-김태호
리눅스서버세팅-김태호ETRIBE_STG
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea CloudJude Kim
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1Ji-Woong Choi
 
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편negabaro
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for HadoopSeungYong Baek
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호용호 최
 
Virtual Development Environment Setting
Virtual Development Environment SettingVirtual Development Environment Setting
Virtual Development Environment SettingKwangyoun Jung
 
OpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudOpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudDennis Hong
 
02.실전! 시스템 관리자를 위한 Ansible
02.실전! 시스템 관리자를 위한 Ansible02.실전! 시스템 관리자를 위한 Ansible
02.실전! 시스템 관리자를 위한 AnsibleOpennaru, inc.
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystemSungjin Kang
 
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Nanha Park
 

Similaire à RHive tutorial supplement 2: RHive 튜토리얼 부록 2 - Hive 설치 (20)

RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
RHive tutorial 1: RHive 튜토리얼 1 - 설치 및 설정
 
리눅스서버세팅-김태호
리눅스서버세팅-김태호리눅스서버세팅-김태호
리눅스서버세팅-김태호
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
 
Serverless 101
Serverless 101Serverless 101
Serverless 101
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
 
Apache hive
Apache hiveApache hive
Apache hive
 
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편aws/docker/rails를 활용한 시스템 구축/운용 - docker편
aws/docker/rails를 활용한 시스템 구축/운용 - docker편
 
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
하둡 알아보기(Learn about Hadoop basic), NetApp FAS NFS Connector for Hadoop
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
 
Virtual Development Environment Setting
Virtual Development Environment SettingVirtual Development Environment Setting
Virtual Development Environment Setting
 
03.Ansible 소개
03.Ansible 소개03.Ansible 소개
03.Ansible 소개
 
OpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudOpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid Cloud
 
InfiniFlux with_php
InfiniFlux with_phpInfiniFlux with_php
InfiniFlux with_php
 
02.실전! 시스템 관리자를 위한 Ansible
02.실전! 시스템 관리자를 위한 Ansible02.실전! 시스템 관리자를 위한 Ansible
02.실전! 시스템 관리자를 위한 Ansible
 
What is spark
What is sparkWhat is spark
What is spark
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
[OpenStack Day in Korea] 15분만에 구축하는 오픈스택 기반 크라우드 솔루션: HP CloudSystem
 
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
Deview 2013 :: Backend PaaS, CloudFoundry 뽀개기
 

Plus de Aiden Seonghak Hong

RHive tutorial 5: RHive 튜토리얼 5 - apply 함수와 맵리듀스
RHive tutorial 5: RHive 튜토리얼 5 - apply 함수와 맵리듀스RHive tutorial 5: RHive 튜토리얼 5 - apply 함수와 맵리듀스
RHive tutorial 5: RHive 튜토리얼 5 - apply 함수와 맵리듀스Aiden Seonghak Hong
 
RHive tutorial 3: RHive 튜토리얼 3 - HDFS 함수
RHive tutorial 3: RHive 튜토리얼 3 - HDFS 함수RHive tutorial 3: RHive 튜토리얼 3 - HDFS 함수
RHive tutorial 3: RHive 튜토리얼 3 - HDFS 함수Aiden Seonghak Hong
 
RHive tutorial 2: RHive 튜토리얼 2 - 기본 함수
RHive tutorial 2: RHive 튜토리얼 2 - 기본 함수RHive tutorial 2: RHive 튜토리얼 2 - 기본 함수
RHive tutorial 2: RHive 튜토리얼 2 - 기본 함수Aiden Seonghak Hong
 
R hive tutorial supplement 3 - Rstudio-server setup for rhive
R hive tutorial supplement 3 - Rstudio-server setup for rhiveR hive tutorial supplement 3 - Rstudio-server setup for rhive
R hive tutorial supplement 3 - Rstudio-server setup for rhiveAiden Seonghak Hong
 
R hive tutorial supplement 2 - Installing Hive
R hive tutorial supplement 2 - Installing HiveR hive tutorial supplement 2 - Installing Hive
R hive tutorial supplement 2 - Installing HiveAiden Seonghak Hong
 
R hive tutorial supplement 1 - Installing Hadoop
R hive tutorial supplement 1 - Installing HadoopR hive tutorial supplement 1 - Installing Hadoop
R hive tutorial supplement 1 - Installing HadoopAiden Seonghak Hong
 
R hive tutorial - apply functions and map reduce
R hive tutorial - apply functions and map reduceR hive tutorial - apply functions and map reduce
R hive tutorial - apply functions and map reduceAiden Seonghak Hong
 
R hive tutorial - udf, udaf, udtf functions
R hive tutorial - udf, udaf, udtf functionsR hive tutorial - udf, udaf, udtf functions
R hive tutorial - udf, udaf, udtf functionsAiden Seonghak Hong
 
RHive tutorials - Basic functions
RHive tutorials - Basic functionsRHive tutorials - Basic functions
RHive tutorials - Basic functionsAiden Seonghak Hong
 

Plus de Aiden Seonghak Hong (12)

IoT and Big data with R
IoT and Big data with RIoT and Big data with R
IoT and Big data with R
 
RHive tutorial 5: RHive 튜토리얼 5 - apply 함수와 맵리듀스
RHive tutorial 5: RHive 튜토리얼 5 - apply 함수와 맵리듀스RHive tutorial 5: RHive 튜토리얼 5 - apply 함수와 맵리듀스
RHive tutorial 5: RHive 튜토리얼 5 - apply 함수와 맵리듀스
 
RHive tutorial 3: RHive 튜토리얼 3 - HDFS 함수
RHive tutorial 3: RHive 튜토리얼 3 - HDFS 함수RHive tutorial 3: RHive 튜토리얼 3 - HDFS 함수
RHive tutorial 3: RHive 튜토리얼 3 - HDFS 함수
 
RHive tutorial 2: RHive 튜토리얼 2 - 기본 함수
RHive tutorial 2: RHive 튜토리얼 2 - 기본 함수RHive tutorial 2: RHive 튜토리얼 2 - 기본 함수
RHive tutorial 2: RHive 튜토리얼 2 - 기본 함수
 
R hive tutorial supplement 3 - Rstudio-server setup for rhive
R hive tutorial supplement 3 - Rstudio-server setup for rhiveR hive tutorial supplement 3 - Rstudio-server setup for rhive
R hive tutorial supplement 3 - Rstudio-server setup for rhive
 
R hive tutorial supplement 2 - Installing Hive
R hive tutorial supplement 2 - Installing HiveR hive tutorial supplement 2 - Installing Hive
R hive tutorial supplement 2 - Installing Hive
 
R hive tutorial supplement 1 - Installing Hadoop
R hive tutorial supplement 1 - Installing HadoopR hive tutorial supplement 1 - Installing Hadoop
R hive tutorial supplement 1 - Installing Hadoop
 
R hive tutorial - apply functions and map reduce
R hive tutorial - apply functions and map reduceR hive tutorial - apply functions and map reduce
R hive tutorial - apply functions and map reduce
 
R hive tutorial - udf, udaf, udtf functions
R hive tutorial - udf, udaf, udtf functionsR hive tutorial - udf, udaf, udtf functions
R hive tutorial - udf, udaf, udtf functions
 
RHive tutorial - HDFS functions
RHive tutorial - HDFS functionsRHive tutorial - HDFS functions
RHive tutorial - HDFS functions
 
RHive tutorials - Basic functions
RHive tutorials - Basic functionsRHive tutorials - Basic functions
RHive tutorials - Basic functions
 
RHive tutorial - Installation
RHive tutorial - InstallationRHive tutorial - Installation
RHive tutorial - Installation
 

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

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