하둡 환경 설정을 설정하기 앞서 사전 작업이 필요합니다. 사전 작업은 이전 포스트를 참고하시면 됩니다.

> 하둡(Hadoop) 설치하기[#1] - 설치 준비


1. 하둡 설정 파일

  하둡 데몬을 실행시키기 위해서 기본적으로 설정해야 하는 파일은 아래와 같습니다.

파일명 설명
etc/hadoop/core-site.xml 클러스터 내 네임노드에서 실행되는 하둡 데몬에 관한 설정
etc/hadoop/hdfs-site.xml 하둡 파일시스템에 관한 설정 
etc/hadoop/yarn-site.xml Resource Manager에 관한 설정
etc/hadoop/mapred-site.xml 맵리듀스에 관한 설정

 

2. core-site.xml 설정

  core-site.xml에서는 기본 파일 시스템 이름을 설정해줍니다.
  아래와 같이 fs.defaultFS의 값을 URI 형식으로 입력하면됩니다.

<configuration>
    <property>
        <name>fs.defaultFS</name>
         <value>hdfs://호스트명:9000</value>
    </property>
</configuration>

 

3. hdfs-site.xml 설정

  hdfs-site.xml에서는 namespace와 트랙잭션 로그를 저장 할 네임노드와 데이터 노드의 저장 경로를 지정하고, 데이터 복제 개수를 설정해줍니다.

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
         <value>file:///data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
         <value>file:///data/datanode</value>
    </property>
    <property>
         <name>dfs.namenode.checkpoint.dir</name>
         <value>file:///data/namesecondary</value>
    </property>
    <property>
        <name>dfs.replication</name>
         <value>3</value>
    </property>
</configuration>

 

4. yarn-site.xml 설정

  yarn-site.xml에서는 리소스매니저 Web-ui 주소, 노드매니저에서 중간단계 파일 및 로그를 저장할 경로를 정의해줍니다.

<configuration>
    <property>
        <name>yarn.nodemanager.local-dirs</name>
         <value>file:///data/yarn/local</value>
    </property>
    <property>
        <name>yarn.nodemanager.log-dirs</name>
         <value>file:///data/yarn/logs</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
         <value>hmng</value>
    </property>
</configuration>

 

5. mapred-site.xml 설정

  mapred-site.xml에서는 기본 맵리듀스 프레임워크로 yarn을 설정해줍니다.

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
         <value>yarn</value>
    </property>
</configuration>

 

 

6. hosts 및 IP 설정

  하둡 클러스터에서 사용할 서버 구성 정보는 아래와 같이 정의하였습니다. 물론, 필자가 임의로 설정한 호스트명과 IP이므로 각 설정 내용은 사용자 환경에 맞게 변경하여 사용하면 됩니다.

서버 호스트명 IP 비고
관리 노드 hmng 192.168.0.100 NameNode 및  ResourceManager 등
데이터 노드 1 hdata1 192.168.0.101 DataNode 및 NodeManager등
데이터 노드 2 hdata2 192.168.0.102
데이터 노드 3 hdata3 192.168.0.103

  hosts 파일을 열어 각 서버의 IP와 호스트명을 입력해줍니다.

> sudo vi /etc/hosts

  필자가 입력한 hosts 파일 내용은 아래와 같습니다.

192.168.0.100   hmng 
192.168.0.101   hdata1 
192.168.0.102   hdata2 
192.168.0.103   hdata3 

 

7. Slave 설정

  DataNode와 NodeManager가 실행된 서버가 Slave 노드가 됩니다. (참고로, NameNode와 ResourceManager가 실행되는 서버는 Master 노드입니다.) 클러스터내 Slave 서버 목록은 $HADOOP_HOME/etc/hadoop/slaves 파일에서 관리되며, IP 주소나 hostname 목록을 입력하면 됩니다.

  slave 파일을 열어 아래와 같이 입력합니다. 필자는 IP주소 대신에 데이터노드의 호스트명을 입력하였습니다.

hdata1
hdata2
hdata3

 

 

  이것으로 하둡의 기본 환경 설정을 마무리하였습니다.

  이어서, 지금까지 설정된 마스터 노드를 활용하여 데이터 노드를 생성하는 작업을 진행하도록 하겠습니다.

> 하둡(Hadoop) 설치하기[#3] - 데이터 노드 생성 및 하둡 실행

 

 

 

 

+ Recent posts