2016년 12월 11일 일요일

하둡구성6. HIVE ODBC 연결

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

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

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

6.  HIVE ODBC 연결

 윈도우에서 ODBC 드라이버 다운로드

  https://www.microsoft.com/en-us/download/confirmation.aspx?id=40886
 

 ODBC 가 연결되었다. 기존에 환경설정에서 ODBC 연결을 위한 소스부분들이 포함되어 
 이렇게 아무렇지 않게 연결된 것 처럼 보인다. 하지만 난 3일이나 고생했다. 
 머리가 안좋다. ^^ 


 틀린 부분이나 잘 안되는 부분은 공유 ^^ 

하둡구성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에서 테이블을
 조회해보면 연동이 정상적으로 되었다는 것이 검증된다.




하둡구성4.MySQL 설치

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

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

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

4.  MySQL 설치

 아래 스크립트 실행

 설치되어있나 확인
  rpm -qa | grep ^mysql-server
 
 MYSQL 설치
  yum install mysql-server



정상적으로 설치되었다.

Mysql 서비스 시작
service mysqld start


서비스까지 시작 되었다.

Mysql 의 root 계정의 패스워드를 바꿔주자

/usr/bin/mysqladmin -u root password 'hadoop'

이제 로그인 해보자

mysql -uroot -p
패스워드입력


접속까지 완료되었다.

이제 부팅시 서비스가 자동으로 시작되게 설정해주자.

chkconfig mysqld on

확인

chkconfig --list mysqld

mysql 설치 완료

2016년 12월 9일 금요일

하둡구성3. HIVE 2.0.1 설치

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

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

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

3.  HIVE 2.0.1 설치하기

다운로드 wget http://apache.tt.co.kr/hive/hive-2.0.1/apache-hive-2.0.1-bin.tar.gz
압축풀기 tar xvzf apache-hive-2.0.1-bin.tar.gz
폴더이동 mv ./apache-hive-2.0.1-bin ./hadoop ( Hadoop 의 home 폴더로 이동 )
링크설정 ln -s apache-hive-2.0.1-bin/ hive


위 내용 대로 하였으면 Hadoop 의 Home 폴더가 이렇게 구성되었을 것이다.

root 계정으로 변경하여 HIVE_HOME 를 등록해준다.

vim /etc/profile

export HIVE_HOME=/home/hadoop/hadoop/hive
export PATH=$PATH:$HIVE_HOME/bin

source /etc/profile

그리고 HIVE 를 실행하기 전에 Hadoop 서비스를 실행해두자.

start-all.sh

HIVE 더미 데이터베이스 생성

schematool -initSchema -dbType derby

여기까지 하고 hive 를 실행하면 오류가 날 것이다. 이제 MySQL 을 설치하고 연동하자.









2016년 11월 28일 월요일

하둡구성1.VMWARE로 CentOS 설치하기


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

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

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

환경구성을 위해 VMWARE 를 설치하였다. VMWARE가 아니더라도 가상머신은 아무거나 사용하자.

1.  CentOS 6.6 리눅스 설치.
 >  CentOS 6.6 리눅스는 총 4군대 머신에 설치할 것이다. MasterNode (1), SlaveNode (3)
 > 자신이 설치 할 리눅스 ISO 파일을 미리 준비해 놓자.


- + Create a New Virtual Machine 를 누른다.

-  Next


- 미리 준비한 CENTOS 6.6 ISO 파일을 선택하고 Next



-  Full name 는 가성머신 이름이고 User name 은 리눅스 User name 이다. 다음 Slave 를 생성할 때에도 User name 은 hadoop 등 모두 같은 계정을 등록하자. 안그러면 리눅스 홈디렉토리가 서로 틀려서 경로를 마춰주는 작업을 해야 하기 때문이다. 저는 이 기본적인 것을 모르고 하루를 소비했다.

- 이렇게 자신이 설치할 디렉토리를 지정하고 Next


- 테스트만 할 것이기 때문에 disk size 는 10 GB 만 주었다.


- 이제 Finish 를 누르면 CentOs 설치가 시작된다. 여기까지는 나도 한번도 실패한적이 없다.
- 아무것도 안해도 그냥 시작 까지 다 된다.


- 신나게 설치 진행중이다.


- 이렇게 CentOs 설치는 완료!

> 다음장에서는 HADOOP 2.7.3 버전을 설치해보자.



R > MSSQL 연동하기

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