메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, 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



번호 제목 글쓴이 날짜 조회 수
400 Oracle RAC 구성된 DB서버에 대한 컴포넌트별 설정 방법 총관리자 2022.02.12 27
399 Could not authenticate, GSSException: No valid credentials provided (Mechanism level: Failed to find any kerberos tgt) 총관리자 2022.04.28 27
398 oozie webui접근시 id/pw를 물어보는 Windows보안 팝업창이 뜰때 확인/조치방법 총관리자 2022.05.02 27
397 [CDP7.1.7]Impala Query의 Memory Spilled 양은 ScratchFileUsedBytes값을 누적해서 구할 수 있다. gooper 2022.07.29 29
396 [oozie]oozie ssh action으로 패스워드 없이 다른 서버에 ssh로그인 하여 shellscript호출하는 설정하는 방법 gooper 2022.11.10 29
395 [KTS Cluster의 Key Trustee Server]self-signed 인증서 발급및 설정 방법 gooper 2023.06.27 29
394 Cloudera Manager의 Java Heap Size변경하는 방법 gooper 2022.06.27 31
393 [Cloudera 6.3.4, Kudu]]Service Monitor에서 사용하는 metric중에 일부를 blacklist로 설정하여 모니터링 정보 수집 제외하는 방법 gooper 2022.07.08 31
392 Cloudera Hadoop and Spark Developer Certification 준비(참고) 총관리자 2018.05.16 32
391 [Kerberos]병렬 kinit 호출시 cache파일이 손상되어 Bad format in credentials cache 혹은 No credentials cache found 혹은 Internal credentials cache error 오류 발생시 gooper 2023.01.20 32
390 Failed to write to server: (no server available): 총관리자 2022.01.17 33
389 AnalysisException: Incomplatible return type 'DECIMAL(38,0)' and 'DECIMAL(38,5)' of exprs가 발생시 조치 총관리자 2021.07.26 34
388 spark에서 hive table을 읽어 출력하는 예제 소스 총관리자 2017.03.09 35
387 Oracle NLOB type의 데이터를 import하는 경우 No Java type for SQL type 2011 for column rst와 같은 오류 발생시 조치사항 총관리자 2022.01.14 35
386 CM의 Impala->Query tab에서 FINISHED query가 보이지 않는 현상 총관리자 2021.08.31 36
385 [Kerberos인증] /var/log/krb5kdc.log파일 기준으로 인증요청(AS), 티켓확인(TGS)이 진행되는 로그 기록 gooper 2022.09.21 36
384 kerberos연동된 CDH 6.3.4에서 default realm값이 잘못된 상태에서 서비스 기동시 오류 gooper 2022.10.14 36
383 spark에서 hive table을 읽어 출력하는 예제 소스 총관리자 2017.03.09 37
382 [KUDU] kudu tablet server여러가지 원인에 의해서 corrupted상태가 된 경우 복구방법 gooper 2023.03.28 37
381 [Hue]Hue의 메타정보를 담고 있는 desktop_document테이블과 desktop_document2의 관계 총관리자 2022.05.09 38

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로