메뉴 건너뛰기

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



번호 제목 날짜 조회 수
27 Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D오류발생시 조치사항 2016.06.03 1317
26 hive 2.0.1 설치및 mariadb로 metastore 설정 2016.06.03 5383
25 CDH 5.4.4 버전에서 hive on tez (0.7.0)설치하기 2016.01.14 475
24 Tracking URL = N/A 가발생하는 경우 - 환경설정값을 잘못설정하는 경우에 발생함 2015.06.17 1078
23 java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error: Unable to deserialize reduce input key from...오류해결방법 2015.06.16 2084
22 hive 0.13.1 설치 + meta정보는 postgresql 9.3에 저장 2015.04.30 982
21 lateral view 예제 2014.09.18 868
» banana pi에 hive 0.13.1+mysql(metastore)설치 file 2014.09.09 2558
19 FAILED: IllegalStateException Variable substitution depth too large: 40 오류발생시 조치사항 2014.08.19 1673
18 hive job실행시 meta정보를 원격의 mysql에 저장하는 경우 설정방법 2014.05.28 1249
17 hive query에서 mapreduce돌리지 않고 select하는 방법 2014.05.23 1181
16 hiverserver2기동시 connection refused가 발생하는 경우 조치방법 2014.05.22 1652
15 hive에서 insert overwrite directory.. 로 하면 default column구분자는 'SOH'혹은 't'가 됨 2014.05.20 1206
14 dual table만들기 2014.05.16 1391
13 insert hbase by hive ... error occured after 5 hours..HMaster가 뜨지 않는 장애에 대한 복구 방법 2014.04.29 7432
12 index생성, 삭제, 활용 2014.04.25 1850
11 unique한 값 생성 2014.04.25 1443
10 sequence한 번호 생성방법 2014.04.25 1603
9 json serde사용법 2014.04.17 1488
8 json 값 다루기 2014.04.17 1439
위로