2023.05.30 (Tue) ํ์ต ์ ๋ฆฌ
#Hadoop
1. Hadoop ๊ฐ๋
์ฌ๋ฌ ๊ฐ์ ์ ๋ ดํ ์ปดํจํฐ๋ฅผ ๋ง์น ํ๋์ธ ๊ฒ์ฒ๋ผ ๋ฌถ์ด ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ์
์์ฒ๋์ ๋ถ์ฐ๋ ์ฅ๋น์ ๋์ฉ๋ ํ์ผ์ ์ ์ฅํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ถ์ฐํ์ผ ์์คํ ๊ณผ, ์ ์ฅ๋ ํ์ผ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐ๋ ์๋ฒ์ CPU์ ๋ฉ๋ชจ๋ฆฌ ์์์ ์ด์ฉํด ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๋ถ์ํ ์ ์๋ ์ปดํจํ ํ๋ซํผ์ธ ๋งต๋ฆฌ๋์ค๋ก ๊ตฌ์ฑ
| HDFS (๋ถ์ฐ ํ์ผ ์์คํ ) |
๋๋์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ํ์์ผ๋ก ์ ์ฅํ๊ณ Hadoop ํด๋ฌ์คํฐ ์ ๋ฐ์ ๊ฑธ์ณ ๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ์ ๋ํ ์ฌ๋ฌ ์์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ ๋ฐ์ดํฐ ์ ์ด ํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํจ |
| MapReduce | ๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ด์ ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์ง |
| YARN | ํ๋ก์์ ์คํ๋๋ ํด๋ฌ์คํฐ ๋ฆฌ์์ค ๊ด๋ฆฌ, ํ์คํฌ ๊ณํ ๋ฐ ์์ ์์ฝ์ ์ฌ์ฉ |
2. Hadoop ์ค์น
2-1. Hadoop ์ค์น ๊ธฐ๋ณธ
- ssh localhost ์ ์์ค์
sudo apt-get update
sudo apt-get upgrade
sudo apt-get purge openssh-server #openssh servr ์ค์น
sudo apt-get install openssh-server
sudo service ssh --full-restart
sudo service ssh restart
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- hadoop ๋ค์ด๋ก๋ ๋ฐ ์์ถ ํด์
mkdir ~/hadoop
cd ~/hadoop
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz #๋ค์ด๋ก๋
tar zxvf hadoop-3.3.4.tar.gz #์์ถ ํด์
- ํ๊ฒฝ๋ณ์ ์ค์
vi ~/.zshrc #ํธ์ง๊ธฐ ์ด๊ธฐ
# ~/.zshrc์ ์๋ ๋ด์ฉ ์ถ๊ฐ
# hadoop env
export HADOOP_HOME=~/hadoop/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
source ~/.zshrc # ํฐ๋ฏธ๋ ์ฌ์คํ
- vi $HADOOP_CONF_DIR/core-site.xml : ํ๋ก hdfs์ ์์ธ ์์ฑ ์ ์
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
- vi $HADOOP_CONF_DIR/hdfs-site.xml : ํ๋ก ๋ฐ์ดํฐ๋ ธ๋, ๋ค์๋ ธ๋์ ์ ์ฅ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์ค์
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/sub/hadoop/nodes/namenode01</value> # ๊ฒฝ๋ก ์์ ๅฟ
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/sub/hadoop/nodes/datanode001</value> # ๊ฒฝ๋ก ์์ ๅฟ
</property>
</configuration>
- vi $HADOOP_CONF_DIR/mapred-site.xml : ๋งต๋ฆฌ๋์ค ํ์ผ ๊ฐ์ ์ ์
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
- vi $HADOOP_CONF_DIR/yarn-site.xml : yarn ๊ด๋ จ ์ธํ ์ ์
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
2-2. Java ์ค์น
- Java ์ค์น
sudo apt-get update
sudo apt-get install openjdk-8-jdk
- ์ค์น ๊ฒฝ๋ก ํ์ธ
which java
# ls -l ๋ก ์ฌ๋ณผ๋ฆญ ๊ฒฝ๋ก์ ์ ๊ฒฝ๋ก ํ์ธ
- ํ๊ฒฝ ๋ณ์ ์ค์
#~/.zshrc์ ์๋ ๋ด์ฉ ์ถ๊ฐ
# java env
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 #์์์ ์ฐพ์ ์๊ฒฝ๋ก๋ก ํ๊ฒฝ๋ณ์ ์ค์
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH
- ์ค์น ์ ์ฉ ๋ฐ ์๋ฐ ์ค์น ํ์ธ
$ source ~/.zshrc
$ java -version
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-8u372-ga~us1-0ubuntu1~22.04-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)
2-3. Hadoop ์คํ
- namedone format
hdfs namenode -format
- hdfs ์คํ
$ cd $HADOOP_HOME
$ sbin/start-dfs.sh
Starting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [********]
$ jps # ์๋ฐ ํ๋ก์ธ์ค ํ์ธ
34849 Jps
34658 SecondaryNameNode
34468 DataNode
34316 NameNode
- ์ ์ง
sbin/start-dfs.sh
3. Hadoop ๊ธฐ๋ณธ ๋ช ๋ น์ด
hdfs dfs -ls / # ํ์ผ ๋ชฉ๋ก ํ์ธ
hdfs dfs -mkdir /user # ํด๋ ๋ง๋ค๊ธฐ
hdfs dfs -mkdir /user/sub ## ํด๋๋ ์์ฐจ์ ์ผ๋ก ์์ฑ ๅฟ
hdfs dfs -put /home/sub/sub.log /user/sub/ #upload
hdfs dfs -rm -r /user/sub/sub.log #์ญ์
hdfs dfs -mv /user/sub/sub.log /user/ #์ด๋
hdfs dfs -cat /user/sub/sub.log #ํ๋ฉด ์ถ๋ ฅ
'๐ Data > Engineering' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [HIVE] Airflow / Hive๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ (0) | 2023.06.02 |
|---|---|
| [Hive] Hive ์ค์น ๋ฐ ๊ฐ์ (0) | 2023.05.31 |
| [Airflow] Airflow Standalone ์ค์น ๋ฐ ํ ์คํธ (0) | 2023.05.26 |
| [Airflow/AWS] Airflow - Trigger Rule (0) | 2023.05.25 |
| [AWS] Airflow๋ฅผ ํ์ฉํ์ฌ AWS S3๋ก ํ์ผ ์ ์กํ๊ธฐ (0) | 2023.05.24 |