IT Log

Hive Metastore MySQL 본문

Open Source/Apache

Hive Metastore MySQL

newly0513 2020. 9. 7. 23:16
728x90
반응형

Hive 구성 : newly0513.tistory.com/147


요구사항

 


 

Local Metastore 

MySQL Community Server 8.0.21

RPM Download & Install

wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm; \
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

 

Installing MySQL

  Repository가 잘 설치되었다면, 아래 명령 실행 후 8.0.21버전으로 mysql이 설치됩니다.

yum -y install mysql-community-server

 

 

Starting the MySQL Server

 mysql 시작과 부팅시 자동시작을 설정합니다.

 systemctl start mysqld; \
 systemctl enable mysqld

Temporary password

 mysql 초기 비밀번호는 mysqld.log 파일에 설정되어 있습니다. 확인 후 로그인할 때 사용합니다.

grep 'temporary password' /var/log/mysqld.log

 

Login Mysql

 아래 명령을 실행 후 mysqld.log에서 확인한 비밀번호를 입력하여 로그인합니다.

mysql -uroot -p

 

Change the root password 

 비밀번호가 짧거나 단순할 경우 보안에 의해서 오류가 발생하니 적당한 비밀번호를 설정합니다.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';
FLUSH PRIVILEGES;

 

Create Database & User

 Database를 생성한 해당 DB에 접속한 뒤 User를 생성합니다.

create database hive;
use hive;
CREATE USER 'hive'@'%' IDENTIFIED BY 'P@ssw0rd'; 
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;

 

Logout

quit;

Connector/J 버전

Connector version JDBC version MySQL version JRE required JDK Required Status
5.1 3.0, 4.0, 4.1, 4.2 5.6, 5.7, 8.0 JRE 5이상 JDK5, JDK8이상 일반 공급
8.0 4.2 5.6, 5.7, 8.0 JRE 8이상 JDK8 이상 일반 공급(권장)

Connector/J 8.0.21

Connector/J Download

 $HIVE_HOME/lib 에 mysql connector를 다운받습니다.

cd /usr/local/hive/lib; \
wget https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/8.0.21/mysql-connector-java-8.0.21.jar

Hive Meatastore Configuration

hive-stie.xml

  • hive.metastore.warehouse.dir : hdfs://<host>:<port>/<path>
  • javax.jdo.option.ConnectionURL : jdbc:mysql://<host>:<port>/<datanase name>?
  • javax.jdo.option.ConnectionDriverName : com.mysql.cj.jdbc.Driver
  • javax.jdo.option.ConnectionUserName : <user name>
  • javax.jdo.option.ConnectionPassWord : <password>
<configuration>
  <property>
     <name>hive.metastore.warehouse.dir</name>
     <value>hdfs://master:9000/user/hive/warehouse</value>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionURL</name>
     <value>jdbc:mysql://master:3306/hive?serverTimezone=UTC</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionUserName</name>
     <value>hive</value>
  </property>
  <property>
     <name>javax.jdo.option.ConnectionPassword</name>
     <value>P@ssw0rd</value>
  </property>
</configuration>

Start Hive

Hive Schema 초기화

  • schematool 초기화 사용법 : schematool -dbType <db type> -initSchema
schematool -dbType mysql -initSchema

 

Hive CLI

hive

Hive Metastore Test

Create Table

 Test로 Table을 생성합니다.

create table hive_mysql_test(hive int, mysql int);

 

MySQL Login

 hive 유저를 생성했을 때 설정한 비밀번호를 입력하여 접속합니다.

mysql -u hive -p

 

Table 확인

 Hive Metastore가 잘 생성되었을 경우 hive schema Table이 생성되어 있습니다. 그리고 Hive에서 생성한 Table은 'TBLS'라는 Table을 확인해보면 아래와 같이 출력됩니다.

SHOW TABLES;
SELECT * FROM TBLS;

728x90
반응형

'Open Source > Apache' 카테고리의 다른 글

HBase 구성 (Standalone)  (0) 2021.03.24
Hive Metastore Derby  (0) 2021.03.24
Hive Metastore  (0) 2020.09.05
Zookeeper 구성 ( Multi-Server )  (0) 2020.09.02
Zookeeper 구성 (Standalone)  (0) 2020.09.02
Comments