Hadoop 클러스터 구축 프로세스
21228 단어 Hadoop
Hadoop 클러스터 설치
이 글은 주로 Hadoop 집단을 구축하는 과정을 소개했다.
첫 번째 서버 구성
주 노드 (master) 두 개의 하위 노드 (slaver)
세 노드의 호스트 이름을 구성합니다.
vi 편집기를 사용하여 파일을 편집하려면 다음과 같이 하십시오.
vi /etc/sysconfig/network
다음을 추가합니다.
NETWORKING=yes
HOSTNAME=master
NETWORKING=yes
HOSTNAME=slaver1
NETWORKING=yes
HOSTNAME=slaver2
hosts 설정: 주 노드의 hosts 파일을 열고 파일의 앞줄 두 줄을 주석하고 (현재 호스트의 정보를 주석) 파일에hadoop 집단의 호스트 정보를 추가합니다.
vi /etc/hosts
192.168.175.200 master
192.168.175.201 slaver1
192.168.175.202 slaver2
저장한 후 주 노드의 호스트를 다른 두 개의 하위 노드로 복사합니다
scp /etc/hosts root@192.168.175.201:/etc/
scp /etc/hosts root@192.168.175.202:/etc/
그리고 각각 실행합니다(리셋 서버는 다음 문장을 실행하지 않아도 됩니다).
/bin/hostsname hostsname
. 예를 들어 마스터에서 실행합니다/bin/hostsname master
.암호 없는 SSH 액세스 구성
rpm -qa|grep ssh
ssh가 설치되었는지 확인하고, 설치되지 않았으며, 실행yum install openssh-server
할 수 있음ssh-keygen -t rsa
하고 키를 생성합니다. 실행이 끝난 후 각 노드의/root/.ssh/디렉터리에 두 개의 파일이 생성됩니다:id_rsa 및 id_rsa.pub, 그 중에서 전자는 개인 키이고, 후자는 공개 키이다.마스터에서 실행: cp id_rsa.pub authorized_keys
마스터에서 authorized_ 생성키 파일, 마스터 노드의 공개 키를 포함합니다.scp /root/.ssh/ id_rsa.pub root@master:/root/.ssh/id_rsa_slaver1.pub
scp /root/.ssh/ id_rsa.pub root@master:/root/.ssh/id_rsa_slaver2.pub
그리고 마스터에서 복사된 두 개의 키를 authorized_keys 파일에서 마스터로 실행:
cat id_rsa_slaver1.pub>> authorized_keys
cat id_rsa_slaver2.pub>> authorized_keys
이때 마스터의 authorized_keys 파일에는 모든 노드의 공개 키가 포함되어 있으며, 이 파일을 각 하위 노드로 복사합니다.ssh/디렉터리에서 각 노드 간의 암호 없는 접근을 실현할 수 있습니다.마스터에서 scp 명령으로 authorized_keys 파일을 하위 노드의 상응하는 위치로 복사
scp authorized_keys root@slaver1:/root/.ssh/
scp authorized_keys root@slaver2:/root/.ssh/
테스트: 주 노드에서 실행
ssh slaver1
하면slaver1 노드로 이동할 수 있는지 확인JDK 설치
rpm -qa|grep jdk
rpm -e --nodeps java-1.6.0-openjdk-javadoc-1.6.0.0-1.66.1.13.0.el6.x86_64
/opt/java/jdk1.7.0_72
JDK 압축해제 다운로드 JDK: tar -zxvf /opt/java/jdk-7u72-linux-x64.gz
구성 환경 변수, 프로필 파일 편집: vi /etc/profile
프로필 파일 끝에 다음 코드를 추가합니다.
export JAVA_HOME=/opt/java/jdk1.7.0_72
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
저장하면 방금 편집한 파일이 적용됩니다.
source /etc/profile
설치 여부 테스트:
java –version
hadoop 설치
마스터 호스트에hadoop 설치 위치를 설정합니다. 예를 들어/usr 디렉터리에 설치하여hadoop 패키지를 다운로드하고/usr 디렉터리에 설치하여hadoop 압축을 풀습니다.
tar -zxvf /opt/hadoop/hadoop-2.6.4.tar.gz
usr 아래에 hadoop-2.6.4 디렉터리 구성 환경 변수를 생성합니다.
vi /etc/profile
끝에 추가:
export HADOOP_HOME=/usr/ hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin
저장한 후 새로 편집한 프로필을 적용합니다.
source /etc/profile
hadoop 설정
hadoop 프로필을 설정하려면 설정해야 할 파일의 위치는/hadoop-2.6.4/etc/hadoop입니다. 수정해야 할 것은 다음과 같습니다.
hadoop-env.sh yarn-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves 그중hadoop-env.sh와 yarn-env.sh에 jdk의 환경 변수를 추가해야 합니다.
hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/opt/java/jdk1.7.0_72
--------------------------------------
( , )
# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol. Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}
yarn-env.sh
# User for YARN daemons
export HADOOP_YARN_USER=${HADOOP_YARN_USER:-yarn}
# resolve links - $0 may be a softlink
export YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}"
# some Java parameters
export JAVA_HOME=/opt/java/jdk1.7.0_72
--------------------------------------
( , )
core-site.xml
<configuration>
<property>
fs.defaultFS
-- master : >
hdfs://master:9000
property>
<property>
io.file.buffer.size
131072
property>
<property>
hadoop.tmp.dir
-- hadoop >
file:/usr/temp
property>
<property>
hadoop.proxyuser.root.hosts
*
property>
<property>
hadoop.proxyuser.root.groups
*
property>
configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>master:9001value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/usr/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/usr/dfs/datavalue>
property>
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
<name>dfs.webhdfs.enabledname>
<value>truevalue>
property>
<property>
<name>dfs.permissionsname>
<value>falsevalue>
property>
<property>
<name>dfs.web.uginame>
<value> supergroupvalue>
property>
configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>master:10020value>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>master:19888value>
property>
configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
<property>
<name>yarn.resourcemanager.addressname>
<value>master:8032value>
property>
<property>
<name>yarn.resourcemanager.scheduler.addressname>
<value> master:8030value>
property>
<property>
<name>yarn.resourcemanager.resource-tracker.addressname>
<value> master:8031value>
property>
<property>
<name>yarn.resourcemanager.admin.addressname>
<value> master:8033value>
property>
<property>
<name>yarn.resourcemanager.webapp.addressname>
<value> master:8088value>
property>
configuration>
slaves
slaver1
slaver2
hadoop 설치 파일을 하위 노드로 복사
마스터에서 다음을 수행합니다.
scp -r /usr/hadoop-2.6.4 root@slaver1:/usr
scp -r /usr/hadoop-2.6.4 root@slaver2:/usr
프로파일을 하위 노드로 복사
마스터에서 다음을 수행합니다.
scp /etc/profile root@slaver1:/etc/
scp /etc/profile root@slaver2:/etc/
두 개의 하위 노드에서 각각 새 프로필을 적용합니다.
source /etc/profile
주 노드 포맷namenode
마스터에서 hadoop 디렉터리에 들어가서 다음을 수행합니다.
./bin/hadoop namenode –format
새 버전은 다음 문장으로hadoop 명령을 사용하지 않습니다.
./bin/hdfs namenode –format
팁:
successfully formatted
포맷 성공hadoop 시작
마스터에서 hadoop 디렉토리에서 다음을 수행합니다.
start-all.sh
주 노드의 jps 프로세스는 다음과 같습니다.
NameNode SecondaryNameNode ResourceManager
각 하위 노드의 jps 프로세스는 다음과 같습니다.
DataNode NodeManager
프로세스가 정상적으로hadoop 집단 설정에 성공했음을 나타냅니다!
프로세스 오류:
프로세스에namenode가 없으면 다시 포맷해야 합니다. 포맷을 실행하기 전에 설정된 저장 파일의 디렉터리name와 데이터 디렉터리를 삭제해야 합니다.hdfs-site.xml에 설정된 경로: file/usr/dfs/data;file/usr/dfs/name;하위 노드의 파일 디렉터리도 삭제해야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 액세스 Hadoop 분산 파일 시스템 HDFS 구성 설명프로파일 m103은hdfs 서비스 주소로 바꿉니다. Java 클라이언트를 이용하여 HDFS의 파일을 액세스하려면 프로필hadoop-0.20.2/conf/core-site를 사용해야 합니다.xml입니다. 처음에 저는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.