-
hive , mysql 설치 및 연동Data Analysis 2014. 11. 26. 23:17
hive에 원격 metastore를 mysql로 하기 위한 작업.
mysql설치
1. 리눅스에서 설치 명령어
$apt-get install mysql-server mysql-client
2. jdbc
$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.27.tar.gz && tar xvzf mysql*.gz
$ cp mysql-connector-java-5.1.27/*.jar $HIVE_HOME/lib
3. mysql시작
sudo service mysql restart
mysql -u root -p
4. mysql 계정생성 및 권한부여
$ mysql -u root -p
mysql> use mysql
mysql> insert into user(host,user,password) values('%','hive',password('hive'));
mysql> Flush privileges;
$ mysql -u root -p
mysql> grant all privileges on hive.* to hive@localhost identified by 'hive' with grant option;
mysql> grant all privileges on hive.* to hive@'%' identified by 'hive' with grant option;
mysql> Flush privileges;
grant all privileges on [database명].* to [username]@[hostname] identified by '[password]' with grant option;
hive, hive를 가지는 계정을 생성하였다.
3. mysql시작 및 로그인
$sudo service mysql restart
$mysql -u hive -p
원격 mysql접속시 명령어
mysql -h [ip주소] -u [user id] -p
4. mysql 확인 명령어
mysql>show databases;
mysql>show tables;
Hive설치
0. 환경변수설정
$cd .
$vi .profile
export HADOOP_HOME=/home/ubuntu/hadoop-1.2.1
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_VERSION=1.2.1
export HIVE_HOME=/home/ubuntu/hadoop-1.2.1/apache-hive-0.14.0-bin
export PATH=$PATH:$HIVE_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$source .profile1. conf폴더에 필요한 파일들
cp hive-env.sh hive-env.sh.template
$ vi $HIVE_HOME/conf/hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>false</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>[user id]</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>[user pw]</value>
</property>
</configuration>
2. HDFS설정
$hadoop fs -mkdir /tmp
$hadoop fs -mkdir /user/hive/warehouse
$hadoop fs -chmod a+w /tmp
$hadoop fs -chmod a+w /user/hive/warehouse
/tmp/hive는 파일이 삭제됬다 생겼다해서 매번 권한을 설정해주어야 한다. 알아서 오류가 뜬다...
항상 느끼는 거지만 대부분의 trouble shooting은 오타점검에서 시작된다...
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/ql/CommandNeedRetryException
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf
hadoop_env.sh에서 classpath 뒤에 HIVE_HOME/lib/* 붙여주면 된다.'Data Analysis' 카테고리의 다른 글
hive, MySQL, sqoop, R wrap up 및 참조 url (0) 2014.11.29 windwos 에서 AWS EC2 mysql server로 접속 (1) 2014.11.28 B310-W2 (0) 2014.11.25 mapper, reducer (0) 2014.11.11 BGP raw data 분석위한 url (0) 2014.10.30