์ด ํฌ์คํ ์ ์ด์ ํฌ์คํ ๊ณผ ์ด์ด์ง๋๋ค. ๐
Hadoop HDFS(3.3)+Spark(3.1.1)! ๋ฌด์์ ๋ฐ๋ผํ๊ธฐ #1
์ด์ ํฌ์คํ
์์ EC2 ํ๋๋ฅผ ์์ฑํ์ฌ ๊ทธ ์ธ์คํด์ค์ ํ์ํ ์ํํธ์จ์ด๋ฅผ ๋ชจ๋ ์ค์นํ๊ณ , ํ๊ฒฝ๋ณ์์ ์ค์ ํ์ผ์ ์์ ํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ธ์คํด์ค๋ฅผ AMI์ด๋ฏธ์ง๋ก ๋ง๋ ํ, ๋ณต์ ํ์ฌ ์ด 4๋์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์์ฃ !
์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ ๊ฐ ์ญํ ์ ๋ง์ถฐ Master/ Worker์ ์ค์ ์ ํด์ฃผ๊ณ , ํด๋ฌ์คํฐ๋ฅผ ์คํํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค!!
1. Master ์๋ฒ ์ค์ ํ๊ธฐ
์ด๋ฒ ๋จ๊ณ์์๋ Master ์๋ฒ์ ํธ์คํธ์ด๋ฆ ๋ณ๊ฒฝ, hosts ํ์ผ ์์ ์ ์งํํฉ๋๋ค.
Master๋ก ์ฌ์ฉํ ๋จ ํ๋์ ์๋ฒ์์๋ง ์งํํฉ๋๋ค.
1) ํธ์คํธ ์ด๋ฆ ๋ณ๊ฒฝ
ํธ์คํธ์ ์ด๋ฆ์ Master๋ก ๋ณ๊ฒฝํฉ๋๋ค.
$ sudo hostnamectl set-hostname master
2) Hosts ํ์ผ ์์
Hosts ํ์ผ์ ์์ ํฉ๋๋ค. Hostsํ์ผ์๋ Master ๋ฐ Worker01~03 ๋ ธ๋์ ๋ชจ๋ ์์ดํผ&ํธ์คํธ๋ช ์ด ์ ์๋์ด์ผ ํฉ๋๋ค.
$ sudo vim /etc/hosts
2. Worker 1~3 ์๋ฒ ์ค์ ํ๊ธฐ
์ด๋ฒ ๋จ๊ณ์์๋ Worker01~03 ์๋ฒ์ ํธ์คํธ์ด๋ฆ ๋ณ๊ฒฝ, hosts ํ์ผ ์์ ์ ์งํํฉ๋๋ค.
1) ํธ์คํธ ์ด๋ฆ ๋ณ๊ฒฝ
์ ๋ MAC ์ฌ์ฉ ์ ์ ๋ก, iterm ํฐ๋ฏธ๋๋ก ํ๋ฒ์ ๋ช
๋ น์ด๋ฅผ ์ํํ๊ณ ์์ต๋๋ค.
ํน์ ์๋์ฐ ์ฌ์ฉ์์ด๊ณ , ๊ฐ์ธ์ด๋ผ๋ฉด x-shell๊ฐ์ ํด์ ๋ค์ด๋ฐ์์ ์ ์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
# ๊ฐ ํธ์คํธ์ worker01, worker02, worker03 ์
๋ ฅ!
$ sudo hostnamectl set-hostname worker01
2) Hosts ํ์ผ ์์
$ sudo vim /etc/hosts
3. SSH-KEY ๊ตํํ๊ธฐ
์ด๋ฒ ๋จ๊ณ๋ ๋ชจ๋ ๋
ธ๋์์ ๋์ผํ๊ฒ ์ํํฉ๋๋ค.
โป์ฃผ์ : ์ด๋ฒ ๋จ๊ณ๋ ๊ตฌ์ฑ์ ํธํ๊ฒ ํ๊ธฐ ์ํด ๋ณด์์ ์ทจ์ฝํ ์ฌ๋ฌ๊ฐ์ง ์ค์ ์ ์งํํฉ๋๋ค.
์ค ์ด์ ํ๊ฒฝ์์๋ Root๊ณ์ ์ ๋ณดํธ์ SSHํค ๊ตํ์ด ์ทจ์ฝํ ์ ์์ผ๋ ์ค์ ์ ์ฃผ์ํ์ธ์.
1) SSH ์ค์ ๋ณ๊ฒฝํ๊ธฐ
์์ ์ ์งํํ๊ธฐ ์ , Root ๊ณ์ ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
$ sudo su
์ด์ , SSH ์ค์ ํ์ผ์ ์์ ํฉ๋๋ค.
# vim /etc/ssh/sshd_config
38๋ฒ์งธ ์ค์ "PermitRootLogin" ์ ์ฃผ์์ ํด์ ํฉ๋๋ค.
65๋ฒ์งธ ์ค์ "PasswordAuthentication" ๋ฅผ yes๋ก ๋ณ๊ฒฝํฉ๋๋ค.
์ ์ฅํ ์ค์ ํ์ผ์ ๋ฆฌ๋ก๋ํ๊ธฐ ์ํด ssh ๋ฐ๋ชฌ์ ์ฌ์์ํ๊ณ , Root ๊ณ์ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํฉ๋๋ค.
# systemctl restart sshd
# passwd
2) SSH ํค ์์ฑํ๊ธฐ
SSK-KEY๋ฅผ ์์ฑํฉ๋๋ค. (์ ๋ถ ์ํฐ ๋๋ฌ์ฃผ์ธ์!)
# ssh-keygen
3) SSH ํค ๊ตํํ๊ธฐ
์ด์ sshํค๋ฅผ ๊ตํํฉ๋๋ค. ๋ค๊ฐ์ ๋ ธ๋์์ ๋ชจ๋ ๋์ผํ๊ฒ ์งํํด์ฃผ์ธ์.
# ssh-copy-id root@master
# ssh-copy-id root@worker01
# ssh-copy-id root@worker02
# ssh-copy-id root@worker03
์ค์ ์ด ์ ๋์๋ค๋ฉด ssh worker01 ์ด๋ฐ์์ผ๋ก ์ ์ํ์๋, ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌป์ง ์๊ณ ๋ฐ๋ก ๋ก๊ทธ์ธ์ด ๋์ด์ผํฉ๋๋ค.
์ฌ๊ธฐ๊น์ง ์งํ ๋์๋ค๋ฉด ! ๋ค์ ๋จ๊ณ๋ก ์งํํด์ฃผ์ธ์.
4. HDFS ํฌ๋ฉงํ๊ธฐ
์ฒ์ ๋์คํฌ๋ฅผ ์ฌ์ฉํ ๋, OS์ ๋ง๊ฒ ํ์ผ ์์คํ
์ ํฌ๋ฉงํ๋๊ฒ ์ฒ๋ผ, HDFS๋ฅผ ์์ํ๊ธฐ ์ ํฌ๋ฉง์ ์งํํฉ๋๋ค :)
NameNode ํฌ๋ฉง์ Master ์๋ฒ์์, DataNode ํฌ๋ฉง์ Slave1, Slave2, Slave3 ์๋ฒ์์ ์งํํฉ๋๋ค!
1) NameNode ํฌ๋ฉง
๋ง์คํฐ ๋
ธ๋์ Worker01๋
ธ๋์์ ์๋์ ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ ๋ค์๋
ธ๋ ํฌ๋ฉง์ ์์ํฉ๋๋ค.
(Worker01๋
ธ๋๋ ์ธ์ปจ๋๋ฆฌ ๋ค์๋
ธ๋๋ก ์ด์๋ฉ๋๋ค)
[root@master ~]# /usr/local/hadoop-3.3.0/bin/hdfs namenode -format /hdfs_dir
[root@worker01 ~]# /usr/local/hadoop-3.3.0/bin/hdfs namenode -format /hdfs_dir
(์ค๊ฐ ์๋ต)
2) DataNode ํฌ๋ฉง
๋ฐ์ดํฐ ๋
ธ๋(worker01, worker02, worker03) ์ธ ๋์์๋ ์๋์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
[root@worker02 ~]# /usr/local/hadoop-3.3.0/bin/hdfs datanode -format /hdfs_dir/
(์ค๊ฐ ์๋ต)
worker01, worker02, worker03 ๋ชจ๋์์ ๋๊ฐ์ด ์งํํ์ จ๋ค๋ฉด, ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋๋ค!!
5. HDFS & YARN ์์ํ๊ธฐ
์ด์ HDFS&YARN์ ์คํํ๊ฒ ์ต๋๋ค.
โป Master ๋ ธ๋์์๋ง ์์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๋ฉ๋๋ค.!๐๐ป
์คํ์ ์ํด์, ๋จผ์ Master ๋
ธ๋์์ ์ค์ ํ์ผ์ ํ๋ ์์ ํฉ๋๋ค.
์๋์์ ์์ ํ workers ํ์ผ์ HDFS์์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ฐ์ดํฐ ๋
ธ๋๋ฅผ ์ง์ ํ๋ ์ค์ ํ์ผ์
๋๋ค.
[root@master ~]# vim /usr/local/hadoop-3.3.0/etc/hadoop/workers
worker01
worker02
worker03
๋ฐ์ดํฐ ๋ ธ๋ ์ง์ ์ด ์๋ฃ ๋์๋ค๋ฉด, ์ด์ HDFS&YARN์ ์คํํด๋ด ์๋ค!!
๋ง์คํฐ ๋ ธ๋์์๋ง ๋ช ๋ น์ด๋ฅผ ์คํํด์ฃผ๋ฉด ๋ฉ๋๋ค.
[root@master ~]# /usr/local/hadoop-3.3.0/sbin/start-all.sh
jps ๋ช ๋ น์ด๋ก HDFS & YARN์ด ์ ์คํ๋์๋์ง ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
[root@master ~]# jps
* HDFS GUI : http://<masterIP>:50070
* YARN GUI : http://<masterIP>:8080
6. Spark ์์ํ๊ธฐ
์ด์ Spark ์ ์คํํ๊ฒ ์ต๋๋ค.
โป Master ๋ ธ๋์์๋ง ์์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๋ฉ๋๋ค.!๐๐ป
์คํ์ ์ํด์, Spark๋ ๋ง์ฐฌ๊ฐ์ง๋ก Master ๋
ธ๋์์ ์ค์ ํ์ผ์ ํ๋ ์์ ํฉ๋๋ค.
์๋์์ ์์ ํ workers ํ์ผ์ ํด๋ฌ์คํฐ ์ค์ ํ์ผ์
๋๋ค.
[root@master ~]# vim /usr/local/spark-3.1.1-bin-hadoop3.2/conf/workers
์ด์ ์คํ์์ผ๋ด ์๋ค!
[root@master ~]# /usr/local/spark-3.1.1-bin-hadoop3.2/sbin/start-all.sh
Spark ์น์ฝ์์ ์ ์ํด๋ณด๊ฒ ์ต๋๋ค.
3๊ฐ์ ์์ปค๋
ธ๋๊ฐ ๋ณด์ด๋ค์ :)
์ฌ๊ธฐ๊น์ง! ์งํํ๋ฉด
HDFS + YARN + Spark ๊ตฌ์ฑ์ด ์๋ฃ ๋์์ต๋๋ค :)
๋ค์ ํฌ์คํ ์์๋ Jupyter Notebook์ ์คํํ๊ณ , ํ ์คํธ ์์ ์ ์ํํด๋ณด๊ฒ ์ต๋๋ค!!
๋ฟ !๐ป
๋ค์ํฌ์คํ ์ผ๋ก ๋ฐ๋ก๊ฐ๊ธฐ~๐๐ป
Hadoop HDFS(3.3)+Spark(3.1.1)! ๋ฌด์์ ๋ฐ๋ผํ๊ธฐ #3