'개발새발'에 해당되는 글 56건

 

설치 환경은 Ubuntu 16.04 LTS의 Master 1, Worker 3으로 총 4개의 VM을 이용하였다.

 

당연히 먼저 하둡을 다운로드 받는다. (링크는 Apache Hadoop Release, 현재 2.7.3)

 

받은 하둡 파일을 압축을 풀고,

 

tar zxvf hadoop-2.7.3.tar.gz
mv hadoop-2.7.3 hadoop

 

JDK도 물론 설치해준다.

 

sudo apt install openjdk-8-jdk openjdk-8-jre

 

이제 설치한 하둡과 자바의 환경 변수(bashrc 파일의 제일 하단에 입력)를 등록.

 

vi ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export HADOOP_HOME=/home/bigpros/hadoop
export PATH=$JAVAHOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export CLASS_PATH=$JAVAHOME/lib:$CLASS_PATH

 

본격적으로 Hadoop Configuration 파일들을 수정하면 되는데 사실 이 파일 설정들에 따라 single, pseudo, fully distributed mode가 구성될 수 있다.

 

1. hadoop-env.sh

 

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

 

2. yarn-env.sh

 

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

 

3. slaves

 

workerA
workerB
workerC

 

4. core-site.xml

 

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://masterA:9000</value>
   </property>
</configuration>

 

5. hdfs-site.xml

 

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>3</value>
   </property>
   <property>
      <name>dfs.name.dir</name>
      <value>/home/user/hdfs/name</value>
   </property>
   <property>
      <name>dfs.data.dir</name>
      <value>/home/user/hdfs/data</value>
   </property>
   <property>
      <name>dfs.permissions</name>
      <value>false</value>
   </property>
   <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>workerA:50090</value>
   </property>
   <property>
      <name>dfs.namenode.secondary.https-address</name>
      <value>workerA:50091</value>
   </property>
</configuration>

 

6. mapred-site.xml

 

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

 

7. yarn-site.xml

 

<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
   <property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
   </property>
   <property>
      <name>yarn.resourcemanager.resource-tracker.address</name>
      <value>masterA:8025</value>
   </property>
   <property>
      <name>yarn.resourcemanager.scheduler.address</name>
      <value>masterA:8030</value>
   </property>
   <property>
      <name>yarn.resourcemanager.address</name>
      <value>masterA:8040</value>
   </property>
   <property>
      <name>yarn.resourcemanager.webapp.address</name>
      <value>masterA:8088</value>
   </property>
</configuration>

 

이제 데이터가 저장될 폴더들을 생성해준다.

 

mkdir -p hdfs/name hdfs/data
for HOST in workerA workerB workerC; do ssh bigpros@$HOST "mkdir -p hdfs/name hdfs/data"; done

 

마지막으로 설정파일과 하둡폴더를 배포해주면

 

for HOST in workerA workerB workerC; do ssh bigpros@$HOST "source .bashrc"; done
for HOST in workerA workerB workerC; do scp -r $HADOOP_HOME $HOST:$HADOOP_HOME; done

 

하둡 설치가 완료되고 다음의 명령으로 하둡을 구동한다.

 

hdfs namenode -format

start-dfs.sh
start-yarn.sh

 

하둡 웹 인터페이스는 마스터 주소의 50070 포트를 통해 확인 가능하며, Safe Mode 해제 방법은 다음과 같다.

 

hadoop dfsadmin -safemode leave

 

'Development > Hadoop' 카테고리의 다른 글

하둡 공부 - MapReduce 작동 방법  (0) 2019.01.24
하둡 공부 - Hadoop I/O  (0) 2019.01.24
하둡 공부 - YARN  (0) 2019.01.24
하둡 공부 - Hadoop Read & Write  (0) 2019.01.24
하둡 공부 - HDFS  (0) 2019.01.24
블로그 이미지

나뷜나뷜

,