centos7 기준입니다.

mast02서버에 hive가 실행중이고, tez 빌드가 마무리되었음을 가정합니다.

본 포스팅 기준으로는 tez빌드 파일 역시 mast02서버에 존재합니다.

조언과 충고 감사합니다.

 

https://developer-woong.tistory.com/44

 

Apache Hive 설치

centos7 기준입니다. PostgreSQL, hadoop이 설치됨을 가정합니다. 서버는 호스트네임기준 mast02서버에 설치할 예정이고, PostgreSQL 역시 mast02서버에 설치됨을 가정합니다. hive폴더는 hadoop 유저권한, hive met

developer-woong.tistory.com

 

https://developer-woong.tistory.com/45

 

apache tez 빌드

centos7 기준입니다. maven, hive가 설치되어있음을 가정합니다. 아래 포스팅에 설치된 mast02서버의 hive를 사용할 예정입니다. tez버전은 0.10.2를 사용합니다. 조언과 충고 감사합니다. https://developer-woon

developer-woong.tistory.com

1. tez 파일 복사 및 압축 해제

action server: mast02

user: root

pwd: /opt/apps/

cmd:

mkdir tez-0.10.2
cd tez-0.10.2

cp /opt/apps/tez/tez-dist/target/tez-0.10.2.tar.gz /opt/apps/tez-0.10.2

tar xvfz tez-0.10.2.tar.gz
cd ../

chown -R hadoop:hadoop ./tez-0.10.2/

 

2. tez 환경변수 설정

action server: mast02

user: root

pwd: /opt/apps

cmd:

vi /etc/profile.d/tez.sh

export TEZ_HOME=/opt/apps/tez-0.10.2
export TEZ_CONF_DIR=$TEZ_HOME/conf

source /etc/profile.d/tez.sh

su - hadoop
cd /opt/apps/tez-0.10.2

 

3. hive, tez 설정파일 수정

action server: mast02

user: hadoop

pwd: /opt/apps/tez-0.10.2

cmd:

vi /opt/apps/hive-3.1.3/conf/hive-env.sh

# export HIVE_AUX_JARS_PATH=/opt/apps/hive-3.1.3/lib 밑에 추가하기
export TEZ_HOME=/opt/apps/tez-0.10.2
export TEZ_JARS=""
for jar in `ls $TEZ_HOME |grep jar`; do
    export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar
done
for jar in `ls $TEZ_HOME/lib`; do
    export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar
done

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_CONF_DIR:$TEZ_JARS

vi /opt/apps/hive-3.1.3/conf/hive-site.xml
# 추가하기
        <property>
                <name>hive.execution.engine</name>
                <value>tez</value>
        </property>
        <property>
                <name>hive.tez.container.size</name>
                <value>2560</value>
        </property>
        <property>
                <name>hive.tez.java.opts</name>
                <value>-Xmx2048m</value>
        </property>
        <property>
                <name>hive.auto.convert.join.noconditionaltask.size</name>
                <value>671088000</value>
        </property>
        
# tez conf 폴더 생성
mkdir /opt/apps/tez-0.10.2/conf/

vi /opt/apps/tez-0.10.2/conf/tez-site.xml


<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>tez.lib.uris</name>
                <value>${fs.defaultFS}/user/tez/tez-0.10.2.tar.gz</value>
        </property>
        <property>
                <name>tez.use.cluster.hadoop-libs</name>
                <value>true</value>
        </property>
        <property>
                <name>tez.history.logging.service.class</name>
                <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
        </property>
        <property>
                <name>tez.am.resource.memory.mb</name>
                <value>2560</value>
        </property>
        <property>
                <name>tez.am.java.opts</name>
                <value>-Xmx2048m</value>
        </property>
        <property>
                <name>tez.session.am.dag.submit.timeout.secs</name>
                <value>60</value>
        </property>

</configuration>

 

4. tez config 파일 복사(hive conf) 및 tar 파일업로드 (HDFS)

action server: mast02

user: hadoop

pwd: /opt/apps/tez-0.10.2

cmd:

# tez-site.xml 복사
cp /opt/apps/tez-0.10.2/conf/tez-site.xml /opt/apps/hive-3.1.3/conf/

hdfs dfs -mkdir /user/tez/
hdfs dfs -put /opt/apps/tez-0.10.2/tez-0.10.2.tar.gz /user/tez/

cd /opt/apps/hive-3.1.3

 

5. hive 재 기동 및 엔진 확인

action server: mast02

user: hadoop

pwd: /opt/apps/hive-3.1.3

cmd:

jps

# RunJar 2개 pid 획득 후
kill -9 [PID]

# hiveserver2 기동
nohup hive --service hiveserver2 >> /data/hive/log/hiveserver2.log 2>&1 &

# hive metastore 기동
nohup hive --service metastore >> /data/hive/log/hive-metastore.log 2>&1 &

 

6. hive 테이블 insert 

action server: mast02

user: hadoop

pwd: /opt/apps/hive-3.1.3

cmd:

# hive 콘솔진입
hive

# 앞전 hive 설치 시 만들어두었던 db, table 사용
show databases;

use test;

# insert
insert into first values ('11111');

# select
select * from first;

 

결과확인

mast02:38088

반응형

+ Recent posts