본문 바로가기

 

Apache Hadoop ( 아파치 하둡 ) 설치하기

 

 

 

위키백과의 설명을 따르면 

 

https://ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%ED%95%98%EB%91%A1

 

 

아파치 하둡(Apache Hadoop, High-Availability Distributed Object-Oriented Platform)

 

 

은 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크이다. 

 

원래 너치 분산 처리를 지원하기 위해 개발된 것으로, 아파치 루씬의 하부 프로젝트이다. 분산처리 시스템인 구글 파일 시스템을 대체할 수 있는하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)과 맵리듀스를 구현한 것이다.

 

 

라고 합니다. 자세한 설명은 위키백과에서...

 

 

설치하기전  Zookeeper의 설치가 선행되어야 합니다.

 

* 참고 *

http://kingname.tistory.com/45

 

 

 

설치과정

 

Step 1. Hadoop 설치

Step 2. Hadoop 환경 설정

 

Step 3. ssh-keygen 을 활용한 공개키 배포 ( 안되어 있을 경우 )

 

Step 4. 실행 및 확인

 

 

 

 

Step 1

Hadoop 설치

 

공식홈페이지 : http://hadoop.apache.org/releases.html

 

 

 

아래 중 한가지 방법으로 하둡 다운로드

 

$ wget http://apache.tt.co.kr/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz

or

$ wget https://dist.apache.org/repos/dist/release/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz.asc 

 

or

 

$ wget https://dist.apache.org/repos/dist/release/hadoop/common/KEYS

$ gpg --import KEYS

 

$ gpg --verify hadoop-2.6.5-src.tar.gz.asc

 

 

이후 하둡설치경로를 이동하거나 링크를 생성합니다.

 

 

 

Step 2Hadoop 환경 설정

 

 

 

 

Hadoop config ( 하둡설치경로/etc/Hadoop/ )

 

 

 

1. hdfs-site.xml

 

<configuration>

        <property>

                <name>dfs.datanode.data.dir</name>

                <value>/data1/hdfs/data</value>

        </property>

</configuration>

 

data 디렉토리 설정 ( value 값을 생성한 폴더로 지정 모든 노드 동일하게 )

 

 

2. core-site.xml

 

<configuration>

        <property>

                <name>fs.default.name</name>

                <value>hdfs://namenode01:9000</value>

        </property>

</configuration>

 

namenode 기본 설정

 

 

3. mapred-site.xml

 

<configuration>

        <property>

                <name>mapred.framework.name</name>

                <value>yarn</value>

        </property>

</configuration>

 

mapred, yarn 지정

 

 

4. hadoop-env.sh

 

export HADOOP_LOG_DIR=/data1/log/hadoop

 

환경변수 추가 LogDir 설정 ( 폴더 지정 )

 

5. slaves

 

#data노드에 사용할 목록 전부 추가

ex)  datanode01

datanode02

 

datanode03    

 

각 호스트명을 추가

 

6. 환경변수 추가 (/etc/profile or 사용자) 

 

export JAVA_HOME=/usr/java/jdk

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

 

export HADOOP_HOME=/opt/hadoop/hadoop

export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar

export HADOOP_PREFIX=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_PREFIX

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native

export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

export HADOOP_HDFS_HOME=$HADOOP_PREFIX

export HADOOP_MAPRED_HOME=$HADOOP_PREFIX

export YARN_HOME=$HADOOP_PREFIX

 

export ZOOKEEPER_HOME=/opt/hadoop/zookeeper

export ZOOKEEPER_PREFIX=$ZOOKEEPER_HOME

export ZOO_LOG_DIR=$ZOOKEEPER_HOME/logs

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin…

 

자바, zookeeper 설정도 있으니 확인하기실 바랍니다.

 

이후 source 명령어 실행

 

ex) source /etc/profile

 

 

 

Step 3

 ssh-keygen 을 활용한 공개키 배포 ( 안되어 있을 경우 )

 

cd ~

 

ssh-keygen -t rsa 후 엔터 세번

 

cat ~/.ssh/id_rsa.pub | ssh id@host 'cat >> ~/.ssh/authorized_keys' 

 

모든 호스트에서 실행 

 

홈 디렉토리로 이동하여 ssh-keygen 생성 비밀번호를 엔터로 설정

 

데이터 호스트 마다 cat ~/.ssh/id_rsa.pub | ssh 계정@호스트명 또는 아이피  'cat >> ~/.ssh/authorized_keys' 

 

 

 

설명을 돕기 위해서 사진으로도 첨부 하였습니다.

 

 

 

 

chmod 700 ./

chmod 755 ../

chmod 600 id_rsa

chmod 644 id_rsa.pub

chmod 644 authorized_keys

chmod 644 known_hosts

 

known_hosts 파일은 다른 계정 접속할때 생성되는 파일입니다. 안돼도 상관없음

 

 

server02 에서도 마찬가지로 추가해줘야 합니다.

 

 

 

Step 4

 실행 및 확인

 

1. Namenode 초기화 ( namenode 에서 진행 )

 

$ bin/hdfs namenode -format

 

 

2. Namenode 실행 ( namenode 에서 진행)

 

 

 

$ sbin/hadoop-daemon.sh --config $HADOOP_HOME/etc/hadoop --script hdfs start namenode

 

키젠 설정이 안되어 있을 경우 문제가 있을 수 있습니다.

 

 

3. Start-all ( 전부 실행된다 )

 

sbin/start-all.sh

 

 

이외에도 sbin 폴더에 하나씩 실행할 수 있거나 정지할 수 있는 sh 파일이 있습니다.

 

4. 확인 

 

http://호스트명 또는 아이피 :50070

 

 

http://호스트명 또는 아이피 :8088

 

 

 

확인 완료!

 

 

 

하둡이 정상적으로 작동하는걸 보았으니 테라젠 ( Teragen 을 이용한 테스트를 하도록 합시다 )

 

 

 

HDFS 더미데이터 생성 ( Teragen )

 

 

$ hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar teragen 100000 /usr/admin/teragen1

 

100000 이부분이 생성할 크기를 지정해줍니다.

 

그 이후가 생성할 경로 지정

 

테라젠 경로

 

 

 

hdfs를 이용하여 /usr/admin/teragen1 파일을 올려봅시다.

 

hdfs dfs -put /usr/admin/teragen1 /temp

 

 

 

 

잘 올라가는걸 확인 할 수 있습니다.

 

 

이상으로 

 

Apache Hadoop ( 아파치 하둡 ) 2.6.5 소개 및 설치하기 Teragen(테라젠) 이용하기

 

포스팅을 마치겠습니다.

 

 

도움이 되셨다면 공감!

 

 

엉망진창

개인 블로그 입니다. 코딩, 맛집, 정부정책, 서비스, ~방법 등 다양한 정보를 소개합니다