[Hadoop] MacOS Hadoop 설치 및 세팅
안녕하세요 마개입니다.
맥북(Mac OS)에 하둡을 설치하고 세팅을 해보겠습니다.
설치
하둡의 경우 홈페이지에서 원하는 버전을 이용해서 다운로드합니다. 다운로드한 tar.gz
압축파일을 해제합니다.
압축을 해제한 후에 하둡 폴더가 있는 위치를 확인한 후 환경 설정을 진행합니다.
1
2
export HADOOP_HOME=/Users/ksh/study/hadoop-3.1.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
위와 같이 설정을 한 후에 확인을 해봅니다.
설정을 확인한 후에는 하둡의 버전을 확인해봅니다. 하둡 데몬을 실행하는 스크립트는 sbin
디렉터리에 있습니다. 해당 디렉터리를 위에서 환경설정하였기 때문에 진행을 해보면 됩니다.
위와 같이 하둡의 버전이 3.1.4인 것을 확인할 수 있습니다.
환경 설정
하둡의 각 구성요소에 대한 설정은 주로 XML
파일을 이용합니다.
- 공통 속성 : core-site.xml
- HDFS 속성 : hdfs-site.xml
- 맵리듀스 속성 : mapred-site.xml
- YARN 속성 : yarn-site.xml
위의 설정 파일들은 모두
etc/hadoop
의 서브디렉터리에 있습니다.
하둡은 3가지 모드가 있습니다.
- 독립모드 : 데몬이 실행되지 않고 모든 것이 단독 JVM 내에서 실행됩니다. 시험과 디버깅을 쉽게 할 수 있기 때문에 개발 단계에서 맵리듀스 프로그램을 실행할 때 적합합니다.
- 의사 분산 모드 : 모든 하둡 데몬을 로컬 머신에서 실행합니다. 따라서 작은 규모의 클러스터에서 실행하는 것과 같은 효과가 있습니다.
- 완전 분산 모드 : 하둡 데몬을 여러 대의 머신으로 구성된 클러스터에서 실행합니다.
독립 모드는 따로 추가 작업이 없어서 의사 분산 모드로 설정해봅니다. 이를 위해 각 속성 파일들을 수정합니다.
core-site.xml 수정
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
hdfs-site.xml 수정
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml 수정
1
2
3
4
5
6
7
8
9
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml 수정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0"?>
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
위와 같이 설정을 했다면 SSH 설정을 위해 맥북에서 [시스템 환경설정] - [공유] - [원격 로그인]을 체크합니다.
이후에는 HDFS를 포맷해야 합니다.
1
hdfs namenode -format
위의 명령어를 통해 HDFS를 사용하기 전에 파일 시스템을 포맷합니다.
시작
데몬 시작
1
2
3
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
데몬 중지
1
2
3
mr-jobhistory-daemon.sh stop historyserver
stop-yarn.sh
stop-dfs.sh