본문 바로가기
App Programming/Hadoop

[Hadoop] 하둡 에코시스템 베이스 이미지 설치

by goatlab 2024. 6. 20.
728x90
반응형
SMALL

하둡 에코시스템 베이스 이미지 설치

 

# 하둡에서 사용하는 snappy native library 설치
sudo apt install libsnappy-dev -y

# Hive에서 사용하는 Metastore로 Mariadb 사용
sudo apt-get install -y mariadb-client

# Python3 설치 및 라이브러리 설치
sudo apt-get install -y python3-pip

 

Anaconda 설치

 

mkdir ~/downloads && cd downloads
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh
bash Anaconda3-2023.03-Linux-x86_64.sh

 

conda : command not found 에러 발생시 다음 명령어를 실행한다.

 

export PATH=~/anaconda3/bin:$PATH
source ~/.bashrc
conda init

 

가상 환경 생성

 

# pyspark 가상 환경 생성
conda create --name pyspark python=3.8

#가상 환경 활성화
conda activate pyspark

# PySpark 설치
conda install -c conda-forge pyspark

# 라이브러리 확인
pip list

 

플랫폼 설치

 

# 디렉토리 생성 및 플랫폼 다운로드
cd ~/downloads
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

# spark  다운로드
wget https://dlcdn.apache.org/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz

# zookeeper 다운로드
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz

# kafka 다운로드
wget https://downloads.apache.org/kafka/3.6.2/kafka_2.12-3.6.2.tgz

# hive 다운로드
wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

# zeppelin 다운로드
wget https://dlcdn.apache.org/zeppelin/zeppelin-0.10.1/zeppelin-0.10.1-bin-all.tgz

# flume 다운로드
wget https://dlcdn.apache.org/flume/1.11.0/apache-flume-1.11.0-bin.tar.gz

 

다음 명령어로 각 플랫폼을 압축 해제한다.

 

sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local
sudo tar -xzvf spark-3.5.1-bin-hadoop3.tgz -C /usr/local
sudo tar -xzvf apache-zookeeper-3.8.4-bin.tar.gz -C /usr/local
sudo tar -xzvf kafka_2.12-3.6.2.tgz -C /usr/local
sudo tar -xzvf apache-hive-3.1.3-bin.tar.gz -C /usr/local/
sudo tar -zxvf zeppelin-0.10.1-bin-all.tgz -C /usr/local/
sudo tar -xzvf apache-flume-1.11.0-bin.tar.gz -C /usr/local

 

다음 명령어로 심볼릭 링크를 생성한다.

 

cd /usr/local

sudo ln -s hadoop-3.3.6 hadoop
sudo ln -s spark-3.5.1-bin-hadoop3 spark
sudo ln -s apache-zookeeper-3.8.4-bin zookeeper
sudo ln -s kafka_2.12-3.6.2 kafka
sudo ln -s apache-hive-3.1.3-bin hive
sudo ln -s zeppelin-0.10.1-bin-all zeppelin
sudo ln -s apache-flume-1.11.0-bin flume

 

다음 명령어로 소유권을 변경한다.

 

sudo chown -R $USER:$USER /usr/local/

 

환경 변수 설정

 

sudo vim /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/usr/local/spark/bin:/usr/local/spark/sbin:/usr/bin/python3:/usr/local/zookeeper/bin:/usr/local/kafka/bin:/usr/local/hive/bin:/usr/local/zeppelin/bin:/usr/local/flume/bin"

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
HADOOP_HOME="/usr/local/hadoop"
SPARK_HOME="/usr/local/spark"
ZOOKEEPER_HOME="/usr/local/zookeeper"
KAFKA_HOME="/usr/local/kafka"
HIVE_HOME="/usr/local/hive"
ZEPPELIN_HOME="/usr/local/zeppelin"

 

그 다음, .bashrc에 환경 변수 등록 및 적용한다.

 

source /etc/environment

sudo echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64' >> ~/.bashrc
sudo echo 'export HADOOP_HOME=/usr/local/hadoop' >> ~/.bashrc
sudo echo 'export HADOOP_COMMON_HOME=$HADOOP_HOME' >> ~/.bashrc
sudo echo 'export HADOOP_HDFS_HOME=$HADOOP_HOME' >> ~/.bashrc
sudo echo 'export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop' >> ~/.bashrc
sudo echo 'export HADOOP_YARN_HOME=$HADOOP_HOME' >> ~/.bashrc
sudo echo 'export HADOOP_MAPRED_HOME=$HADOOP_HOME' >> ~/.bashrc
sudo echo 'export SPARK_HOME=/usr/local/spark' >> ~/.bashrc
sudo echo 'export PYTHONPATH=/usr/bin/python3' >> ~/.bashrc
sudo echo 'export PYSPARK_PYTHON=/usr/bin/python3' >> ~/.bashrc
sudo echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> ~/.bashrc
sudo echo 'export KAFKA_HOME=/usr/local/kafka' >> ~/.bashrc
sudo echo 'export KAFKA_HEAP_OPTS="-Xmx512m -Xms512m"' >> ~/.bashrc
sudo echo 'export HIVE_HOME=/usr/local/hive' >> ~/.bashrc
sudo echo 'export ZEPPELIN_HOME=/usr/local/zeppelin' >> ~/.bashrc

source ~/.bashrc

 

Hive MySQL Connector

 

하이브에서 사용할 mysql-connector를 다운로드 후, lib 디렉토리로 넣어준다.

 

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

 

hadoop과 guava 버전 충돌이 있는 플랫폼의 lib에 hadoop의 guava 파일을 복사한다.

 

rm $HIVE_HOME/lib/guava-19.0.jar
cp $HADOOP_HOME/share/hadoop/hdfs/lib/guava-27.0-jre.jar $HIVE_HOME/lib/

 

728x90
반응형
LIST

'App Programming > Hadoop' 카테고리의 다른 글

[Hadoop] 플럼 및 하이브 설정  (0) 2024.06.21
[Hadoop] 카프카 및 제플린 설정  (0) 2024.06.21
[Hadoop] 주키퍼 및 스파크 설정  (0) 2024.06.21
[Hadoop] 하둡 설정  (0) 2024.06.21
하둡 (Hadoop)  (0) 2022.10.04