Notice
Recent Posts
Recent Comments
Today
Total
04-26 00:01
Archives
관리 메뉴

Jeongchul Kim

라즈베리 파이 하둡 클러스터 - 2 하둡 설치 본문

라즈베리파이/라즈베리파이 하둡 클러스터

라즈베리 파이 하둡 클러스터 - 2 하둡 설치

김 정출 2016. 5. 16. 20:30


라즈베리 파이 하둡 클러스터 - 2 하둡 설치  



라즈베리를 이용한 클러스터


이전 포스팅

라즈베리파이 하둡 클러스터

라즈베리 파이 하둡 클러스터 - 1 라즈베리 파이3, 기본적인 설정


라즈베리 파이의 패키지를 우선 업데이트와 업그레이드를 진행합니다.

pi@raspberrypi:~$ sudo apt-get update && sudo apt-get upgrade


y를 눌러줍니다.



Oracle Java8 jdk 설치

pi@raspberrypi:~$ sudo apt-get install oracle-java8-jdk

설치가 완료되고 다음의 명령어를 java의 버전과 java의 위치를 확인할 수 있습니다.

pi@raspberrypi:~$  java -version

pi@raspberrypi:~$  which is java


그룹과 유저 생성


hadoop 이라는 그룹을 설정하고

pi@raspberrypi:~$ sudo addgroup hadoop


namenode라는 유저를 생성하여 hadoop 그룹에 추가하고, sudo를 부여합니다.

pi@raspberrypi:~$ sudo adduser --ingroup hadoop namenode

pi@raspberrypi:~$ sudo adduser namenode sudo


namenode 유저를 변경합니다.

pi@raspberrypi:~$ su namenode


SSH Keys 생성하기

namenode@raspberrypi:/ $ cd ~

namenode@raspberrypi:/ $ mkdir .ssh

namenode@raspberrypi:/ $ ssh-keygen -t rsa -P “”

명령어 입력 후에 Enter를 쳐줍니다.


생성된 SSH Keys를 이용해 SSH 통신을 사용합니다.

namenode@raspberrypi:~ $ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

namenode@raspberrypi:~ $ ssh localhost


Hadoop 2.7.2 설치하기

opt 디렉터리를 만들고, 아파치 미러 사이트를 통해 hadoop 2.7.2 버전(tar.gz)을 다운받고

압축을 풀어 소프트링크 파일을 생성하겠습니다.


namenode@raspberrypi:~ $ cd ~/

namenode@raspberrypi:~ $ mkdir opt && cd opt

namenode@raspberrypi:~ $ wget http://wget http://apache.mirror.cdnetworks.com/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz


압축을 풉니다. 소프트 링크 파일을 생성합니다.

namenode@raspberrypi:~ $ tar -xvzf hadoop-2.7.2.tar.gz

namenode@raspberrypi:~ $ ln -s hadoop-2.7.2 hadoop

chown 명령어를 이용해 사용자 권한을 설정해줍니다.

namenode@raspberrypi:~ $ sudo chown -R namenode:haddop hadoop-2.7.1/

namenode@raspberrypi:~ $ sudo chown -R namenode:hadoop hadoop


환경 변수 설정하기

namenode@raspberrypi:~ $ sudo vi ~/.bashrc


파일 맨 밑 줄에 다음의 코드를 입력합니다.


export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")  
export HADOOP_HOME=/home/namenode/opt/hadoop-2.7.2  
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  
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


파일을 갱신합니다.

namenode@raspberrypi:~ $ source ~/.bashrc


제대로 설치가 되었는지 hadoop의 버전을 살펴봅니다.

namenode@raspberrypi:~ $ hadoop version

namenode@raspberrypi:~ $ which hadoop



하둡 2.7.2 환경 설정

하둡의 환경설정을 위해 $HADOOP_CONF_DIR로 이동하여 hadoop-env.sh 파일을 수정합니다.

namenode@raspberrypi:~ $ cd $HADOOP_CONF_DIR

namenode@raspberrypi:~ $ vi hadoop-env.sh



‘/’ 를 눌러 export를 검색합니다.


export JAVA_HOME=${JAVA_HOME}

를 다음으로 변경합니다.


export JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/



core-site.xml

nano 편집기를 이용해서 편집을 해보겠습니다.


namenode@raspberrypi:~ $ nano core-site.xml


다음의 코드에서

<configuration></configuration>

사이에 다음의 코드를 집어넣습니다.


<property>  
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
</property>  
<property>  
<name>hadoop.tmp.dir</name>
<value>/hdfs/tmp</value>
</property>




hdfs-site.xml

namenode@raspberrypi:~ $ nano hdfs-site.xml


다음의 코드에서

<configuration></configuration>

사이에 다음의 코드를 집어넣습니다.


<property>  
<name>dfs.replication</name>  
<value>1</value>  
</property>



mapred-site.xml

기존에 있는 mapred-site.xml.template을 복사하여 mapred-site.xml로 변경합니다.


namenode@raspberrypi:~ $ cp mapred-site.xml.template mapred-site.xml

namenode@raspberrypi:~ $ nano mapred-site.xml


다음의 코드에서

<configuration></configuration>

사이에 다음의 코드를 집어넣습니다.





<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>256</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx210m</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>256</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx210m</value>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>256</value>
</property>




yarn-site.xml

다음은 yarn-site.xml 입니다.


namenode@raspberrypi:~ $ nano yarn-site.xml


다음의 코드에서

<configuration></configuration>

사이에 다음의 코드를 집어넣습니다.


<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>4</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>

</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>128</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>768</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-vcores</name>
<value>1</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>4</value>
</property>


HDFS 준비

namenode@raspberrypi:~ $ sudo mkdir -p /hdfs/tmp

namenode@raspberrypi:~ $ sudo chown namenode:hadoop /hdfs/tmp

namenode@raspberrypi:~ $ chmod 750 /hdfs/tmp

namenode@raspberrypi:~ $ hdfs namenode -format



하둡 2.7.2 시작

하둡을 시작해 봅시다.


namenode@raspberrypi:~ $ cd $HADOOP_HOME/sbin

namenode@raspberrypi:~ $ start-dfs.sh

시작 중간에 yes를 입력합니다.


namenode@raspberrypi:~ $ start-yarn.sh


모든 것이 실행되어있는 지 확인하기 위해서 다음의 명령어를 실행합니다.

namenode@raspberrypi:~ $ jps


jps 목록으로는 다음이 필요합니다.

ResourceManager, NodeManager, NameNode, DataNode, JPS, SecondaryNameNode


이상 포스팅을 마칩니다.




Comments