CentOS์์ Spark์ Hadoop์ ์ด์ฉํด ๋น ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๋ ์ค์ต์ ํ๊ธฐ ์ํด์...
VM์ ์ธํ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์ ๋ฆฌํ๋ค. ๋์๋ณด๋ฉด ๋ณ ๊ฑฐ ์๋๋ฐ ํ๋ฃป๋ฐค์ ์๊ณ ๋์์ผ ์๊ฒ ๋์๋ค.
๋ฏธ๋ฆฌ ๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด.. RAM=4GB, Disk=20GB์ด์, Cores=8๋ก VM์ ์ธํ ํ์.
(Cores๋ Multi-threading ์ด์ฉํ ๊ฒฝ์ฐ)
VMWare
์ฌ์ค Window์์ ์ค์ต์ ์งํํด๋ ๋๋๋ฐ,
Linux ๊ธฐ๋ฐ์ผ๋ก ํด๋ณด๋๊ฒ ๋ซ์ง ์์๊น ์ถ์ด์ VM์ CentOS๋ฅผ ์ฌ๋ฆฌ๊ธฐ๋ก ํ๋ค. (CentOS๋ ์ฒ์ ์จ๋ณด๋ ๊ฑฐ๊ธฐ๋ ํ๊ณ ..)
์ต์ํ VirtualBox๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋๋ฐ.. ์ด์ํ๊ฒ (๋ช ๋ฌ ์ ๋ถํฐ?) VM์ด ์์์ด ์ ๋๊ณ ์ค๋ฅ๊ฐ ์์ด์ ๊ฒฐ๊ตญ ํฌ๊ธฐํ๋ค.
๋ฐ์ํ ์ค๋ฅ๋ ์ฌ๊ธฐ์ ๋ ์ค๋ฅ๋ ๊ฐ์ ๊ฑด๋ฐ, VirtualBox ๊ตฌ๋ฒ์ ์ ๊น์๋ ์ ๋ฒ์ ์ ๊น์๋ ๋๊ฐ์ด ์ ๋๋ค.
๊ฒฐ๊ตญ VMWare๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๊ณ CentOS๋ฅผ ์ฌ๋ ธ๋ค.
์์ ์ ์ฐ๋ ๋ ธํธ๋ถ์์ VMWare๊ฐ ๋๋ฌด ๋๋ฆฌ๊ณ ๋ธ๋ฃจ์คํฌ๋ฆฐ์ด ์์ฃผ ๋ฌ์ด์ ์ข ๊ฑฑ์ ํ๋๋ฐ ์๊ฐ๋ณด๋ค ์ธํ ๋ ๋น ๋ฅด๊ณ ์๋๋ ๊ด์ฐฎ์๋ค.
CentOS์ ๊ฐ์์์ ๊ฐ๋ฅด์ณ์ฃผ๋๋๋ก Spark์ Hadoop์ ๊น์๋ค.
์ค๋ ๊ฑธ๋ฆฌ๊ธด ํ์ง๋ง ์ค๋ช ์ด ์ ๋์ด ์์ด์ Spark, Hadoop ๊น๋ ๊ฒ ๋ฌธ์ ๋ ์๋์๋ค.
RAM, Disk ์กฐ์ ๊ธฐ
Spark์ Hadoop์ ๊น๊ณ ๋์ ์ฒซ ๋ฒ์งธ ์ค์ต์ธ Word Counting Practice๋ฅผ ์งํํ๋ค.
ํ ์คํธ ํ์ผ์ ์๋ ๋จ์ด๊ฐ ๊ฐ๊ฐ ๋ช ๋ฒ์ฉ ๋์ค๋์ง ์ธ๋ ์ค์ต์ด๊ณ ,
์ฝ๋๋ ์ฃผ์ด์ ธ์ Single/Multi thread์์ ๋น ๋ฐ์ดํฐ๊ฐ ๋์๊ฐ๊ฒ๋ ํ๋ ๊ฒ ํฌ์ธํธ์๋ค.
์ผ๋จ ํ ๋ฌธ์ฅ์ด ๋ค์ด์๋ ์์ ํ ์คํธ ํ์ผ์ ๋ํด์๋ MapReduce๊ฐ ์ ์๋๋์๋ค.
๊ทธ๋์ ๊ณผ์ ๋์์ธ ํฐ ํ ์คํธ ํ์ผ๋ ๋๋ ค๋ดค๋๋ฐ... ๋~๋ฌด ๋๋ ธ๋ค.
Map๊ณผ Reduce์ ํผ์ผํธ๋ ์กฐ๊ธ์ฉ ์ฌ๋ผ๊ฐ๊ธด ํ๋๋ฐ ์ค๊ฐ์ค๊ฐ ๊ณ์ ๊ฐ์ exception์ด ๋ฌ๋ค.
๊ทผ๋ฐ ์๊ธด ๊ฒ ๊ทธ๋ฅ ๋๋ฉด ์๋์ผ๋ก ๋ค์ ์์๋๋ค๊ฐ ๋ค์ exception์ด ๋๊ณ ๊ฐ ๋ฐ๋ณต๋๋ค.
๊ฐ๋ น map์ด 30%๊น์ง ๋๋ค๊ฐ exception์ด ๋๋ฉด map 20%๋ถํฐ ๋ค์ ์์๋๊ณ ,
๊ฑฐ๊ธฐ์ ๋ค์ map 35%๊น์ง ๋๋ค๊ฐ ๋ค์ exception์ด ๋๋ฉด map 25%๋ถํฐ ์์ํ๊ณ ์ด๋ฐ ์์ด์๋ค.
๊ทธ๋ฌ๋๊น exception์ด ๋๊ณ ๋ค์ ์์๋ ๋๋ง๋ค ์์์ ์ด ์ฌ๋ผ๊ฐ๋ค.
๊ทธ๋์ ์ฌ์ค ํฌ๋ง๊ณ ๋ฌธ ๋นํด์ ๊ณ์ ๊ทธ๋ฅ ๋์๋ค.
Exception ๋ด์ฉ์ ์ฐพ์๋ณด๋
java.lang.runtimeexception pipemapred.waitoutputthreads() subprocess failed with code 137
๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋จ๋ค.
์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊น ๋์ง์ด๋ณด๋..
์ฒ์ VM์ ๋ง๋ค ๋ ๊ธฐ๋ณธ ์ค์ ํ๋ฉด์์๋ ๋์คํฌ ์ฉ๋๋ง ์ค์ ํ๊ฒ ๋์ด์๊ณ , ๋ฐ๋ก ๊ณ ๊ธ ์ฐฝ์ ๊ฐ์ผ RAM์ ์กฐ์ ํ ์ ์์๋ค.
๊ทธ๋ฐ๋ฐ ๊ฐ์์์ ๋ค๋ฃฌ ์ฃผ์ ์ฌํญ์ ๋์คํฌ ์ฉ๋์ 20GB ์ด์์ผ๋ก ์ก์ผ๋ผ๋ ๊ฒ ๋ฟ์ด์๋ค.
๊ทธ๋์ ์๋ฌด ์๊ฐ ์์ด ๋ํดํธ์ธ RAM 1GB๊ฐ ์กํ ๊ฒ์ด๋ค..^^
์ด๊ฑธ ํ์ธํ๊ณ ๋๋ ๋ฏธ๋ จ ์์ด VM์ ๊ฐ์ ์ข ๋ฃํ ์ ์์๋ค.
์ข ๋ฃ ํ RAM์ 4GB๋ก ์ฌ๋ฆฌ๊ณ ๋์คํฌ๋ ํน์ ๋ชฐ๋ผ 50GB๋ก ํต ํฌ๊ฒ ์ฌ๋ ค๋ฒ๋ ธ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ์๋ํด๋ดค๋๋ฐ ์ด์ํ๊ฒ๋
$> sudo $HADOOP_HOME/bin/hadoop dfsadmin -safemode leave
๋ก safemode๋ฅผ ํด์ ํ๋๋ฐ (์ ์ปค๋งจ๋์ ๊ฒฐ๊ณผ๋ก safemode๊ฐ ํด์ ๋์๋ค๊ณ ๋์์)
๋ค๋ฅธ ์ปค๋งจ๋๋ฅผ ์คํํ๋ฉด safemode๋ผ์ ์ ๋๋ค๊ณ ๋์๋ค. ใ ใ ..
์ ๋๋ก Spark๋ฅผ ์ข ๋ฃ ์ํ๊ณ VM ์์ฒด๋ฅผ ๊ฐ์ ์ข ๋ฃํ ๊ฒ ๋๋ฌธ์ธ ๋ฏ ํ๋ค.
๋ฐ๋๋ผ์ธ์ ๋ค๊ฐ์ค๊ณ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ ์๋๊ฐ ์๋์ ๊ฒฐ๊ตญ ํ๋ฃจ ์ข ์ผ ์ธํ ํ VM์ ์ญ์ ํ๊ณ ๋ค์ ์์ํ๊ธฐ๋ก ํ๋ค. ใ ใ ..
Cores ์กฐ์ ๊ธฐ
๊ทธ๋์ VM์ ์๋ก ์ธํ ํ ๋๋ ์ฒ์๋ถํฐ RAM 4GB, ๋์คํฌ 40GB๋ก ์ก์๋ค.
์ง์ง ์๋๋ ๋ค๋ฅผ๊น.. ์ ์ฒด์ ์ผ๋ก ๋๋ฌด ๋นจ๋ผ์ก๋ค.
์ด์ VM์์ Spark์ Hadoop์ ๋ค์ด ๋ฐ๋๋ฐ๋ง 10~20๋ถ ์ ๋ ๊ฑธ๋ ธ์๋๋ฐ 1~2๋ถ ์ ๋ ๋ฐ์ ์ ๊ฑธ๋ ธ๋ค.
RAM์ด ์ง์ง ์ค์ํ ๊ฑฐ๊ตฌ๋.. ์ค๊ฐํ๋ค.
์ฌํผ ์๊ฐ๋ ์๊ณ ๋ง์์ด ๊ธํด์ ์ปค๋งจ๋๋ฅผ ๋ณต๋ถํด๊ฐ๋ฉฐ 1์๊ฐ ๋ง์ Spark์ Hadoop ์ค์น ๋ฐ ์ธํ ์ ๋๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์ ํ ์คํธ ํ์ผ๋ก ์คํํ ํ ์ ๋์ ํฐ ํ ์คํธ ํ์ผ์ ์ฑ๊ธ ์ฝ์ด๋ก ๋๋ ค๋ดค๋ค.
์ ๋ง ๋คํํ๋.. ์ง๊ธ์ง๊ธํ 137 exception์ด ์ ๋ฌ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์๋๋ ๋ ๋นจ๋๊ณ ์ค๊ฐ ์ค๊ฐ exception์ด ์ ๋๋๊น ํจ์ฌ ๋นจ๋ฆฌ ๋๋ค.
๊ทธ๋์ ์ฑ๊ธ ์ฝ์ด๋ก 27๋ถ ์ ๋๊ฐ ๊ฑธ๋ ธ๋ค.
๋๋ฌด ๊ธฐ๋ป์ ๋ฉํฐ ์ฝ์ด(8๊ฐ)๋ก ๋๋ ค๋๊ณ ์์นจ์ด ๋์์ผ ์ ๋ค์๋ค.
์ผ์ด๋๋ณด๋ ๊ฒฐ๊ณผ ํ์ผ์ ์ ๋์จ ๊ฒ ๊ฐ์๋ฐ (part-00000๋ถํฐ part-00007, _SUCCESS ํ์ผ์ด ์์ํ ํด๋์ ์๊ฒผ์)
์ด์ํ๊ฒ ๊ฑธ๋ฆฐ ์๊ฐ์ด ์ฑ๊ธ ์ฝ์ด๋ ๋๊ฐ์๋ค.
์ง์ ๋ VM์์ Core ์๋ฅผ 1๊ฐ๋ก ์ค์ ํ์๋๋ฐ (์์ ํ ์คํธ ํ์ผ์) ๋ฉํฐ ์ฝ์ด๋ก ๋๋ฆฌ๋ฉด part-00000๋ถํฐ part-00007, _SUCCESS ํ์ผ์ด ์ ์๊ธฐ๊ธธ๋ ์์์ ํธ์คํธ๋ ์๋ค๊ฐ๋ค ํ๋ฉด์ ์ํํด์ฃผ๋๋ณด๋ค ์ถ๊ธฐ๋ ํ๊ณ ,
์ฐพ์๋ณด๋ VM์ 2๊ฐ ์ด์ Core ์๋ฅผ ํ ๋นํ ๋๋ ์ฃผ์ํ๋ผ๋ ๊ธ์ด ์์ด์ ์๋ก VM์ ์ค์นํ ๋๋ ๊ทธ๋ฅ 1๊ฐ๋ก ์ค์ ํ์๋๋ฐ.. ์ด๊ฒ ๋ฌธ์ ๊ฐ์๋ค.
์นจ์ฐฉํ๊ฒ dfs์ yarn์ ๋๊ณ VM์ ๋ ๋ค์ Core ์๋ฅผ 8๊ฐ๋ก ๋๋ ธ๋ค.
Core ์๋ฅผ ์ฌ๋ ค๋ ์๋ฌ๊ฐ..
๊ทธ๋ฆฌ๊ณ ๋ค์ ์คํํด๋ณด๋ ๋ฉํฐ ์ฝ์ด๋ก ๋๋ฆฌ๋ฉด ๋ ์๋ก์ด ์๋ฌ๊ฐ ๋ฌ๋ค. ใ ใ ..
container killed on request. exit code is 143
์๋ฌ๊ฐ ๋ฌ๋๋ฐ Stackoverflow์ ์ฐพ์๋ณด๋
Exit code 143 is related to Memory/GC issues. Your default Mapper/reducer memory setting may not be sufficient to run the large data set. Thus, try setting up higher AM, MAP and REDUCER memory when a large yarn job is invoked.
๋ผ๊ณ ํ์จ ๋์ค๋ ์ค๋ช ์ด ๋์๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ฐพ๋ค๊ฐ VMWare ์ฌ์ดํธ์ ์๋ ๊ด๋ จ ๊ธ์ ์ฐพ์๋ค.
์์ฝํ์๋ฉด ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋๋ฐ ๋ํดํธ ๋ฉ๋ชจ๋ฆฌ์ธ 2GB๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํด์ ํฐ์ง๋ค๋ ๋ง์ด์๋ค.
๊ทธ๋์ yarn-site.xml์์ yarn.app.mapreduce.am.resource.m property๋ฅผ ๋ฐ๊พธ๋ผ๋๋ฐ...
์ฐธ๊ณ ํ๋ผ๊ณ ์ค ๋งํฌ๋ฅผ ๋ด๋ value๋ฅผ ๋ช์ผ๋ก ํด์ผํ ์ง... ๊ฐ์ด ์ ์๋ค.
๊ทธ๋์ ์ด์ง ์ผ๋งค๊ฐ์ง๋ง ๊ฒฐ๊ตญ ์ด ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์
yarn-site.xml์ ์์ ํด ๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฒดํฌํ๋ (?) ๊ฒ ์์ฒด๋ฅผ false๋ก ๋ง๋ค์๋ค.
๋๋ฌด ๋คํํ ์๋ฌ ์์ด ์ ๋์๊ณ ์๊ฐ๋ ๋ฉํฐ ์ฝ์ด 9๋ถ ๋๋ก ๋ฉ๋ํ ๋งํ ์๊ฐ์ด ๋์๋ค.
๋ง๋ฌด๋ฆฌํ๋ฉฐ
์ฒ์๋ถํฐ RAM๊ณผ Core๋ฅผ ์ ์ค์ ํ์ผ๋ฉด.. ์ด๋ ๊ฒ ๊ฐ๊ณ ์์ ์ ํ์ํ ๋ฐ..ใ ใ
๋ค์ ๊ณผ์ ์์๋.. ์๋ฌ๊ฐ ์ ๋๊ธธ..ใ ใ
๊ทธ๋ฆฌ๊ณ Hadoop ๋ ๋
sudo $HADOOP_HOME/sbin/stop-all.sh
๋ก dfs์ yarn์ ๊ผญ ๋์!
์ ๋๋ฉด ๋ค์์ ์ผค ๋ safe mode๊ฐ ์๋๋๋ค..
๊ทธ๋ฆฌ๊ณ ์์ํ ๋๋
sudo $HADOOP_HOME/sbin/start-dfs.sh
sudo $HADOOP_HOME/sbin/start-yarn.sh
๋ก ์์..!
์์ํ ํ์ผ์ ๋ก์ปฌ๋ก ๊บผ๋ด์ฌ ๋๋ put๊ณผ ๋ฐ๋์ธ get์ ์ด์ฉํ๋ฉด ๋๋ค.
sudo $HADOOP_HOME/bin/hdfs dfs -get <path-of-hdfs> <path-of-local>
์ฒ๋ผ ์ด์ฉํ๋ฉด ๋๋ค. ์ด ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ๋ค.
'Data Engineering' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Greenplum Database์ Architecture (0) | 2023.11.10 |
---|---|
๋ฐ์ ๊ทํ (์๋ฏธ, ๋ชฉ์ , ๋์, ๋ฐฉ๋ฒ) (0) | 2023.11.10 |
๋ฐ์ดํฐ ์์ง๋์ด๋ง (0) | 2021.12.20 |
GPDB (vs. PostgreSQL, Architecture, Query) (0) | 2021.05.16 |
True/False Positive/Negative ์ ๋ฆฌ (0) | 2020.05.07 |
๋๊ธ