Hadoop 2.2.0 (yarn) 컴 파일 배치 매 뉴 얼

22428 단어 hadoop2
Created on 2014-3-30URL : http://www.cnblogs.com/zhxfl/p/3633919.html @author: zhxfl
 
 
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/
 

좋은 웹페이지 즐겨찾기