Hadoop 설치 및 설정
My Environment
Master | 1 |
---|---|
Slave | 1 |
모든 과정은 root
계정으로 진행을 권장합니다.
HADOOP 2.7+ 버전의 하둡 파일을
/usr/local
에 다운로드 받는다. (아니면 홈디렉토리에)1
$ tar xvf hadoop-xxx
1
$ mv hadoop-xxx hadoop
/usr/local
에 압축을 해제했다면1
$ chown -R (유저명):(그룹명) hadoop
하둡은 JAVA를 사용하므로 JAVA 환경변수를 설정한다. 아래 명령어로 자바경로를 잡자.
1
$ cd /usr/local/hadoop/etc/hadoop
1
2
3$ vi hadoop-env.sh
...export JAVA_HOME=/(자바경로)
하둡 환경변수를 등록한다. (편의상)
1
2
3$ vi .bashrc
… export $HADOOP_HOME = /usr/local/hadoop
… export PATH=$PATH:$HADOOP_HOME/bin
하둡은 SSH 통신을 사용하므로 SSH를 설치하고(설치과정 생략) Master 와 Slave 가 공개키를 가지고 있어야 한다.
Master PC 홈디렉토리에서
1
$ ssh-keygen -t rsa
(비밀번호 설정 세번 물어보는데 전부
Enter
로 넘긴다.) ~/.ssh/ 안에 id_rsa 와 id_rsa.pub 파일이 생성된다.1
$ cp ./id_rsa.pub ./authorized_keys
1
$ chmod 755 ~/.ssh
1
$ chmod 644 ~/.ssh/authorized_keys
1
$ ssh-add
여기서 에러뜨면 아래 명령
1
$ eval $(ssh-agent)
1
$ ssh-add
Slave PC 홈디렉토리에서
1
$ chmod 755 ~/.ssh 로 접근권한을 설정한다.
다시 Master PC 에서
1
$ scp ./authorized_keys (ID)@slave1:./.ssh
Master 서버의 authorized_keys 파일을 slave1 으로 복사 시킨다.
MASTER PC 에서 설정
1
$ vi /etc/hosts
편집기로 열어서 IP 와 호스트네임명을 입력한다.
$HADOOP_HOME/etc/hadoop
폴더의core-site.xml mapred-site.xml hdfs-site.xml slaves 파일들의 내용을 수정해야 한다.
core-site.xml
hdfs-site.xml
Datanode 경로는
/opt/hadoop/hdfs/datanode
Namenode 경로는
/opt/hadoop/hdfs/namenode
로 정했다. 이 부분은 사용자가 마음대로 지정해도 되나 데이터들이 저장되는 경로기 때문에 용량이 큰 디렉토리로 지정한다.
dfs.replication
부분의value
값은 노드 갯수만큼으로 지정한다.
mapred-site.xml
slaves
1 | $ $HADOOP_HOME/bin/hadoop namenode -format |
HDFS를 포맷시키는 명령이다. 처음 시작전에 한번 입력해주자
1 | $ $HADOOP_HOME/sbin/start-all.sh |
MadpReduce 와 HDFS 데몬을 시작한다.
Tip
방화벽 22번 포트를 개방시키는게 편하다. 클러스터와의 통신을 ssh로 하기 때문에 ssh 포트를 변경하거나
기본 ssh포트인 22번을 개방시켜야 한다.