hive with mysql 설치
HIVE with MySql
hive 다운로드및 설치
$ su - hadoop
$ wget http://apache.mirror.cdnetworks.com/hive/hive-0.12.0/hive-0.12.0-bin.tar.gz
압축해제 및 hadoop 이있는 디렉토리로 이동 (복사 위치는 본인이 원하는곳에 하면됨)
$ tar xvzf hive-0.12.0*.tar.gz && cp -R hive-0.12.0-bin /usr/local/hadoop/hive
profile에 hive_home 과 PATH 처리
$ vi .profile
추가 내용
# hive home
export HIVE_HOME=/usr/local/hadoop/hive
# path
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
.profile reload
$ source ~/.profile
구동테스트
- 각자의 하둡 실행
$ $HADOOP_HOME/bin/hadoop dfs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop dfs -mkdir /home /home/hive /home/hive/warehouse
$ $HADOOP_HOME/bin/hadoop dfs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop dfs -chmod g+w /home /home/hive /home/hive/warehouse
hive 실행
$ hive
hive> show databases;
OK
default
Time taken: 0.056 seconds, Fetched: 1 row(s)
hive> set -v;
mysql 설치
$ sudo apt-get update && sudo apt-get install mysql-server
mysql 사용자 등록
$ mysql -u root -p
mysql> grant all privileges on *.* to hive@localhost identified by 'hive' with grant option;
mysql> exit;
$ mysql -u hive -p
mysql> create database hive;
Query OK, 1 row affected (0.00 sec)
mysql> use hive;
Database changed
hive 에 사용할 mysql lib 다운로드
$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.27.tar.gz && tar xvzf mysql*.gz
HIVE/lib로 복사
$ cp mysql-connector-java-5.1.27/*.jar $HIVE_HOME/lib
HIVE에서 mysql 연결 설정
hive-site.xml
$ vi $HIVE_HOME/conf/hive-site.xml
아래 내용 삽입
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</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>hive</value>
</property>
</configuration>
최종 테스트
$ hive
hive> create table hive01(seq int, crt_dt date);
OK
Time taken: 0.031 seconds
hive> show tables;
OK
hive01
Time taken: 0.02 seconds, Fetched: 1 row(s)
hive> select * from hive01;
OK
Time taken: 0.188 seconds
hive>