데이터실무
DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!
하둡 분산 파일 시스템을 구축하려면 다음과 같은 시스템 요구 사항을 만족해야 한다. 하둡은 리눅스 명령으로 시스템 정보를 수집한다. 그래서 리눅스 운영체제나 시그윈(Cygwin)과 같은 리눅스 명령을 사용하는 운영체제가 필요하다. 필자는 리눅스 운영체제에 설치하는 것을 권장한다. 자바 환경이 필요한 이유는 하둡이 자바 언어로 개발됐기 때문이다. ssh는 하둡이 각 노드를 실행하거나 중지할 때 이용하므로 반드시 필요하다. 이제부터 ssh와 하둡 설치 방법을 알아보자. 통상적으로 하둡을 설치하기 하기 위해서는 아래 같은 순서대로 준비를 해야 한다. 물리적인 서버는 다음의 기능을 수행할 서버를 의미한다. 이를 구체적으로 다시 설명하면 다음과 같다. 물론, 필요 환경에 따라서 각각 다르게 구성할 수 있다. 또한 테스트 가상화 환경을 구성해 위의 구성을 원하는대로 수정해 테스트해 볼 수 있다. 아래에 기술되는 확인사항은 하둡이 설치되는 모든 서버에 적용된다. 위와 같이 사용될 포트를 매번 열어주는 건 매우 번거로운 일이다. 서버가 내부 망으로만 설치 돼 있다면 방화벽을 내려주는 게 가장 간단한 방법이다. 또는 명령어를 찾을수 없을 때는 명령어의 위치를 찾은 후 해당 절대경로를 지정해 실행한다. 자바가 설치돼 있지 않거나 버전이 낮은 경우 자바 설치와 Default Java 변경이 필요하다. 이상 설치 및 환경 설정에 대해서 알아보았다. 환경 설정에 정해진 매뉴얼은 없으며 설치 관리자의 경험과 운영 환경에 최적화한 환경을 구성할 수 있다. 하둡 분산 파일 시스템은 분산된 환경에서 운영되는 응용프로그램이다. 따라서 원격에서 응용프로그램을 제어할 수 있어야 한다. 하둡은 ssh로 분산된 각 노드를 제어하기 때문에 하둡을 단일 서버에 설치하더라도 ssh는 반드시 설치해야 한다. openssh-clients가 설치돼 있어야 scp 명령을 사용할 수 있다. scp는 파일을 네트워크를 통해 전송하는 데 매우 유용한 도구다. ssh 설치를 마쳤으면, 하둡을 설치할 서버 간에 ssh를 공개키 기반으로 통신할 수 있도록 설정한다. 만약 이 부분을 설정하지 않으면 하둡을 실행하거나 중지할 때 매번 비밀번호를 입력해야 한다. [그림 Ⅱ-1-3] ssh 폴더 내부 화면 하둡을 실행하고 운영할 사용자 계정은 hadoop이다. hadoop 계정으로 로그인한 후 명령을 실행한다. 명령어가 정상적으로 실행되면 hadoop 계정에 .ssh 폴더가 생성된다. 폴더 안을 보면 id_rsa와 id_rsa.pub 파일이 있다. 이는 개인키(private key)와 공개키(public key)다. 이 공개키를 데이터 노드로 사용될 서버와 동일한 이름의 폴더에 authorized_keys라는 이름으로 복사하면 된다. 위와 같은 방식으로 한 서버에서 원격 서버 모두를 설정할 수 있다. 위 명령에서 datanode01에는 데이터 노드가 될 서버 네트워크의 IP 주소를 입력하거나 도메인 이름 또는 호스트 이름을 입력하면 된다. 서버가 수십 대에서 수백 대까지 될 수 있기 때문이다. ssh 명령으로 원격지 서버에 명령을 실행시키고, scp 명령으로 필요한 파일을 원격지 서버에 전송할 수 있다. ssh 또는 scp 명령을 실행할 때, 원격지 서버가 응답하는 속도가 5초 이상 걸린다면 다음과 같이 ssh 클라이언트 설정을 변경하자. GSSAPIAuthentication를 no로 설정하면 ssh로 원격지 서버에 접근할 때, DNS 검색을 하지 않는다. 이를 yes로 설정하면 DNS 검색 때문에 최초 접속 시간이 길어진다. 그리고 StrictHostKeyChecking를 no로 설정하면, 원격지 서버와 접속할 때 서로 호스트 키를 확인하지 않는다. 이 부분이 yes이면 최초 접속 시 [yes | no] 질의 과정을 거치게 된다. 시스템을 확장하고 나서 하둡을 실행하면 실행 도중에 질의가 나타난다. 운영자 입장에서 상당히 불편할 수 있으니 반드시 no로 설정하자. 결론적으로 위의 예제처럼 설정하면 하둡 실행 속도를 빠르게 하고, 불필요한 질의를 없앨 수 있다. 하둡 분산 파일 시스템은 오픈 소스다. 그래서 누구나 내려받아 사용할 수 있다. 여기서는 하둡 1.2.1 버전을 사용한다. 하둡 프로젝트 사이트: http://hadoop.apache.org 현재 하둡의 안정화 버전은 1.2.1이다. 이 책에서 구성할 하둡 분산 파일 시스템은 다음과 같다. [그림 Ⅱ-1-4] 하둡 분산 파일 시스템 구성도 네임 노드와 보조 네임 노드는 동일한 서버에 구성하고, 데이터 노드 2개를 구성한다. 각각 호스트 이름은 namenode.localdomain, datanode01.localdomain, datanode02.localdomain이다. DNS 서버를 별도로 운영하지 않는다면 다음 설정값을 추가한다. 설정값은 모든 서버(네임 노드 서버, 데이터 노드 서버)에 설정해야 한다. 많은 서버를 이용해 구성하면 별도로 DNS 서버를 운영하는 방법이 좋다. 필자는 압축을 해제한 하둡 폴더를 그대로 이용하지 않고 다음과 같이 링크를 이용한다. 링크를 이용하는 이유는 상황에 따라 다른 버전 하둡을 이용할 수도 있기 때문이다. 링크를 이용해 여러 버전 하둡을 설치해 운영할 수도 있다. [그림 Ⅱ-1-5] 하둡 홈 폴더 구조의 예 [표 Ⅱ-1-1]은 하둡 폴더에 대한 간단한 설명이다. [표 Ⅱ-1-1] 하둡 폴더 구조 하둡 버전에 따라 폴더 구조는 약간 다를 수 있다. 하둡 분산 파일 시스템을 실행하는데 필요한 폴더는 bin, conf, lib, logs, webapps, 하둡 루트 폴더에 있는 메인 라이브러리다. 네임 노드에서 하둡 설정을 모두 마친 후 위와 같이 하둡을 복사하면, 별도로 각 노드에서 설정 작업을 할 필요가 없다. 이미 하둡을 모든 데이터 노드에 전송했기 때문에 설정 작업을 마치면 conf 폴더만 동기화한다. 하둡 분산 파일 시스템의 설정 작업은 하둡 루트 폴더 내의 conf 폴더에서 모두 이뤄진다. 설정 파일이 많이 있지만, 여기서는 단순히 프라이빗 스토리지 서비스를 위한 설정만 해보자. $HADOOP_HOME/conf/core-site.xml은 하둡의 로그 파일, 네트워크 설정, 입출력 설정, 파일 시스템 설정, 압축 등에 관한 기본 설정을 한다. 파일 시스템과 맵리듀스에서 공통으로 사용하는 설정 파일로, $HADOOP_HOME/src/core/core-default.xml 또는 $HADOOP_HOME/share/hadoop/templates/conf/core-site.xml 파일을 참조하면, 항목별 설정 방법에 대한 설명이 자세히 돼 있다. $HADOOP_HOME/conf/hdfs-site.xml은 하둡에서 데이터를 관리하기 위한 설정 파일이다. 여기서 말하는 데이터는 네임 노드에서 관리하는 네임스페이스 데이터와 데이터 노드에서 관리하는 파일 블록 데이터다. dfs.data.dir은 “,”를 이용해 여러 개의 폴더를 지정할 수 있다. 단 여려 개의 폴더를 설정하면, 각각 폴더가 디스크 단위로 구분돼 있어야 용량이나 성능이 향상된다. 이 파일에서 기본 복제본 수를 설정한다. 자세한 설정 방법은 $HADOOP_HOME/src/hdfs/hdfs-default.xml 또는 $HADOOP_HOME/share/hadoop/templates/conf/hdfs-site.xml 파일을 참조하자. 다음은 기본적인 설정 예제다. dfs.name.dir은 네임 노드에서 파일 네임스페이스 정보를 저장하기 위한 폴더를 지정하며, dfs.data.dir은 데이터 노드에서 파일 블록을 저장할 폴더를 지정한다. dfs.replication은 파일의 기본 복제본 수를 지정하는 항목이다. 지정하지 않으면 기본값인 “3”이 적용된다. 여기서는 데이터 노드가 2개이므로 복제본 수를 “2”로 지정한다. $HADOOP_HOME/conf/masters는 보조 네임 노드가 실행될 서버를 지정한다. 네트워크 IP 주소, 도메인 이름 또는, 호스트 이름을 사용할 수 있고, 여러 대를 지정할 수 있다. 다음은 masters 설정 방법이다. 여기서는 네임 노드와 보조 네임 노드를 동일한 서버에서 구성할 예정이므로 네임 노드 호스트 이름을 사용한다. 데이터 노드는 ‘줄 바꿈’으로 구분된다. 이 파일을 윈도우 운영체제에서 생성하면 ‘줄 바꿈’이 다른 형식으로 돼 있을 수 있다. 그럴 경우에는 다음과 같이 파일 형식을 변경한다. # dos2unix 명령을 통해 텍스트 파일 형식을 변환한다. 하둡이 실행될 때 $HADOOP_HOME/conf/slaves에 설정된 서버만 데이터 노드로 실행되지만, 운영중에 slaves 파일에 명시되지 않은 서버에서 데이터 노드를 별도로 실행시킬 수 있다. 물론 네임 노드에서는 자동으로 데이터 노드 클러스터로 인식한다. 그 외 설정 파일이나 항목이 많지만, 클라우드 스토리지를 구성하기 위한 최소한의 설정만 다뤘다. 하둡 맵리듀스 부분은 전혀 다루지 않았는데, 하둡에 맵리듀스를 구성할 때는 하둡 분산 파일 시스템 설정의 일부도 조정해야 한다. 지금까지의 설정을 완료했다면, 반드시 데이터 노드 서버에 해당 파일을 공유하자. 다음은 모든 데이터 노드에 설정 파일을 동기화하는 방법이다. 클러스터 규모가 작으면 위와 같이 간단한 명령어로 해결할 수 있다. 하지만 규모가 크면 스크립트 파일을 만들어 사용해야 편하다. 지금까지 [그림 Ⅱ-1-4]와 같이 namenode.localdomain에 하둡 네임 노드와 보조 네임 노드, datanode01.localdomain과 datanode02.localdomain에 하둡 데이터 노드를 설치했다. 그리고 하둡 분산 파일 시스템을 실행하기 위한 기본적인 설정도 완료했다. 이제 하둡 네임 노드에서 하둡 분산 파일 시스템을 실행하면 된다. 하둡 분산 파일 시스템을 실행하는 방법은 매우 간단하다. $HADOOP_HOME/bin/start-dfs.sh 스크립트를 실행하면 된다. 하지만 하둡 분산 파일 시스템을 최초로 실행하기 전 또는 파일 시스템을 초기화한 후에는 네임 노드 포맷이 필요하다. 네임 노드를 포맷한 후에는 모든 데이터 노드에서 파일 시스템 정보를 삭제해 줘야 한다. 그렇지 않으면 새로운 네임스페이스 포맷이 데이터 노드와 동기화될 수 없을 것이다. 하둡 분산 파일 시스템을 실행할 때, 다음과 같은 오류 메시지가 출력될 때가 있다. 이 메시지는 원격지 서버에 JAVA_HOME이 설정되지 않을 때 출력된다. /etc/profile 파일이나 .bash_profile에 JAVA_HOME을 설정하는 경우가 있다. 이 경우 네임 노드 서버에서 데이터 노드 서버로 연결할 때 JAVA_HOME 환경 변수를 불러오지 못한다. 그래서 하둡을 실행할 계정(hadoop)의 .bashrc 파일에 JAVA_HOME을 설정한다. 이는 하둡이 대화식 비로그인 쉘을 이용하기 때문이다. 위와 같은 출력이 나타나면 하둡 분산 파일 시스템이 정상적으로 실행된 것이다. 각 노드에 프로세스가 실행되지 않는다면, 노드별 로그 파일을 살펴보자. 대부분은 JAVA_HOME이나 방화벽 설정 그리고 파일 권한 문제다. [그림 Ⅱ-1-6] 하둡 분산 파일 시스템 관리 화면 이제 http://namenode.localdomain:50070에 접속하자. [그림 1-6]와 같은 관리 도구 화면이 보일 것이다. 관리 도구의 첫 페이지에서는 현재 운영중인 하둡 분산 파일 시스템의 요약 정보를 보여준다. 여기서 정상적으로 실행중인 데이터 노드 수, 문제가 있거나 서비스가 불가능한 데이터 노드 수, 임의로 데이터 노드 클러스터에서 제거된 노드 수를 확인할 수 있다. [그림 Ⅱ-1-7] 데이터 노드 관리 화면 하둡은 제티(Jetty) 웹 서버를 갖고 있어 웹 기반의 관리 도구를 지원한다. 또한 콘솔 기반으로도 하둡 분산 파일 시스템 상태 정보를 확인할 수 있다. 다음은 bin/hadoop 명령어로 하둡 분산 파일 시스템 상태 정보를 확인하는 방법이다. report 명령어는 [그림 Ⅱ-1-7]를 CLI(Command Line Interface)에서 확인하는 것과 같다. 다음은 fsck 명령으로 파일의 블록 상태를 조회하는 방법이다. [그림 Ⅱ-1-7]를 볼 수 있고, 위 명령어가 정상적으로 실행된다면 하둡 분산 파일 시스템이 정상적으로 실행되고 있는 것이다. 다음은 하둡 분산 파일 시스템을 종료하는 방법이다. 특정 데이터 노드만 종료할 때는 해당 데이터 노드에 접속한 후 하둡 계정으로 다음 명령을 실행한다. 일시적으로 중지해야 하는 경우에 사용된다. 예를 들어 특정 시스템을 잠시 점검하거나, 시스템 재부팅이 필요할 때다. 하지만 여러 대의 시스템에 동일한 목적이 생길 때에는 무작정 데이터 노드를 중지시키는 방법은 옳지 않다. 한 번에 너무 많은 데이터 노드를 제거하면 블록이 유실될 가능성이 있고, 블록 복제에 따른 네트워크 트래픽이 집중될 수 있기 때문이다. 그래서 하둡은 여러 데이터 노드를 중지시킬 때 중지할 데이터 노드에서 모든 데이터 블록을 다른 데이터 노드로 복제한 후 데이터 노드를 중지하는 기능을 지원한다. 그렇다고 해서 네트워크 트래픽이 줄거나, 데이터 블록이 유실될 가능성이 내려가는 것은 아니다. 하둡에서는 이런 작업을 디커미션(Decommission)이라 하고, 반대로 클러스터 멤버로 구성되는 것을 커미션(Commission)이라고 한다. 이번에는 하둡 2.6.0 버전을 설치해보자. 하둡 프로젝트 사이트: http://hadoop.apache.org 구성할 하둡 분산 파일 시스템은 버전 1.X와 유사하며 다음과 같다. [그림 Ⅱ-1-8] 하둡 분산 파일 시스템 구성도 hadoop 계정을 이용해 다운로드 받은 하둡 파일을 hadoop 홈 폴더로 이동시킨 후 다음과 같이 압축을 해제한다. 필자는 압축을 해제한 하둡 폴더를 그대로 이용하지 않고 다음과 같이 링크를 이용했다. [그림 Ⅱ-1-9] 하둡 홈 폴더 구조의 예 네임 노드에 압축 해제한 하둡폴더를 다른 데이터 노드들에 전송한다. 네임 노드에서 하둡 설정을 모두 마친 후 위와 같이 하둡을 복사하면, 별도로 각 노드에서 설정 작업을 할 필요가 없다. 이미 하둡을 모든 데이터 노드에 전송했기 때문에 설정 작업을 마치면 conf폴더만 동기화한다. 하둡 2.X를 설정하기 앞서 필요한 환경 변수들을 먼저 등록해보자. 로그인 계정의 홈디렉토리로 이동한후 .bashrc 파일에 아래의 내용을 추가해보자. 참고로 1.X에서는 환경 변수명으로 $HADOOP_HOME을 사용했지만, 2.X에서는 충돌을 피하기 위해 대신 $HADOOP_PREFIX를 사용한다. 이 환경 변수에 하둡 설치 디렉토리를 지정해 주면 된다. .bashrc 파일의 변경 내용을 반영하려면 로그아웃후 다시 로그인을 하거나, 아래와 같은 명령을 실행하면 된다. 하둡을 실행하기 위한 대부분의 설정 파일들은 $HADOOP_PREFIX내의 etc/hadoop 폴더에 있다. $HADOOP_PREFIX/etc/hadoop/core-site.xml은 하둡 2.X 버전의 로그 파일, 네트워크 설정, 입출력 설정, 파일 시스템 설정, 압축 등에 관한 기본 설정을 한다. 파일 시스템과 맵리듀스(또는 YARN)에서 공통으로 사용하는 설정 파일이다. 아래 예제는 하둡 분산 파일 시스템을 실행하기 위한 최소 설정 예제다. $HADOOP_PREFIX/etc/hadoop/hdfs-site.xml은 하둡 2.X 버전에서 데이터를 관리하기 위한 설정 파일이며, 다음은 기본적인 설정 예제다. $HADOOP_PREFIX/etc/hadoop/slaves는 데이터 노드가 실행될 서버를 지정한다. 다음은 slaves 설정 예제다. 그 외 설정 파일이나 항목이 많지만, 클라우드 스토리지를 구성하기 위한 최소한의 설정만 다뤘으며, 지금까지의 설정을 완료했다면, 다음과 같이 데이터 노드 서버에 해당 파일을 공유하자. 단 .bashrc 설정은 시스템 환경변수이기 때문에 위처럼 scp를 이용해 동기화하기보다는 직접 데이터 노드 서버에 접속해서 해주는 것을 권고한다. 하둡 분산 파일 시스템을 실행하기 위해 1.X 버전과 마찬가지로 네임 노드 포맷이 필요하다. 네임 노드를 포맷한 후에는 모든 데이터 노드에서 파일 시스템 정보를 삭제해 줘야 한다. 그렇지 않으면 새로운 네임스페이스 포맷이 데이터 노드와 동기화될 수 없을 것이다. Exception같은 오류 메시지가 나타나지 않으면 하둡 분산 파일 시스템이 정상적으로 실행된 것이다. 각 노드에 프로세스가 실행되지 않는다면, 역시 처음 해야 할 일은 노드별 로그 파일을 살펴보는 것이다. 로그가 영어로 작성돼 있지만 조금만 주의 깊게 살펴보면 모든 문제의 해답이 있다. [그림 Ⅱ-1-10] 하둡 분산 파일 시스템 관리 화면 이제 http://namenode.localdomain:50070에 접속하자 [그림 Ⅱ-1-10]와 같은 관리 도구 화면이 보일 것이다. 관리 도구의 첫 페이지에서는 현재 운영중인 하둡 분산 파일 시스템의 요약 정보를 보여주며, 이 외에도 데이터 노드, 스넵샷, 기타 명령어를 실행할 수 있도록 해준다.하둡 설치
하둡 설치 환경
물리적인 서버 준비
소프트웨어 준비
하둡 설치 전 확인사항
SSH 설치와 설정
다음은 ssh을 설치하는 방법이다. 대부분 리눅스 운영체제는 ssh가 기본으로 설치돼 있다. 만약 설치되지 않다면, 다음과 같이 ssh와 ssh 클라이언트를 설치하자. ssh 클라이언트는 하둡 실행에는 필요 없지만, 하둡 설정 파일을 다른 서버에 배포할 때 유용하다.
/etc/ssh/ssh_config
하둡 1.X 설치
하둡 1.2.1 버전: http://mirror.apache-kr.org//hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz
/etc/hosts
하둡을 내려받을 때는 root 계정이 아닌 hadoop 계정을 이용한다. 만약 파일을 root 계정으로 내려받았다면 hadoop 계정으로 접근할 수 있도록 하고 hadoop 홈 폴더로 이동시킨 후 다음과 같이 압축을 해제한다.
폴더 명
설명
bin
하둡을 실행하거나 관리하는 스크립트 폴더
c++
c++ 클라이언트 라이브러리 폴더
conf
하둡 환경 설정 파일이 있는 폴더
contrib
하둡 메인 코드에는 반영되지 않았지만 다양한 기능을 수행하는 도구가 있는 폴더
docs
하둡 관련 문서와 자바 API 문서가 있는 폴더
ivy
하둡을 빌드할 때 필요한 외부 라이브러리 의존성을 해결하기 위한 설정 파일이 있는 폴더
lib
하둡에서 사용되는 외부 라이브러리 폴더
logs
하둡 로그 파일 폴더
sbin
하둡 설정을 질의 형식으로 하는 관리용 스크립트 폴더
share
공유돼야 할 설정 파일의 템플릿 폴더. 하둡 설정 파일은 모든 노드(네임 노드, 보조 네임 노드, 데이터 노드 등)가 공유돼야 한다.
src
하둡 소스코드 폴더로 core, hdfs, mapred 등 메인 프로그램 소스 코드와 C++ 소스 코드, 예제 소스 코드, API 문서와 활용 문서가 있는 폴더
webapps
웹 서버의 루트 폴더. 하둡은 http 서버로 제티(jetty)를 이용한다.
압축을 해제하고 시스템 설정이 완료됐다면 하둡 분산 파일 시스템 설치가 완료된 것이다. 하지만 클러스터 환경이라면 네임 노드 서버뿐만 아니라 모든 데이터 노드 서버에도 하둡을 설치해야 한다.
다음은 네임 노드에 설치된 하둡을 모든 데이터 노드(여기서는 노드 1과 노드 2)에 복사하는 방법이다.
하둡 1.X 설정과 실행
하둡 1.X 설정
$HADOOP_HOME/conf/hadoop-env.sh 파일은 하둡이 실행될 때 반영되는 시스템 환경 변수를 담고 있다. 이 파일은 xml 형식의 설정 파일이 아니라, 하둡이 실행될 때 선처리로 실행되는 스크립트로서, 하둡에서 사용하는 모든 환경 변수가 정의돼 있다. 이 파일에서는 자바 옵션 중 server 옵션을 적용하는 부분의 주석을 제거하고 HADOOP_PID_DIR을 추가로 지정하자. HADOOP_PID_DIR을 지정하지 않으면 하둡은 기본값으로 /tmp 폴더에 pid 값을 저장한다. /tmp 폴더는 시스템 관리자에 의해 주기적으로 정리될 수 있으니 $HADOOP_HOME/pids 폴더에서 관리하자.
$HADOOP_HOME/conf/hadoop-env.sh
다음은 하둡 분산 파일 시스템을 실행하기 위한 최소 설정 예제다.
$HADOOP_HOME/conf/core-site.xml
$HADOOP_HOME/conf/hdfs-site.xml
dfs.webhdfs.enabled는 1.0.0버전부터 새롭게 추가된 기능이다. HTTP 프로토콜로 하둡 분산 파일 시스템에 접근하는 기능이다. 이 부분을 true로 설정하면 하둡 클라이언트를 사용하지 않고도 하둡 분산 파일 시스템에 파일을 올리거나 내려받을 수 있다. 이 항목을 true로 설정해야 다음 절에서 클라우드 스토리지를 구성할 수 있다.
[Note]
dfs.data.dir 값을 설정할 때 “,”를 구분자로 사용한다. 하지만 “,” 전후로 공백이 있으면 안된다.
$HADOOP_HOME/conf/masters
$HADOOP_HOME/conf/slaves는 데이터 노드가 실행될 서버를 지정한다. masters 파일과 마찬가지로 네트워크 IP 주소, 도메인 이름 또는 호스트 이름을 사용할 수 있다. 데이터 노드로 사용할 서버 모두를 지정해야 한다. 다음은 slaves 설정 예제다.
$HADOOP_HOME/conf/slaves
sh> dos2unix slaves
설정 파일 동기화 스크립트
하둡 1.X 실행
다음은 하둡 분산 파일 시스템을 실행하는 명령어다.
[그림 Ⅱ-1-7]은 정상적으로 실행중인 데이터 노드에 대한 관리 화면이다. 데이터 노드별 스토리지 용량 정보, 사용률, 남은 용량, 보관 중인 파일 블록 수를 확인할 수 있다. 데이터 노드 이름을 클릭하면 파일 목록과 로그 정보도 확인할 수 있다.
bin/Hadoop 명령을 통한 상태 정보 확인
fsck 명령을 통한 블록 상태 정보 확인
하둡 분산 파일 시스템 종료
하둡 데이터 노드 서비스 중지
하둡 2.X 설치
하둡 2.6.0 버전: http://mirror.apache-kr.org/hadoop/core/stable2/hadoop-2.6.0.tar.gz
하둡 2.X 설정과 실행
하둡 2.X 설정
~/.bashrc
$HADOOP_PREFIX/etc/hadoop/hadoop-env.sh 파일은 하둡이 실행될 때 반영되는 시스템 환경 변수 들을 기록한다.
$HADOOP_PREFIX/etc/hadoop/hadoop-env.sh
$HADOOP_HOME/conf/core-site.xml
$HADOOP_HOME/conf/hdfs-site.xml
$HADOOP_PREFIX/etc/hadoop/slaves
지금까지 [그림 Ⅱ-1-8]와 같이 namenode.localdomain에 하둡 네임 노드, datanode01.localdomain과 datanode02.localdomain에 하둡 데이터 노드를 설치했다. 그리고 하둡 분산 파일 시스템을 실행하기 위한 기본적인 설정도 완료했다.
하둡 2.X 실행
포맷 결과 화면
다음은 하둡 분산 파일 시스템을 실행하는 명령어다.