본문 바로가기

Hadoop Ecosystem/Hive

Apache Hive 설치(WSL2 Ubuntu 환경)

Hive 실습에 앞서 Hadoop과 Mysql 설치가 필요 (설치하지 않았다면 이전 포스팅 참조)

https://kind-door.tistory.com/31

 

Mysql 설치 (WSL2 Ubuntu 환경)

Hive를 위해 WSL 환경에서 Mysql 설치  1. 설치sudo apt-get updatesudo apt-get install mysql-server  2. 실행# 서비스 시작sudo systemctl start mysql# 서비스 상태 확인sudo systemctl status mysql# 서비스 중지sudo systemctl stop

kind-door.tistory.com

https://kind-door.tistory.com/26

 

Hadoop 설치하기 (WSL2 Ubuntu 환경)

최근 채용공고를 보면 데이터 쪽에서 온프레스미 or 클라우드(AWS) 지식을 요구하는 경우가 많은데 비용적 측면을 고려해 하둡을 공부하기로 다짐했다. 클라우드 인스턴스 관리를 제대로 못해 30

kind-door.tistory.com

 

 

 

 

 

1. JDBC 설치 (Hive - MySQL 연결 드라이버)

curl -o $HIVE_HOME/lib/mysql-connector-java-8.0.22.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.22/mysql-connector-java-8.0.22.jar

 

JAR 파일은 Java 애플리케이션에서 직접 사용가능하여 압축해제 필요없음

 

 

2. Hive 설치

wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
tar -zxvf apache-hive-3.1.3-bin.tar.gz
mv apache-hive-3.1.3-bin hive

 

 

3. 환경변수 설정

vi ~/.bashrc

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

source ~/.bashrc

 

 

4. 설정파일 수정

# conf 폴더에 있는 설정파일 수정
cd conf

# hive-env.sh 생성
cp hive-env.sh.template hive-env.sh
# source $HIVE_HOME/conf/hive-env.sh

 

vi hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <!--호스트명:포트번호/데이터베이스명 -->
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;serverTimezone=Asia/Seoul</value>
    <description>metadata is stored in a MySQL server</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>MySQL JDBC driver class</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>user name for connecting to mysql server</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>hivepassword for connecting to mysql server</description>
  </property>
</configuration>

 

hive-site.xml 에 위 코드를 입력

Mysql 의 ID, PW는 hive로 설정

 

 

5. Guava 버전 통일

# Hadoop guava 버전 확인 
ll $HADOOP_HOME/share/hadoop/common/lib | grep guava
-rw-r--r--  1 user user  2308517 Oct 19  2019 guava-19.0.jar
-rw-r--r--  1 user user   971309 Oct 19  2019 jersey-guava-2.25.1.jar

# Hive guava 버전 확인
ll $HIVE_HOME/lib| grep guava
-rw-r--r-- 1 user user 2747878 Feb 22  2022 guava-27.0-jre.jar
-rw-r--r-- 1 user user 3362359 Feb 22  2022 hadoop-shaded-guava-1.1.1.jar
-rw-r--r-- 1 user user    2199 Feb 22  2022 listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar

# Hadoop guava 버전으로 통일
rm -r $HIVE_HOME/lib/guava-19.0.jar
cp $HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar $HIVE_HOME/lib/

 

 

6. 하둡 실행 및 폴더 생성

start-all.sh

# 폴더 생성 및 쓰기 권한부여
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir -p /hive/warehouse
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /hive/warehouse

 

 

7. Mysql 설정

CREATE DATABASE hive;

# 아이디 및 비밀번호 hive로 설정
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';

# 모든 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost' WITH GRANT OPTION;

# 권한 즉시 적용
FLUSH PRIVILEGES;

 

hive-site.xml 설정 파일과 Mysql 아이디,비번이 일치해야 접속 가능 

 

 

8. 초기화 및 실행

# 메타스토어 초기화 및 mysql 데이터베이스 지정
hive --service schemaTool -dbType mysql -initSchema

# 실행
hive

 

 

'Hadoop Ecosystem > Hive' 카테고리의 다른 글

Apache Hive 실습(WSL2 Ubuntu 환경)  (0) 2024.06.20