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&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 |
---|