빅데이터/하둡 2

하둡 2.0 튜토리얼 - (8) 하이브 MySQL 메타스토어

Johnny Yoon 2019. 7. 23. 19:54
728x90
반응형

 

MySQL 메타스토어

MySQL 설치

MySQL설치법은 운영체제마다 다르고, 다른곳에도 자료가 많으니 따로 정리하지 않겠습니다.

저는 호스트 기기에 MySQL을 따로 설치하였습니다.

 

MySQL config 수정

아래 방법은 호스트 기기 리눅스 기준입니다.

/etc/mysql/mysql.conf.d/mysqld.cnf 파일을 열어 아래 부분을 수정해줍니다.

이는 localhost를 사용하지 않고 외부 접속을 허용하는 것입니다.

(위의 부분 앞에 #를 사용해 주석처리 해준것입니다.)

#bind-address = 127.0.0.1

혹시 방화벽에 의해 포트가 막힐수도 있으니, 해당 문제는 포트를 열어 해결해 주시기 바랍니다.

 

위를 수정하셨으면 mysql을 재시작합니다.

> /etc/init.d/mysql restart

 

MySQL 사용자 생성

먼저 root계정으로 로그인 합니다. 루트계정은 설치시 설정하실 수 있습니다.

> mysql -uroot -p

 

비밀번호를 입력한 뒤 mysql> 콘솔이 나오면, 다음 커맨드를 입력합니다.

이 때 '1234'는 본인이 사용할 비밀번호를 설정합니다.

mysql> create user 'doop'@'doop01' identified by '1234';

 

그리고 해당 계정에 루트 권한을 부여합니다.

mysql> GRANT ALL PRIVILEGES ON *.* TO  'doop'@'doop01' IDENTIFIED BY '1234';
mysql> flush privileges;

 

하이브 설정파일

하이브의 conf디렉토리에 있는 설정파일 hive-site.xml파일을 먼저 hive-site.xml.derby로 바꿔줍니다.

(혹시 나중에 사용할 수 있으니 별도로 저장하는 것입니다. 사용할 일이 없으신 분들은 지우셔도 무관합니다.)

> mv hive-site.xml hive-site.xml.derby

 

그리고 새로운 파일 hive-site.xml을 만들어줍니다.

<?xml version="1.0"?>
<?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://10.40.1.243: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>doop</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>eodud7</value>
  </property>
</configuration>

 

마지막으로 홈디렉토리 (혹은 아까 hive를 실행시킨 디렉토리)의 metastore_db파일의 경로를 metastore_db.derby로 바꿔주었습니다. (혹시 모를 에러를 막기 위해)

> mv ~/metastore_db ~/metastore_db.derby

 

이제 hive가 사용할 mysql 드리아버를 설치해줍니다.

호스트 기기에서 먼저 다음 링크로 다운을 받고 doop01기기로 전송해줍니다.

http://www.java2s.com/Code/JarDownload/mysql/mysql-connector-java-commercial-5.1.7-bin.jar.zip

> wget http://www.java2s.com/Code/JarDownload/mysql/mysql-connector-java-commercial-5.1.7-bin.jar.zip

 

그리고 zip을 풀고 hive의 lib디렉토리로 jar파일을 옮겨줍니다.

> unzip mysql-connector-java-commercial-5.1.7-bin.jar.zip
> mv mysql-connector-java-commercial-5.1.7-bin.jar apache-hive-2.1.1-bin/lib/

 

이제 위의 derby예제와 동일하게 초기화를 시키고 hive를 실행합니다.

> hive-schema -initSchema -dbType derby
> hive

 

실행이 끝나고 mysql서버에서 데이터베이스를 확인하면 hive 데이터베이스가 있는것을 확인할 수 있습니다.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hive               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

 

이상으로 hive의 mysql 메타스토어 설정을 마쳤습니다.

 

참고자료

이 포스팅은 "시작하세요! 하둡 프로그래밍" 책의 예제를 무작정 따라해본 포스팅입니다.

https://wikibook.co.kr/beginning-hadoop-programming-2rev/

728x90
반응형