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(테라젠) 이용하기
포스팅을 마치겠습니다.
도움이 되셨다면 공감!