메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


1. hive 다운로드

http://mirror.apache-kr.org/hive/

 

2. banana pi에 업로드(winscp등을 이용) - root로 실행

/usr/local에 업로드한다.

 

3. 압축풀기

  - tar xvfz apache-hive-0.13.1-bin.tar.gz

 

4. 링크 걸기

  - ln -s apache-hive-0.13.1-bin hive

 

5. /etc/profile에 아래의 내용을 추가함

     export HIVE_HOME=/usr/local/hive
     export PATH=$PATH:$HIVE_HOME/bin

 

 # source /etc/profile로 반영함

 

6. conf설정

 - *.template파일을 복사하여 각각의 설정파일을 만들고 내용을 추가한다.

hive-env.sh

hive-exec-log4j.properties

hive-log4j.properties

hive-site.xml

 

7. hive에서 사용할 hdfs에 디렉토리 구성및 권한부여 

hadoop fs -mkdir /tmp
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse


hadoop fs -chown hadoop:hadoop /user/hive

hadoop fs -chown hadoop:hadoop /user/hive/warehouse

 

8. mysql설치

 root@master:/usr/local# apt-get install mysql-server

(404오류가발생시 https://www.gooper.com/ss/index.php?mid=bigdata&category=2772&document_srl=2995를 참조하여 조치후 설치한다)


9. 사용자 생성

가. mysql> grant all privileges on *.* to 'hive'@'localhost' identified by '패스워드' with grant option;

Query OK, 0 rows affected (0.00 sec)

나. mysql>grant all privileges on *.* to 'hive'@'%' identified by '패스워드' with grant option;


10. db생성

mysql> create database metastore_db;

Query OK, 1 row affected (0.00 sec)

 

11. 테이블 생성 스크립트 실행

root@master:/usr/local/hive/bin# mysql -u root -p패스워드 metastore_db < /usr/local/hive/scripts/metastore/upgrade/mysql/hive-schema-0.13.0.mysql.sql

 

12. 원격접속 가능하도록 설정

mysql> select host from user where user='hive';
+-----------+
| host      |
+-----------+
| localhost |
+-----------+
1 row in set (0.00 sec)

mysql> insert into mysql.user(host,user,password) values('%','metastore',password('패스워드'));
Query OK, 1 row affected, 3 warnings (0.00 sec)

mysql> grant all privileges on *.* to 'hive'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host from user where user='hive';
+-----------+
| host      |
+-----------+
| %         |
| localhost |
+-----------+
2 rows in set (0.00 sec)

13.mysql connector를 다운로드하여 HIVE_HOME/lib에 복사

   (http://www.mysql.com/downloads/connector/j/에서 다운로드하여 압축해제후 mysql-connector-java-5.1.32-bin.jar만 복사)

 

14. HIVE_HOME/conf의 hive-site.xml에 아래를 추가 혹은 변경한다.


<configuration>

<property>

  <name>javax.jdo.option.ConnectionURL</name>

  <value>jdbc:mysql://db_server:3306/hive_metastore_db?createDatabaseIfNotExist=true</value>

  <description>JDBC connect string for a JDBC metastore</description>

</property>


<property>

  <name>javax.jdo.option.ConnectionDriverName</name>

  <value>com.mysql.jdbc.Driver</value>

  <description>Driver class name for a JDBC metastore</description>

</property>

<property>

  <name>javax.jdo.option.ConnectionUserName</name>

  <value>hive</value>

  <description>username to use against metastore database</description>

</property>

<property>

  <name>javax.jdo.option.ConnectionPassword</name>

  <value>패스워드</value>

  <description>password to use against metastore database</description>

</property>

</configuration>

<property>

  <name>hive.metastore.port</name>

  <value>3306</value>

  <description>Hive metastore listener port</description>

  </property>

</configuration>


15. hadoop-env.sh 끝에 아래의 내용을 추가하여 hive관련 lib및 conf를 인식시켜준다.

가. export HADOOP_CLASSPATH에 /usr/local/hive/conf를 추가함

나. 파일끝에 아래를 추가함

for f in ${HIVE_HOME}/lib/*.jar; do
   HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:$f;
done

 

16. hive metastore실행
  hive --service metastore &

  *확인

     root@master:/usr/local/hive/bin# netstat -an | grep 9083
     tcp6       0      0 :::9083                 :::*                    LISTEN    


17. hive server2실행 

   hive server시작(hive가 설치된 master에서 실행)

      : nohup hiveserver2 &


18. beeline실행

hiveserver2에 접근하기 위해서 "bin/beeline -u jdbc:hive2://sda1:10000"을 실행한다.

 

*로그파일 위치(root로 실행할때 default위치) : /tmp/root/hive.log



번호 제목 날짜 조회 수
23 lateral view 예제 2014.09.18 786
» banana pi에 hive 0.13.1+mysql(metastore)설치 file 2014.09.09 2498
21 FAILED: IllegalStateException Variable substitution depth too large: 40 오류발생시 조치사항 2014.08.19 1603
20 2개 data를 join하고 마지막으로 code정보를 join하여 결과를 얻는 mr 프로그램 2014.06.30 471
19 hive job실행시 meta정보를 원격의 mysql에 저장하는 경우 설정방법 2014.05.28 1180
18 hive query에서 mapreduce돌리지 않고 select하는 방법 2014.05.23 905
17 hiverserver2기동시 connection refused가 발생하는 경우 조치방법 2014.05.22 1574
16 hive에서 insert overwrite directory.. 로 하면 default column구분자는 'SOH'혹은 't'가 됨 2014.05.20 1137
15 dual table만들기 2014.05.16 1122
14 insert hbase by hive ... error occured after 5 hours..HMaster가 뜨지 않는 장애에 대한 복구 방법 2014.04.29 7256
13 index생성, 삭제, 활용 2014.04.25 1770
12 unique한 값 생성 2014.04.25 1141
11 sequence한 번호 생성방법 2014.04.25 1266
10 json serde사용법 2014.04.17 1197
9 json 값 다루기 2014.04.17 1339
8 hive에서 생성된 external table에서 hbase의 table에 값 insert하기 2014.04.11 1827
7 external partition table생성및 data확인 2014.04.03 1327
6 의사분산모드에서 presto설치하기 2014.03.31 3130
5 Hive Query Examples from test code (2 of 2) 2014.03.26 11467
4 Hive Query Examples from test code (1 of 2) 2014.03.26 1186
위로