Hadoop 설치 및 설정

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

    _config.yml


  • hdfs-site.xml

    Datanode 경로는 /opt/hadoop/hdfs/datanode

    Namenode 경로는 /opt/hadoop/hdfs/namenode

    로 정했다. 이 부분은 사용자가 마음대로 지정해도 되나 데이터들이 저장되는 경로기 때문에 용량이 큰 디렉토리로 지정한다.

    dfs.replication부분의 value값은 노드 갯수만큼으로 지정한다.

    _config.yml


  • mapred-site.xml

    _config.yml


  • slaves

    _config.yml


1
$ $HADOOP_HOME/bin/hadoop namenode -format

HDFS를 포맷시키는 명령이다. 처음 시작전에 한번 입력해주자


1
$ $HADOOP_HOME/sbin/start-all.sh

MadpReduce 와 HDFS 데몬을 시작한다.

Tip

방화벽 22번 포트를 개방시키는게 편하다. 클러스터와의 통신을 ssh로 하기 때문에 ssh 포트를 변경하거나

기본 ssh포트인 22번을 개방시켜야 한다.

unsplash-logoHarshil Gudka

댓글