Introduction
Hive 를 공부해보기 MySQL을 메타 스토어로 사용하는 최소한의 설치를 설치해보자..
Requirements
여기서 MySQL 설치에 대해서 다루지 않겠다... 데이터베이스와 유저까지 만들자.
Host: mysqldb
Database: hive
Username: hive
※ MySQL 을 사용 하지 않을 경우를 위해서 생략 가능한 절차를 코맨트 하겠다.
하둡은 이미 설치되어 있어야 한다. 설치된 환경은 아래와 같다.
$ rpm -qa *-release
centos-release-6-7.el6.centos.12.3.x86_64
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
$ whoami
hadoop
$ pwd
/opt/hadoop
$ hadoop version
Hadoop 1.2.1
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152
Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013
From source with checksum 6923c86528809c4e7e6f493b6b413a9a
This command was run using /opt/hadoop/hadoop-1.2.1/hadoop-core-1.2.1.jar
하이브가 설치될 환경을 미리 잡아주자.
$ cat ~/.bashrc
# .bashrc
# 생략
# User specific aliases and functions
export HADOOP_HOME=/opt/hadoop/hadoop-1.2.1
export HIVE_HOME=/opt/hadoop/hive-1.2.1
export PATH=$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin
Download Hive
하이브 최신(1.2.1) 파일을 다운로드 받아 설치하자.
# 파일 다운로드
$ wget http://mirror.apache-kr.org/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz
# 압축 해제
$ tar -xzvf apache-hive-1.2.1-bin.tar.gz
# 이름 변경
$ mv apache-hive-1.2.1-bin hive-1.2.1
Install MySQL Connector/J
※ MySQL 을 사용하지 않을 거라면 패스
하이브에서 메타스토어를 다른 데이터베이스로 사용할 시에 해당 JDBC 라이브러리를 넣어줘야한다.
MySQL을 사용할 것이기 때문에 이에 맞는 라이브러리를 찾아 넣어주자.
# 파일 다운로드
$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz
# 압축 해제
$ tar -xzvf mysql-connector-java-5.1.38.tar.gz
# jar 파일 복사
$ cp mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /opt/hadoop/hadoop-1.2.1/lib
MySQL 스키마 파일은 하이브에 포함되어 있다. 어떤 방법을 쓰든.... 실행하자.
$HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql
나는 mysql client 를 이용해서 넣었다..
$ mysql --host=mysqldb --database=hive --user=hive --password=**** < $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql
Setting
하이브에서 사용하게 될 영역을 HDFS 내에 만들자.
$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse
설정 파일을 만들자. (이 파일이 처음에는 없을 것이다)
$ vi $HIVE_HOME/conf/hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop-01:9000</value>
</property>
<!-- MySQL 사용 안할 거라면 이 아래는 패스 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://mysqldb:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>****</value>
</property>
</configuration>
이제 하이브를 한번 실행 해보자. 아래와 같이 CLI 커맨드가 나오면 OK!
$ hive
Logging initialized using configuration in jar:file:/opt/hadoop/hive-1.2.1/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive> _
'Study > Hadoop' 카테고리의 다른 글
Install Ambari and Deploy HDP in CentOS (1) | 2016.06.05 |
---|---|
Installing Hadoop 1 on Ubuntu 14.04 (0) | 2015.11.12 |