hadoop 완전 분포식 모드의 설치 및 설정 절차
hadoop 완전 분포식 모드의 설치 및 설정 절차
태그: Hadoop
[TOC]
본고는 입문 강좌로hadoop-1.2.1을 예로 들어hadoop의 완전 분포식 배치와 설정 절차를 소개한다.
실험 조건:
구성 단계
0. 압축 해제 다운로드
다운로드:
wget https://dist.apache.org/repos/dist/release/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
스트레스 해소: tar xzvf hadoop-1.2.1.tar.gz
1. hosts 파일과hadoop-env를 설정합니다.sh 파일
root@RfidLabMaster:/etc# cat hosts
127.0.0.1 localhost
127.0.1.1 localhost.localdomain localhost
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
#10.116.155.242 iZ945z9p7yxZ
#10.116.155.242 RfidLabMaster
120.25.162.238 RfidLabMaster
120.27.138.14 RfidLabSlave1
120.27.137.211 RfidLabSlave2
env |grep JAVA_HOME
표시:
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_60
hadoop-env를 편집합니다.sh: vim hadoop-env.sh
찾기
export JAVA_HOME
, 삭제#
주석을 본 컴퓨터로 변경export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_60
2.ssh 구성
2.1.brian 사용자로 로그인하여 brian 홈 디렉터리에서 루트 디렉터리에 들어가기 위한 작업을 진행합니다.
cd /root
키 생성: ssh-keygen -t rsa
cd .ssh
cp id_rsa.pub authorized_keys
2.2 ssh 키를 나누어 각 노드의 authorized_keys의 내용을 상대방의 이 파일에 복사하면 비밀번호 없이 서로 ssh가 연결되어 모든 노드를 authorized_keys의 내용을 복사하여 큰 파일을 만들고 이 새로운 authorized_keys는 모든 노드의 원래 파일을 덮어씁니다.3. conf 디렉토리에서 core-site를 편집합니다.xml,hdfs-site.xml,mapred-site.xml 세 개의 핵심 프로필
탭에 추가됨:
fs.default.name
hdfs://RfidLabMaster:9000
hadoop.tmp.dir
/home/brian/hadoopdir/tmp
탭에 추가됨:
dfs.name.dir
/home/brian/hadoopdir/name #hadoop name
dfs.data.dir
/home/brian/hadoopdir/data
dfs.replication
2
탭에 추가됨:
mapred.job.tracker
hdfs://RfidLabMaster:9001
mapred.local.dir
/home/brian/hadoopdir/local
4. 마스터와 슬레이브 파일 수정
conf/masters
RfidLabMaster
conf/slaves
RfidLabSlave1
RfidLabSlave2
5. 각 노드에hadoop 복사
scp -r ./hadoop-1.2.1 RfidLabSlave1:/home/brian
6. 포맷 분산 파일 시스템
hadoop 디렉터리에 입력
bin/hadoop namenode -format
7. 수호 프로세스 시작
hadoop 디렉터리에 입력
bin/start-all.sh
결과
마스터 노드
brian@RfidLabMaster:~/hadoop-1.2.1/logs$ jps
26721 JobTracker
26449 NameNode
26889 Jps
26633 SecondaryNameNode
노드에서
brian@RfidLabSlave1:~$ jps
20402 Jps
20204 DataNode
20302 TaskTracker
ERROR 및 예외가 없는 로그 파일 보기
당면한 문제
1. [mater 로그 이상]:hadoop/hdfs/name is in an inconsistent state: storage directory (hadoop/hdfs/data/)does not exist or is not accessible
2. [slave 로그 이상]: Hadoop:java.io.IOException: Call to failed on local exception: java.io.EOFException
문제1과 2: 분포식 파일 시스템을 먼저 포맷하는 것을 잊어버린 것 같습니다. [문제2] [문제1]의 연결 문제인 것 같습니다. [6. 분포식 파일 시스템 포맷 참조]
3. [slave log 이상]: ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in
문제3: 포맷 후 ID 충돌을 반복하는 문제인 것 같습니다. 위의 두 링크는 여러 가지 해결 방법이 있습니다. 버전 파일에서 ID를 바꾸는 것은 무엇입니까? 가장 간단한 것은 파일에서 직접 삭제하는 것 같습니다.conf 디렉터리에서 core-site를 편집합니다.xml,hdfs-site.xml,mapred-site.xml 세 개의 핵심 프로필에 관련된 폴더
4. [master log]: ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:brian cause:java.io.IOException: File/home/brian/hadoop_dir/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
문제4: 내가 이전에 설정한 것에 문제가 있었는지 다시 설정한 다음에 [문제3]에서 삭제한 파일에 따라 해결했다
hadoop에서 발생할 수 있는 오류를 보충합니다.
연락처 작성자
저자 더 많은 글: @brianway
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LVS---5. 단일 노드 LVS 활성화 - LVS 배포 성공 여부 확인keepalived는 업무 서버와 두 대의 물리기에 속한다 앞에 설정한 IP와 같은 네트워크 접근 요청을 만듭니다 우리가 방문이 성공하지 못한 것을 발견했을 때, 오류 정보를 보십시오 해결 방법: 같은 네트워크 구간...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.