Hadoop 2.2.0 (yarn) 컴 파일 배치 매 뉴 얼
22428 단어 hadoop2
Hadoop - 2.2 컴 파일
Hadoop - 2.2 는 32 비트 버 전 만 발 표 했 기 때문에 64 비트 운영 체제 라면 재 컴 파일 이 필요 합 니 다.
maven 설치
maven 을 설치 하고 설치 디 렉 터 리 를 찾 습 니 다.
sudo apt-get intall maven
Find /usr -name “*maven*”
설치 디 렉 터 리 에 환경 변 수 를 추가 합 니 다.
export M2_HOME=/usr/shared/maven
export PATH=$PATH:$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
google protobuf 설치
wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
/configure--prefix=/usr/local/protobuf
sudo make && sudo make install
sudo vim /etc/ld.so.conf [ /usr/local/lib]
ldconfig
Cmake 설치
sudo apt-get install cmake
설치 의존 라 이브 러 리
libglib2.0-dev libssl-dev
pom. xml 에 bug 가 있 습 니 다. 아래 patch 를 추가 하면 됩 니 다.
참조
Index: hadoop-common-project/hadoop-auth/pom.xml
===================================================================
--- hadoop-common-project/hadoop-auth/pom.xml (revision 1543124)
+++ hadoop-common-project/hadoop-auth/pom.xml (working copy)
@@ -54,6 +54,11 @@
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-util</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
</dependency>
컴 파일 시작:
mvn package -Pdist,native -DskipTests -Dtar
자주 발생 하 는 오류
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project hadoop-hdfs: An Ant BuildException has occured: exec returned: 1 -> [Help 1]
libglib 2.0 - dev 설치
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1 -> [Help 1]
libssl - dev 설치
[ERROR] /home/yarn/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/src/test/j ava/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java: [86,13] cannot access org.mortbay.component.AbstractLifeCycle
참조
마지막 으로 디 렉 터 리 ~ / hadop - 2.2.0 - src / hadop - dist / target 에 hadop - 2.2.0 디 렉 터 리 가 컴 파일 된 버 전 입 니 다.
Hadoop - 2.2 환경 설정
사용자 추가
노드 마다 yarn 사용 자 를 추가 합 니 다.
사용자 추가
sudo adduser yarn
사용 자 를 hadop 그룹 에 추가 합 니 다. (hadop 그룹 이 없다 면 이 그룹 을 새로 만들어 야 합 니 다)
sudo gpasswd -a yarn hadoop
yarn 사용자 에 게 sudo 권한 추가
sudo vim /etc/sudoers
다음 문장 추가
yarn ALL=(ALL:ALL) ALL
ssh 설정
마스터
sudo apt-get install openssh-server
ssh - keygen (enter 를 계속 누 르 면 됩 니 다)
~ /. ssh 디 렉 터 리 아래 id 가 있 습 니 다.rsa (비밀 키), idrsa. pub (공개 키)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost 를 입력 하여 비밀 번 호 를 입력 해 야 하 는 지 확인 하 십시오.
복사 authorizedkeys 에서 slave 1 ~ slave 3 노드 까지
scp authorized_keys yarn@slave1:~/.ssh/
scp authorized_keys https://issues.apache.org/jira/browse/HADOOP-10110
scp authorized_keys https://issues.apache.org/jira/browse/HADOOP-10110
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
salves
모두 ssh - keygen 을 실행 해 야 합 니 다.
마지막 으로 master 노드 에서 ssh slave 1 등 테스트 를 사용 합 니 다.
기타
각 노드 위 에 다음 과 같은 ip 를 추가 해 야 합 니 다.
vim /etc/hosts
219.219.216.48 master
219.219.216.47 slave1
219.219.216.45 slave2
219.219.216.46 slave3
레 퍼 런 스
yarn@slave2:~/.ssh/
프로필
hadoop-env.sh
JAVA 추가HOME 환경 변수
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
Core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/yarn/hadoop-files/tmp</value>
</property>
</configuration>
Hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/yarn/hadoop-files/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/yarn/hadoop-files/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/yarn/hadoop-files/tmp/</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
빨간색 부분 은 당신 의 실제 목록 에 따라 정 해 집 니 다.
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx1024m</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.web-proxy.address</name>
<value>master:8888</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.loacl-dirs</name>
<value>/home/yarn/hadoop-2.2.0/hadoop-files/hadoop-loacl-dirs/</value>
<final>true</final>
</property>
</configuration>
기타 설정 해 야 할 환경 변수
export M2_HOME=/usr/share/maven
export PATH=$PATH:$M2_HOME/bin:~/hadoop-2.2.0/bin
export MAVEN_OPTS="-Xms2048m -Xmx2048m"
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
export HADOOP_HOME="/home/yarn/hadoop-2.2.0"
export HADOOP_PREFIX="/home/yarn/hadoop-2.2.0"
export YARN_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop/
export YARN_CONF_DIR=$HADOOP_CONF_DIR
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export SCALA_HOME=/usr/share/scala/
export PATH=$SCALA_HOME/bin/:$PATH
테스트
파일 사용자 그룹 속성 변경
./hdfs dfs -chgrp -R yarn
./hdfs dfs -mkdir /yarn
이렇게 하면 Yrn 폴 더 는 사용자 Yrn 의 것 입 니 다.
컴 파일 및 제출 작업 오류 참조:
yarn@slave3:~/.ssh/