2016년 12월 11일 일요일

하둡구성5. HIVE , MYSQL 연동

리눅스도 처음해본다. 하둡설치 2.7.3 하이브 2.1.0 Mysql 연동까지

갑자기 하둡을 하게 되었다. 그런데 하둡은 리눅스 설치해야 한다는 것!! 멘붕이다.
근 2주간 고생고생하면서 설치에 성공하게 되었고 다른 곳에서도 설치할 일이 있을 것 같아서
매뉴얼을 작성해본다.

아무것도 모르고 CentOS 6.6 > HADOOP 2.7.3 > HIVE 2.1.0 > MYSQL 연동까지 시작해보자.

5.  HIVE , MYSQL 연동

 MYSQL JDBC 다운로드

wget http://repo.maven.apache.org/maven2/mysql/mysql-connector-java/5.1.9/mysql-connector-java-5.1.9.jar

 다운로드 받은 파일 hive/lib 폴더로 복사


cp hive-env.sh.template hive-env.sh 로 hive-env.sh 파일 만들자.

hive-env.sh

vim hive-env.sh

HADOOP_HOME=/home/hadoop/hadoop

cp hive-default.xml.template  hive-site.xml 로 파일 생성

hive-site.xml

 <property>
        <name>hive.metastore.local</name>
        <value>true</value>
 </property>
 <property>
  <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://NameNode:3306/hive?createDatabaseIfnotExists=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>
<property>
 <name>datanucleus.autoCreateSchema</name>
  <value>false</value>
   </property>
<property>
 <name>datanucleus.fixedDatastore</name>
  <value>true</value>
   </property>
<property>
 <name>hive.metastore.uris</name>
  <value>thrift://NameNode:9083</value>
   <description>IP address (or fully-qualified domain name) and port of the metastore host</description>
    </property>
  <property>
       <name>hive.server2.thrift.port</name>
            <value>10000</value>
  </property>
  <property>
   <name>hive.server2.enable.doAs</name>
    <value>true</value>
    </property>


hive-log4j.properties ( hive-log4j2.properties.template 로 만들것 )

log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter


 . 이제 연결하려고 하면 mysql 의 유저 권한이 없다고 나온다.
mysql> grant all privileges on *.* to 사용자명@호스트
     -> identified by '비밀번호' with grant option;

 권한주고 hive DB에 스키마를 생성하자.

/home/hadoop/hadoop/hive/scripts/metastore/upgrade/mysql 폴더로 이동

mysql -u hive -p hive < ./hive-schema-2.0.0.mysql.sql

이제 메타스토어를 백엔드에서 실행하자.

hive --service metastore &

이제 reboot 해서 Hadoop 부터 실행해보자.

 start-all.sh

 정상적으로 실행되었다.

 이제 HIVE 의 ODBC 연결을 위한 hiveserver2 를 백그라운드에서 실행하자.

 hive --service hiveserver2 &


 정상 적으로 실행됬다.

 HIVE의 METASTORE 를 실행하자.

  hive --service metastore &


 좋아 .. 순조롭다. 이제는 hive를 실행해보자.

  hive

 HIVE 가 정상 시작 되었다. 이제는 hive에서 테이블을 만들고 mysql에서 테이블을
 조회해보면 연동이 정상적으로 되었다는 것이 검증된다.




댓글 없음:

댓글 쓰기

R > MSSQL 연동하기

1. 설치하기   install.packages("RODBC") 2. 라이브러리 사용 설정  library(RODBC) 3. ODBC를 이용해서 DSN 연결 ( ODBC 만들어두자 미리 )  cnn <- o...