Hadoop HDFS(3.3)+Spark(3.1.1)! ๋ฌด์์ ๋ฐ๋ผํ๊ธฐ #1
์๋ ํ์ธ์ ๐๐๐๐!
์ ๋ฒ ํฌ์คํ
์๋ ํ๋ก HDFS ์์ ๋ฒ์ (2.0)์ ์ค์นํ์์ต๋๋ค.
์ด๋ฒ ํฌ์คํ
์๋ ํ๋กHDFS ์ต์ ๋ฒ์ ์ธ 3.3๋ฅผ ์ค์นํ๊ณ , ๊ทธ ์์ Spark๋ ํจ๊ป ์ค์นํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
HDFS 3.3๋ฒ์ ์ Java 1.8๋ฒ์ ์ด์์ด ํ์ํฉ๋๋ค. ^.^
(Apache Hadoop 3.3 and upper supports Java 8 and Java 11)
์ด๋ฒ ํฌ์คํ
๊ณผ ์ด์ด์ง๋ ํฌ์คํ
๋ค์ ๋ฐ๋ผ์ ์ญ ์งํํ๋ฉด, HDFS+YARN+Spark ๊ตฌ์ฑ์ด ์์ฑ๋๊ณ ,
๋ง์ง๋ง์ผ๋ก๋ ์ฃผํผํฐ ๋
ธํธ๋ถ๋ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ค๊ณ ํฉ๋๋ค.๐๐ป
[์ค์นํด์ผํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชฉ๋ก]
1. Java 1.8
2. HDFS 3.3
3. Scala 2.13.5
4. Spark 3.1.1
์, ์ด์ ํ๋ฒ ์ค์นํด๋ด ์๋ค!
1. EC2 ์ธ์คํด์ค ์์ฑํ๊ธฐ!
์ด๋ฒ ๋จ๊ณ์์๋ EC2 ์ธ์คํด์ค๋ฅผ ์์ฑํฉ๋๋ค.
OS๋ AmazonLinux2 ๋ฅผ ์ฌ์ฉํ ์์ ์
๋๋ค.!!!
AWS ์น ์ฝ์์ ์ ์ํ ํ EC2์๋น์ค๋ฅผ ์ ํํฉ๋๋ค.
๋งจ ์ฒ์ ํ๋ฉด์์ "์ธ์คํด์ค ์์" ๋ฒํผ์ ์ฐพ์ ํด๋ฆญํฉ๋๋ค.
๋จผ์ , 1๋จ๊ณ, AMI๋ฅผ ์ ํํฉ๋๋ค.
์ ๋ Amazon Linux2๋ฅผ ์ฌ์ฉํ ์์ ์ด๋ฏ๋ก, ์ฒซํ์ด์ง์์ ๋ฐ๋ก ๋์ค๋ AMI๋ฅผ ์ ํํด์ค๋๋ค.
2๋จ๊ณ, ์ธ์คํด์ค ์ ํ์ ์ ํํฉ๋๋ค. ์ ๋ c5.large์ ์ ํํ ํ "๋ค์:์ธ์คํด์ค์ธ๋ถ์ ๋ณด ๊ตฌ์ฑ"์ ํด๋ฆญํฉ๋๋ค.
3๋จ๊ณ, ์ธ์คํด์ค ๊ตฌ์ฑ์
๋๋ค.
๋ง์ฝ, VPC์ค์ ์ด๋, EC2 Role ์ถ๊ฐ๊ฐ ํ์ํ๋ค๋ฉด ์ด ๋จ๊ณ์์ ์งํํด์ฃผ์
์ผ ํฉ๋๋ค.
์ ๋ ๋ณ๋๋ก ์ค์ ํ ๊ฒ ์๊ธฐ๋๋ฌธ์ ๋ชจ๋ ๊ธฐ๋ณธ์ผ๋ก ๋๊ณ ๋ค์:์คํ ๋ฆฌ์ง์ถ๊ฐ๋ก ๋์ด๊ฐ๋๋ค.
4๋จ๊ณ, ์คํ ๋ฆฌ์ง ์ถ๊ฐ ๋จ๊ณ์
๋๋ค.
์ ๋ ์ด ๋จ๊ณ์์ 50GiB gp3 ์คํ ๋ฆฌ์ง๋ฅผ ์ถ๊ฐํ์ต๋๋ค. (HDFS ์คํ ๋ฆฌ์ง๊ฐ ๋ ์์ญ์
๋๋ค.)
์ถ๊ฐํ์ จ๋ค๋ฉด ์ด์ "๊ฒํ ๋ฐ ์์"์ ํด๋ฆญํฉ๋๋ค.
7๋จ๊ณ, ๊ฒํ ๋ถ๋ถ์
๋๋ค. ์๋๊น์ง ์ญ ๊ฒํ ํ ํ ์์ํ๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํคํ์ด ํ์
์ฐฝ์์ ๊ฐ์ง๊ณ ์๋ ํค ํ์ด๋ฅผ ์ ํํ๊ฑฐ๋ ์ ํคํ์ด๋ฅผ ์์ฑํฉ๋๋ค.
๋ช ๋ถ ํ ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ธ์คํด์ค ๋ชฉ๋ก์์ ์๋ก ์์ฑ๋ ์ธ์คํด์ค๋ฅผ ํ์ธํ๊ณ ์ด๋ฆ์ HDFS with Spark ์ผ๋ก ๋ณ๊ฒฝํ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ํผ๋ธ๋ฆญIP์ฃผ์๋ฅผ ํ์ธํด์ค์๋ค!
์ด์ ์ด ์ธ์คํด์ค์ SSH๋ก ์ ์ํฉ๋๋ค.
ssh -i <ํคํ์ด๊ฒฝ๋ก> ec2-user@<ํผ๋ธ๋ฆญIP>
์ธ์คํด์ค์ ์ ์๊น์ง ํ์ผ๋ฉด, ์ด๋ฒ ๋จ๊ณ๋ ์ฌ๊ธฐ์ ์๋ฃ ๋์์ต๋๋ค :)
๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ์๋ค!
2. HDFS ์คํ ๋ฆฌ์ง๊ฐ ๋ ๋์คํฌ ํฌ๋ฉงํ๊ธฐ!
์์์ 50GiB์ง๋ฆฌ EBS๋ฅผ ๋ณ๋๋ก ์ถ๊ฐํ์ต๋๋ค.
lsblk ๋ช
๋ น์ด๋ก ํด๋น ๋์คํฌ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ lsblk
์ด ๋์คํฌ๋ฅผ xfs๋ก ํฌ๋ฉงํด์ค๋๋ค!!
[ec2-user@ip-172-31-3-64 install_dir]$ sudo mkfs.xfs /dev/nvme1n1
์ด ๋์คํฌ๋ฅผ ๋ง์ดํธํ ๊ฒฝ๋ก๋ฅผ ์์ฑํ๊ณ fstab ์ค์ ํ์ผ์ ์์ ํฉ๋๋ค.
โป mount๋ช
๋ น์ด๋ก ๋ง์ดํธ ํ ์ ์์ง๋ง, ์ฌ๋ถํ
๋ฑ์ผ๋ก ๋ง์ดํธ๊ฐ ํด์ ๋ ์ ์๊ธฐ๋๋ฌธ์ fstab ํ์ผ์ ์์ ํ์ฌ ๋ง์ดํธ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. (mount๋ช
๋ น์ด๋ก ์ค์ = ์ผ์์ ์ผ๋ก ๋ง์ดํธ, fstab = OS๋ถํ
์ ๋ง์ดํธ)
โป ๋ชจ๋ ์ค์ ์ด ๋๋ ํ ์ด ์ธ์คํด์ค๋ฅผ ๋ณต์ ํ์ฌ ์ฌ์ฉํ ์์ ์
๋๋ค.
โป์ฃผ์ : ์ค ์ด์ํ๊ฒฝ์์๋ ๋์คํฌ์ UUID๋ฅผ ํ์ธํ์ฌ UUID๊ธฐ์ค์ผ๋ก ๋ง์ดํธ ํ์ธ์. (UUID ํ์ธ ๋ช
๋ น์ด : ls -l /dev/disk/by-uuid | grep xvda)
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vi /etc/fstab
------- ์ถ๊ฐ -------------------------------------------------------------
/dev/nvme1n1 /hdfs_dir xfs defaults 1 1
-------------------------------------------------------------------------
๊ทธ๋ฆฌ๊ณ "/hdfs_dir" ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ ํ mount -a ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ, ๋ง์ดํธ๋ฅผ ํด์ค๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo mkdir /hdfs_dir
[ec2-user@ip-172-31-3-64 install_dir]$ sudo mount -a
[ec2-user@ip-172-31-3-64 install_dir]$ df -h
์ด๋ ๊ฒ /dev/nvme1n1 ๋์คํฌ๊ฐ /hdfs_dir ๊ฒฝ๋ก์ ๋ง์ดํธ๋์๋๊ฑธ ํ์ธ ํ๋ค๋ฉด, ์ด ๋จ๊ณ๋ ์๋ฃ๋์์ต๋๋ค!
๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋๋ค.
3. ์ํํธ์จ์ด ์ค์นํ๊ธฐ (java, HDFS, Scala, Spark)
1) yum update
๋จผ์ ์์ํ๊ธฐ ์ ์,OS์ ์ต์ ์ ๋ฐ์ดํธ๋ฅผ ์ ์ฉํ๊ธฐ ์ํด "yum update"๋ฅผ ํด์ค๋๋ค.
[ec2-user@ip-172-31-3-64 ~]$ sudo yum update -y
2) Java 1.8 ์ค์นํ๊ธฐ
java๋ yum ๋ ํฌ์งํ ๋ฆฌ์์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ, ์๋ search ๋ช
๋ น์ด๋ก ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
์ค์น ๊ฐ๋ฅํ ํจํค์ง ๋ชฉ๋ก์ค์ java-1.8.0-openjdk๋ฅผ ์ค์นํ๊ฒ ์ต๋๋ค.
[ec2-user@ip-172-31-3-64 ~]$ sudo yum search java 1.8
์๋ ๋ช ๋ น์ด๋ก java-1.8.0์ ์ค์นํฉ๋๋ค.
[ec2-user@ip-172-31-3-64 ~]$ sudo yum install java-1.8.0-openjdk -y
์ค์น๊ฐ ์๋ฃ ๋์๋ค๋ฉด, java -version ๋ช
๋ น์ด๋ก ์ค์น๋ ๋ฒ์ ์ ํ์ธํฉ๋๋ค.
1.8๋ฒ์ ์ด ์ค์น๋์๋ค๋ฉด ์ ์์ ์ผ๋ก ์ค์น๊ฐ ์๋ฃ๋ ๊ฒ ์
๋๋ค!
[ec2-user@ip-172-31-3-64 ~]$ java -version
3) Hadoop 3.3 ์ค์นํ๊ธฐ
์ค์น๋ฅผ ์งํํ๊ธฐ ์ ์ค์นํ์ผ์ ์ํ ๋ณ๋์ ๊ฒฝ๋ก /install_dir ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๊ฒฝ๋ก์ hadoop 3.3 ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ๋ค์ด๋ฐ์ต๋๋ค. (๋ค์ด๋ก๋)
[ec2-user@ip-172-31-3-64 ~]$ sudo mkdir /install_dir
[ec2-user@ip-172-31-3-64 ~]$ cd /install_dir/
[ec2-user@ip-172-31-3-64 install_dir]$ sudo wget https://mirror.navercorp.com/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
์ ๋ค์ด๋ฐ์์ก๋์ง ํ์ธํด๋ด ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ ls -al
์ด์ ์ด ์์ถํ์ผ์ ์ฌ์ฉํ ์ ์๋๋ก /usr/local ์๋ ๊ฒฝ๋ก์ ์์ถ์ ํด์ ํ ํ์ ๊ฒฝ๋ก๋ฅผ ํ์ธํฉ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo tar -zxvf hadoop-3.3.0.tar.gz -C /usr/local/
[ec2-user@ip-172-31-3-64 install_dir]$ ls -al /usr/local/hadoop-3.3.0/
๊ทธ๋ฆฌ๊ณ ์ด ๊ฒฝ๋ก์ ๋ชจ๋ ๋๋ ํฐ๋ฆฌ/ํ์ผ์ ์์ ๊ถ์ ๋ณ๊ฒฝํด์ค๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo chown root:root -R /usr/local/hadoop-3.3.0/
[ec2-user@ip-172-31-3-64 install_dir]$ ls -al /usr/local/hadoop-3.3.0/
4) Scala 2.13.5 ์ค์นํ๊ธฐ
Scala 2.13.5 ๋ฅผ ์ค์นํฉ๋๋ค. (Scala 2.13.5๋ Java 1.8๋ฒ์ ์ด ๋ฐ๋์ ํ์ํฉ๋๋ค!!)
[ec2-user@ip-172-31-3-64 install_dir]$ sudo wget https://downloads.lightbend.com/scala/2.13.5/scala-2.13.5.tgz
[ec2-user@ip-172-31-3-64 install_dir]$ ls -al
๋ค์ด๋ฐ์ ํ์ผ์ ์์ถ์ /usr/local ๊ฒฝ๋ก์ ํ์ด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ , ๋ง์ฐฌ๊ฐ์ง๋ก ํ์ผ/๋๋ ํฐ๋ฆฌ์ ์์ ๊ถ์ ๋ณ๊ฒฝํด์ค์๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo tar -xzvf scala-2.13.5.tgz -C /usr/local/
[ec2-user@ip-172-31-3-64 install_dir]$ sudo chown -R root:root /usr/local/scala-2.13.5/
Scala์ ์ค์น์ ์ค์ ์ด ์ ๋์๋์ง ํ์ธํ๊ธฐ ์ํด์ ์๋์ ๊ฐ์ด ์ค์นผ๋ผ๋ฅผ ์คํํด๋ณผ ์ ์์ต๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ /usr/local/scala-2.13.5/bin/scala
์ค์นผ๋ผ๊ฐ ์ ์ค์น ๋์๋ค๋ฉด, ์์ ์บก์ณ์ ๊ฐ์ด ์คํ๋๋๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
5) Spark 3.1.1 ์ค์นํ๊ธฐ
์ด์ ๋ง์ง๋ง ์ค์น ๋จ๊ณ์
๋๋ค. (๋ค์ด๋ก๋)
์๋ ๋ช
๋ น์ด๋ฅผ ๋ณต๋ถํด์ ํ์ผ์ ๋ค์ด๋ก๋ ํด์ฃผ์ธ์!
[ec2-user@ip-172-31-3-64 install_dir]$ sudo wget https://mirror.navercorp.com/apache/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz
๊ทธ๋ฆฌ๊ณ ๋ค์ด๋ฐ์ ํ์ผ์ /usr/local ๊ฒฝ๋ก์ ์์ถ์ ํด์ ํ๊ณ , ์์ ๊ถ์ ๋ณ๊ฒฝํด์ค๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo tar -xzvf spark-3.1.1-bin-hadoop3.2.tgz -C /usr/local/
[ec2-user@ip-172-31-3-64 install_dir]$ sudo chown -R root:root /usr/local/spark-3.1.1-bin-hadoop3.2/
์ ์ค์น๊ฐ ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์๋ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ Spark-Shell์ ์คํํด๋ด
๋๋ค.
๋ค์์๋ Spark Cluster ๋ชจ๋๋ก ์คํ๋ ์์ ์
๋๋ค :)
[ec2-user@ip-172-31-3-64 install_dir]$ /usr/local/spark-3.1.1-bin-hadoop3.2/bin/spark-shell
์ฌ๊ธฐ๊น์ง ์๋ฃ ๋์์ผ๋ฉด ๋ชจ๋ ์ํํธ์จ์ด๋ฅผ ์ค์น ์๋ฃํ์ต๋๋ค.
๋ค์ ๋จ๊ณ์์ ํ๊ฒฝ๋ณ์ ์ค์ ๊ณผ ์ค์ ํ์ผ๋ค์ ์์ ํ๊ฒ ์ต๋๋ค!
4. ํ๊ฒฝ๋ณ์ ์ค์ ๋ฐ HDFS ์ค์ ํ์ผ ์์ ํ๊ธฐ!
1) ํ๊ฒฝ๋ณ์
ํ๋ก๊ณผ ์คํํฌ๋ฅผ ์คํํ ๋ ํ๊ฒฝ๋ณ์๋ฅผ ์๋ชป ์ค์ ํ๋ฉด ์ค๋ฅ๊ฐ ์ค์ง๊ฒ ๋๋ค์....ใ
...์ฃผ์ํด์ ์ค์ ํ์ธ์...๐๐๐
/etc/profile์ ์ด๊ณ , ์๋์ ๊ฐ์ด ํ๊ฒฝ๋ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.282.b08-1.amzn2.0.1.x86_64
export HADOOP_HOME=/usr/local/hadoop-3.3.0
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_HOME=/usr/local/spark-3.1.1-bin-hadoop3.2
2) ํ๋ก ์ค์ ํ์ผ
- ํ๋ก ์ค์ ํ์ผ ๊ฒฝ๋ก: /usr/local/hadoop-3.3.0/etc/hadoop/ *.xml
- core-site.xml : ๊ณตํต ์ค์
- hdfs * .xml : HDFS ์ค์
- mapred * .xml: Mapreduce ์ค์
- yarn * .xml : yarn ์ค์
2-1) core-site.xml
ํ๋ก ์์คํ
์ค์ ํ์ผ๋ก, ๋ก๊ทธํ์ผ, ๋คํธ์ํฌ ํ๋, I/Oํ๋, ํ์ผ์์คํ
ํ๋, ์์ถ ๋ฑ ์์คํ
์ค์ ํ์ผ์
๋๋ค.
HDFS์ ๋งต๋ฆฌ๋์ค์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ ํ๊ฒฝ์ ๋ณด๋ฅผ ์
๋ ฅํ๊ฒ ๋๋ฉฐ, core-default.xml์ด ๊ธฐ๋ณธ ๊ฐ์ด๋ฉฐ, core-site.xml์ ์ค์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๊ฐ์ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vim /usr/local/hadoop-3.3.0/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
2-2) hdfs-site.xml
HDFS์์ ์ฌ์ฉํ ํ๊ฒฝ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. hdfs-default.xml์ด ๊ธฐ๋ณธ ๊ฐ์ด๋ฉฐ, hdfs-site.xml์ ์ค์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๊ฐ์ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vim /usr/local/hadoop-3.3.0/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///hdfs_dir/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///hdfs_dir/datanode</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>worker01:50090</value>
</property>
</configuration>
2-3) yarn-site.xml
Resource Manager ๋ฐ Node Manager์ ๋ํ ๊ตฌ์ฑ์ ์ ์ํฉ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vim /usr/local/hadoop-3.3.0/etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>file:///hdfs_dir/yarn/local</value>
</property>
<property>
<name>yarn.nodemanager.log-dirs</name>
<value>file:///hdfs_dir/yarn/logs</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
2-4) mapred-site.xml
MapReduce ์ดํ๋ฆฌ์ผ์ด์ ์ค์ ํ์ผ์ ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vim /usr/local/hadoop-3.3.0/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2-5) hadoop-env.sh
hadoop ํ๊ฒฝ์ค์ ํ์ผ์ java ์ค์ ์ ํด์ค๋๋ค. ์ด๋ถ๋ถ๋ ๋น ์ก์ ๊ฒฝ์ฐ์ ์ค๋ฅ๊ฐ ๋์ค๋๋ผ๊ณ ์ ใ ใ
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vim /usr/local/hadoop-3.3.0/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.282.b08-1.amzn2.0.1.x86_64
export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"
3) Spark ์ค์ ํ์ผ
spark ์ค์ ํ์ผ ๊ฒฝ๋ก๋ /usr/local/spark-3.1.1-bin-hadoop3.2/conf ์
๋๋ค.
์ค์ ํ์ผ์ด ํฌํ๋ฆฟ ํํ๋ก ์ ๊ณต๋๊ธฐ๋๋ฌธ์, cp๋ช
๋ น์ด๋ก ํ์ผ์ ๋ณต์ฌํด์ ์ฐ์๋ฉด ๋ฉ๋๋ค.
3-1) Spark-default.conf
spark-defaults.conf ํ์ผ์ ๋ณต์ฌํ๊ณ ๋งจ ์๋์ ์ธ์ค์ ์ถ๊ฐํฉ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo cp /usr/local/spark-3.1.1-bin-hadoop3.2/conf/spark-defaults.conf.template /usr/local/spark-3.1.1-bin-hadoop3.2/conf/spark-defaults.conf
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vim /usr/local/spark-3.1.1-bin-hadoop3.2/conf/spark-defaults.conf
spark.master yarn
spark.eventLog.enabled true
spark.eventLog.dir hdfs://namenode:8021/spark_enginelog
3-3) Spark-env.sh
spark-env.sh ํ์ผ์ ๋ณต์ฌํ๊ณ , ์๋ ๋ค์ฏ์ค์ ์ถ๊ฐํฉ๋๋ค.
[ec2-user@ip-172-31-3-64 install_dir]$ sudo cp /usr/local/spark-3.1.1-bin-hadoop3.2/conf/spark-env.sh.template /usr/local/spark-3.1.1-bin-hadoop3.2/conf/spark-env.sh
[ec2-user@ip-172-31-3-64 install_dir]$ sudo vim /usr/local/spark-3.1.1-bin-hadoop3.2/conf/spark-env.sh
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.282.b08-1.amzn2.0.1.x86_64
export SPARK_MASTER_HOST=master
export HADOOP_HOME=/usr/local/hadoop-3.3.0
export YARN_CONF_DIR=\$HADOOP_HOME/etc/hadoop
export HADOOP_CONF_DIR=\$HADOOP_HOME/etc/hadoop
์ฌ๊ธฐ๊น์ง ์๋ฃ ๋์๋ค๋ฉด ์ด์ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋๋ค!
5. EC2 ๋ณต์ ํ๊ธฐ
์ด์ ์ค์น๋ ์ด EC2๋ฅผ 3๊ฐ ๋ ๋ณต์ ํ๊ฒ ์ต๋๋ค!!!
๋จผ์ , AWS EC2 ์ฝ์๋ก ์ด๋ํฉ๋๋ค.
EC2๋ฅผ ์ ํํ๊ณ ์์
> ์ด๋ฏธ์ง ๋ฐ ํ
ํ๋ฆฟ > ์ด๋ฏธ์ง ์์ฑ์ ํด๋ฆญํฉ๋๋ค.
์ด๋ฏธ์ง ์์ฑ ํ์ด์ง์์, ์ด๋ฏธ์ง์ ์ด๋ฆ๋ง ์์ฑํ์ ํ "์ด๋ฏธ์ง ์์ฑ"์ ํด๋ฆญํฉ๋๋ค.
EC2์ฝ์, ์ผ์ชฝ ๋ค๋น๊ฒ์ด์
๋ฐ์์ AMI๋ฅผ ํด๋ฆญํฉ๋๋ค.
์๊ฐ์ด ์กฐ๊ธ ์ง๋ ํ ํ์ธํ์๋ฉด avaliable ์ํ๋ก ๋ณ๊ฒฝ๋๊ฒ์ ๋ณผ ์์์ต๋๋ค.
์ด์ , ์ด ์ด๋ฏธ์ง๋ฅผ ์ ํํ๊ณ , ์๋จ์ ์์
> ์์ํ๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ธ์คํด์ค ์ ํ์ ์ ํํฉ๋๋ค.
์ ๋ c5.large ํ์
์ ์ฌ์ฉํฉ๋๋ค. ์ดํ "๋ค์:์ธ์คํด์ค ์ธ๋ถ์ ๋ณด ๊ตฌ์ฑ"์ ํด๋ฆญํฉ๋๋ค.
์ธ์คํด์ค ๊ฐ์๋ฅผ 3์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
ํ๋ฒ์ ์ฌ๋ฌ๊ฐ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. 3์ผ๋ก ๋ณ๊ฒฝ ๋์๋ค๋ฉด, ๊ฒํ ๋ฐ ์์์ ํด๋ฆญํฉ๋๋ค.
์ธ์คํด์ค ์์ ์ ๊ฒํ ํ์ด์ง์
๋๋ค.
์๋ชป๋ ๋ถ๋ถ์ด ์๋์ง ํ๋ฒ ๋ ๊ฒํ ํ๊ณ "์์ํ๊ธฐ"๋ฅผ ํด๋ฆญํฉ๋๋ค.
์์ ํ ์ฝ๊ฐ์ ์๊ฐ์ด ํ๋ฅด๋ฉด, ์๋ ์ฌ์ง์ฒ๋ผ ๋ค๊ฐ์ ์ธ์คํด์ค๊ฐ ์ด์์ค์ธ ์ํ๊ฐ ๋ฉ๋๋ค.
์ ๋ ๊ตฌ๋ถํ๊ธฐ ํธํ๋๋ก Name์ ๋ณ๊ฒฝํด๋์์ต๋๋ค.
์, ์ฌ๊ธฐ๊น์ง ์งํ ๋์๋ค๋ฉด ์ด์ ๋ค์ ํฌ์คํ ์ผ๋ก ๋์ด๊ฐ๋๋ค!
๋๋จธ์ง๋ ๋ค์ํฌ์คํ ์์ ์ด์ด์ง๋๋ค!! ๋ฟ ! ๐ค๐ค๐ค