Centos 6.4기준 Hadoop설치 방법입니다.
OS : CentOS 6.4
Hadoop : 1.2.1
1. Create User
#터미널 실행 #Hadoop User생성 adduser hadoop #Password 변경 passwd hadoop Changing password for user hadoop New password : 패스워드 입력
2. Hadoop download
#터미널 실행 #root유저로 변경 su - root #wget 설치 yum install wget #hadoop 유저로 변경 su - hadoop #change home directory cd ~ #wget으로 hadoop 1.2.1버전 다운로드 wget http://mirror.apache-kr.org/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz #압축 해제 tar zxvf hadoop-1.2.1.tar.gz위와 같이 진행이 되었으면 /home/hadoop/hadoop-1.2.1 디렉토리 밑으로 Hadoop파일들이 압축해제가 됩니다.
다른 위치로 Hadoop을 설치하시고 싶으신 경우에는 압축 해제한 디렉토리를 전부 이동하시면 됩니다.
3. Hadoop Setting
Hadoop설정은 압축 해제한 디렉토리에 conf 디렉토리가 있는데 이 중 hadoop-env.sh, core-site.xml, hdfs-site.xml, mapred-site.xml , masters, slaves 파일만 수정을 하면 됩니다.
해당 설정값에 대한 자세한 설명을 보시고 싶으시면 src/core, src/mapred, src/hdfs 디렉토리에 -default.xml로 끝나는 파일이 존재합니다. 이 파일을 열어보시면 됩니다.
conf/hadoop-env.sh
#JDK가 설치된 디렉토리를 지정합니다. 가급적 jdk 1.6을 설치하시길 추천합니다. export JAVA_HOME=/usr/java/jdk export HADOOP_HOME=/home/hadoop/hadoop-1.2.1 export HADOOP_LOG_DIR=${HADOOP_HOME}/logs export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves export HADOOP_PID_DIR=${HADOOP_HOME}/pids
conf/core-site.xml
<property> <name>fs.default.name</name> <value>hdfs://IP주소 또는 Hostname:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop-1.2.1/tmp</value> </property>
conf/hdfs-site.xml
<property> <name>dfs.name.dir</name> <value>/home/hadoop/dfs/name</value> </property> <property> <name>dfs.name.edits.dir</name> <value>${dfs.name.dir}</value> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/hadoop-1.2.1/dfs/data</value> </property>
conf/mapred-site.xml
<property> <name>mapred.job.tracker</name> <value>IP주소 또는 Hostname:9001</value> </property> <property> <name>mapred.local.dir</name> <value>/home/hadoop/hadoop-1.2.1/mapred/local</value> </property> <property> <name>mapred.system.dir</name> <value>/home/hadoop/hadoop-1.2.1/mapred/system</value> </property>
conf/masters
#기본설정값이 localhost로 지정이 되어있는데 서버 IP나 Hostname을 적어줍니다. 192.168.100.100
conf/slaves
#기본설정값이 localhost로 지정이 되어있는데 서버 IP나 Hostname을 적어줍니다. #여러대의 클러스터를 구성하고 싶으시면 이 파일에 구성하려는 서버의 IP나 Hostname을 적어줍니다. 192.168.100.100
설정을 다 하셨으면
cd /home/hadoop/hadoop-1.2.1 디렉토리로 이동해서
mkdir dfs/name 명령어로 디렉토리를 생성합니다.
하둡 시작 시 필요한 디렉토리를 자동으로 생성이 되는데 위 디렉토리는 자동생성되지 않아 오류가 발생합니다.
4. SSH 생성
cd ~ ssh-keygen -t rsa #입력 후 연속 3번 엔터 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys #이 부분이 중요합니다. .ssh .ssh/authorized_keys 권한이 아래 처럼 설정이 되어 있지 않으면 ssh 접속 시 계속 패스워드를 요구합니다. chmod 700 .ssh chmod 640 .ssh/authorized_keys #ssh 접속 테스트 ssh hadoop@localhost #최초 접속 시 1회만 접속여부를 물어보는 메시지가 나오고 그 다음부터는 패스워드 없이 접속이 가능합니다.
5. Namenode format
#bin 디렉토리로 이동 cd /home/hadoop/hadoop-1.2.1/bin #namenode format ./hadoop namenode -format
6. Hadoop Start
#hadoop start ./start-all.sh
시작이 완료되면 logs 디렉토리로 이동을 하여 생성된 로그파일 확인
에러 메시지가 없으면 정상적으로 구동이 완료됨
혹시라도 에러 메시지가 존재하면 에러메시지를 자세히 보면 에러에 대한 원인이 있으니 에러 메시지를 확인하시고 대처 하시면 됩니다
7.Web UI 확인
MapReduce
http://IP주소 또는 Hostname:50030
HDFS
http://IP주소 또는 Hostname:50070