1 / 13

하둡 설치

하둡 설치. 신현호 이영 건. 하둡 설치 전 작업. ssh , rsync , jdk 를 설치한다 . 마스터 , 슬레이브 컴퓨터의 계정을 맞춘다 . - 계정을 맞추어야 ssh 접속을 편하게 할 수 있다 . 마스터의 경우 하둡 파일시스템의 쓰기 권한을 위해서는 root 계정으로 로그인 해야한다 . 테스트 환경. 리눅스 : 우분투 11.04 하둡 버전 : hadoop-0.20.2 Jdk 버전 : jdk1.6.0_25

leane
Download Presentation

하둡 설치

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 하둡 설치 신현호 이영건

  2. 하둡 설치 전 작업 • ssh, rsync, jdk를 설치한다. • 마스터, 슬레이브 컴퓨터의 계정을 맞춘다.-계정을 맞추어야 ssh접속을 편하게 할 수 있다. • 마스터의 경우 하둡 파일시스템의 쓰기 권한을 위해서는 root 계정으로 로그인 해야한다.

  3. 테스트 환경 • 리눅스: 우분투11.04 • 하둡 버전: hadoop-0.20.2 • Jdk버전: jdk1.6.0_25 • 하둡은/hadoop폴더에 설치-/hadoop/hadoop-0.20.2 • jdk는 /usr/jdk1.6.0_25 폴더에 설치

  4. 설정 파일 설명 • hadoop-env.sh- Hadoop이 실행하는 모든 프로세스에 적용되는 시스템 환경 값에 대한 스크립트- 환경변수에 대해서 시스템 변수로 등록해 사용하는 방식이 아니라, 이 파일에 모든 환경 변수를 설정하고 이 파일을 전체 클러스터 노드에 복사해 사용 • core-site.xml- Hadoop설치 후 로그파일, 네트워크 튜닝, I/O튜닝, 파일 시스템 튜닝, 압축 등과 같이 기본적인 하부 시스템 설정- 맵리듀스에서도 공통으로 사용 • hdlf-site.xml- Hadoop파일 시스템을 위한 설정파일로 자세한 항목은 hdfs-default.xml파일을 참고 • Masters- 세컨드리 네임 노드가 실행될 서버지정 • Slaves- 데이터 노드가 실행될 서버지정 • hadoop-metrics.properties- Hadoop에서 각 기능별(파일시스템, 맵리듀스)로 모니터링 데이터를 수집하는 방식에 대한 설정

  5. 하둡 설치 • 하둡다운로드 메인 페이지 : http://hadoop.apache.org다운로드 : http://hadoop.apache.org/core/releases.html설치 버전 : hadoop-0.20.2./conf : 환경설정 파일 존재./bin : 실행 파일 존재./logs : 로그 파일 존재./docs : 도움말 문서 존재 • 압축을 풀고 자신이 원하는 폴더로 이동tar xvzfhadoop-* 명령 이용 (* 버젼임) • 하둡 설정 파일 초기화 하기 (./ 은하둡이 설치된 폴더)./src/core/core-default.xml 의 내용을 ./conf/core-site.xml 로 붙여 넣는다../src/hdfs/hdfs-default.xml 의 내용을 ./conf/hdfs-site.xml 로 붙여 넣는다../src/mapred/mapred-default.xml 의 내용을 ./conf/mapred-sitd.xml 로 붙여 넣는다.

  6. ./conf/hadoop-env.sh 설정 (아래 내용을 추가 또는 변경한다. 아래 내용중 주석이 있는 경우 #제거)export JAVA_HOME=/usr/local/jdk1.6.0_25 export HADOOP_HOME=/hadoop/hadoop-0.20.2 export HADOOP_SLAVES=${HADOOP_HOME}/conf/slavesexport HADOOP_LOG_DIR=${HADOOP_HOME}/log참고 : jdk와 hadoop이 다른 곳에 설치 되었다면 JAVA_HOME 과 HADOOP_HOME의 값을 자신이 설치된 경로로 바꾸어주면된다. • ./conf/core-site.xml (아래의 속성 값을 찾아아래와 같이 변경한다.)<property><name>fs.default.name</name><value>hdfs://master:9000</value><description>The name of the default file system. Either the literal string"local" or a host:port for NDFS.</description></property><property><name>hadoop.tmp.dir</name><value>/hadoop/tmp</value><description>A base for other temporary directories.</description></property>참고 : 속성 값에 지정한 경로의 실제 폴더가 없어도 하둡실행시 자동으로 폴더가 생성되므로 폴더를 미리 만들 필요는 없다.fs.default.name : name 서버 경로hadoop.tmp.dir : 하둡의 모든 데이터 저장과 임시 공간에 대한 최상위 경로

  7. ./conf/hdfs-site.xml (아래의 속성 값을 찾아 아래와 같이 변경한다.)<property><name>dfs.name.dir</name><value>/hadoop/name</value></property><property><name>dfs.data.dir</name><value>/hadoop/data</value></property>참고 : dfs.name.dir : 파일의 디렉토리 정보와 파일 정보 등을 저장하는 폴더dfs.data.dir : 하둡 파일 시스템에 저장되는 모든 파일이 저장되는 위치 • /conf/mapred-site.xml (아래의 속성 값을 찾아 아래와 같이 변경한다.) <property><name>mapred.job.tracker</name><value>master:9001</value><description>The host and port that the MapReduce job tracker runs at. If"local", then jobs are run in-process as a single map andreduce task.</description></property>

  8. <property><name>mapred.map.tasks</name><value>2</value><description>define mapred.map tasks to be number of slave hosts</description></property> <property><name>mapred.reduce.tasks</name><value>2</value><description>define mapred.reduce tasks to be number of slave hosts</description></property> <property><name>dfs.replication</name><value>1</value></property>

  9. 기타 속성들의 정보는 ./docs 의 문서들을 참조하기 바란다. • 호스트명 등록하기위에서 속성값에 사용 했던 호스트명master는 master 컴퓨터를 나타내는 호스트명으로/etc/hosts 에 명시할 수 있다.예) master ip가 222.222.222.100 이라면/etc/hosts 파일을 열어222.222.222.100 master 위내용을 추가한다.참고: /etc/hosts 에 추가된 ip는 ip대신 호스트명으로 대신 사용할 수 있다. 설정파일들에 내용 중 ip가 쓰여야 할 곳에 호스트명으로 대신 쓴다면 ip가 변경되는 상황일때 설정 파일들의 설정 값을 바꿀 필요 없이 /etc/hosts 파일에서 ip만 바꾸면 되므로 유용하다. • master, slaves 노드 추가하기./conf/masters 파일을 열어 master 컴퓨터의 ip혹은 호스트명을 입력한다.※ master 라고 입력한다. ./conf/slaves 파일을 열어 slave 컴퓨터들의 ip혹은 호스트명을 입력한다.※ ip를 입력해도 되지만 /etc/hosts에 slave 호스트명을 추가하고 호스트명을 입력하는 것도 좋은 방법이다.

  10. ssh공개키 만들기설명 : hadoop은 ssh 접속을 통하여 명령을 송신,수신한다. 공개키를 설정하지 않으면 hadoop내 ssh접속마다 패스워드를 요구하므로 공개키를 만드는 것이 편하다.ssh-keygen-t dsa -P '' -f ~/.ssh/id_dsa (공개키 만들기)cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys (공개키 복사)위 두 명령을 수행하여 생성된 파일 authorized_keys을 각 slave 컴퓨터의 ~/.ssh에 복사한다. • master , slave 컴퓨터의 hadoop설정은 동일하게 하므로 설정이 끝난 /hadoop폴더를 압축하여 각 slave 컴퓨터에 동일 위치에 복사하면 된다. • master 의 경우 - hadoopnamenode –format 명령을 수행하여 hadoop파일 시스템을 초기화한다.- start-all.sh 명령을 수행하여 hadoop데몬을 실행시킨다. • Slave 의 경우-start-all.sh 명령만 수행한다. • 참고 : hadoop설치 경로의 bin 경로를 ~/.bashrc나 /etc/profile 에 PATH 환경변수를 지정하여 사용할수 있다. (어떤 경로에서나 hadoop실행가능 아래 내용을 추가한다.)HADOOP_HOME= 하둡 설치경로export PATH=$PATH:$HADOOP_HOME/bin

  11. 설치 확인 및 명령어 • 브라우저를 띄워서 http://master:50030접속node 연결 개수 및 현재 작업이나 완료 작업 등을 확인할 수 있다. • 브라우저를 띄워서 http://master:50070접속리소스 정보를 확인할 수 있다. • stop-all.sh 명령어hadoop실행 종료 • 로그확인하둡 경로의 logs 폴더를 확인하라 • 하둡 파일 시스템 제어 명령어hadoopdfs –ls : 쉘의ls명령어와 동일hadoopdfs –mkdir <경로> : mkdir명령어와 동일hadoopdfs –rmr <경로> : rm –R 명령어와 동일hadoopdfs –put <로컬경로> <하둡 파일시스템경로> : 리눅스 파일시스템의 파일을 하둡 파일 시스템으로 전송한다.hadoopdfs –copyToLocal : 하둡파일시스템의 파일을 리눅스 파일시스템으로 전송hadoopdfs –cat <파일 경로> : cat 명령어와 동일

  12. wordcount테스트 • wordcount는 하둡에서 제공하는 예제 프로그램으로 하둡 파일 시스템의 지정 폴더내의 모든 파일의 word 개수를 구하는 프로그램이다.(hadoop-0.20.2-examples.jar d이름으로 하둡폴더내에 존재) (테스트)hadoopdfs –mkdir input 명령어로 input 폴더 생성hadoopdfs –put ~/.bashrc input 명령어로 .bashrc파일을 input 폴더로 전송hadoop jar $HADOOP_HOME/hadoop-0.20.2-examples.jar wordcount input output※ 주의 사항 : output 폴더는 만들어 놓으면 안된다. (출력) 09/02/25 19:54:32 INFO mapred.FileInputFormat: Total input paths to process : 109/02/25 19:54:33 INFO mapred.JobClient: Running job: job_200902251718_000209/02/25 19:54:34 INFO mapred.JobClient: map 0% reduce 0%09/02/25 19:54:46 INFO mapred.JobClient: map 2% reduce 0% .. .. .. ..09/02/25 19:55:58 INFO mapred.JobClient: Job complete: job_200902251718_000209/02/25 19:55:58 INFO mapred.JobClient: Counters: 1709/02/25 19:55:58 INFO mapred.JobClient: File Systems09/02/25 19:55:58 INFO mapred.JobClient: HDFS bytes read=44001529309/02/25 19:55:58 INFO mapred.JobClient: HDFS bytes written=1150389209/02/25 19:55:58 INFO mapred.JobClient: Local bytes read=4447288609/02/25 19:55:58 INFO mapred.JobClient: Local bytes written=5791906109/02/25 19:55:58 INFO mapred.JobClient: Job Counters .. .. ..

  13. 문제 해결 • JAVA 설정 • JAVA_HOME 설정은 꼭 hadoop-env.sh에 설정해 주셔야 합니다. • 무심코 ~/.bashrc나 ~/.bash_profile에만 설정하는 경우도 있는데, 그러면 동작 안함 • WARN fs.FileSystem: "master:9000" is a deprecated filesystem name. Use "hdfs://master:9000/" instead. • core-site.xml에 fs.default.name를 설정하실때 앞에 "hdfs://"를 붙이지 않은경우에발생 • slave 연결 확인(정상동작시)$ ./slaves.sh uname –a 192.168.0.101: Linux slave-02 2.6.18-53.1.4.el5vm #1 SMP Mon Mar 31 17:40:06 EDT 2008 x86_64 x86_64x86_64 GNU/Linux 192.168.0.102: Linux slave-01 2.6.18-53.1.4.el5vm #1 SMP Mon Mar 31 17:40:06 EDT 2008 x86_64 x86_64x86_64 GNU/Linux • root 계정으로 master 가 동작하지 않는다면 퍼미션 문제로 hadoopdfs실행시 문제가 생긴다 master 는 root 계정으로 실행되어야한다. • 방화벽 문제로 정상 작동 하지 않을 시에는 ufw disable 로 방화벽을 끈다. 혹은 필요 포트만 허용한다.

More Related