hadoop-2.4.0 완전 분포식 집단 구축

7267 단어
1. hosts 설정
각 linux 버전의 hosts 파일 위치가 다를 수 있습니다. redhat은/etc/hosts에서 편집합니다.
172.17.0.1    master
172.17.0.2    resorucemanager
172.17.0.3    datanode1
172.17.0.4    datanode2
172.17.0.5    datanode3

그리고copy는 나머지 네 대의 서버에 가서 각각/bin/hostsname hostsname를 실행합니다
예를 들어 마스터에서/bin/hostsname 마스터를 실행하여 효력을 발생시킵니다.
2. ssh 구성
2.1 hadoop 사용자 만들기
주의:hadoop에는 두 가지 운행 모드, 안전 모드와 비안전 모드가 있습니다.설치 모드는 튼튼하고 신분 검증에 기반하여 실행되며, 비안전 모드에서 실행할 필요가 없으면 루트 사용자를 직접 사용할 수 있습니다.
보안 모드에서hdfs와yarn이 서로 다른 사용자로 실행되는지, 예를 들어hdfs와yarn, 그리고mapreducejobhistory 서버가usermapred로 실행되는지 확보해야 한다.이 세 명의 신분은 한 그룹의 이름인hadoop을 사용하는 것을 추천합니다.여기는 편의를 위해 직접 루트를 사용합니다.
2.2 마스터 암호 없음 ssh 서버 설정
master에서 다음을 수행합니다.
ssh-keygen -t rsa

그리고 곧장 차를 돌려서 마지막에/root/.ssh/디렉터리에 두 개의 파일 id_ 생성rsa 및 id_rsa.pub
cat id_rsa.pub > ./authorized_keys

그런 다음 다른 서버로 복사합니다. (.ssh 폴더가 없으면 수동으로 만들어야 합니다.)
scp authorized_keys resourcemanager:/root/.ssh/
scp authorized_keys datanode1:/root/.ssh/
scp authorized_keys datanode2:/root/.ssh/
scp authorized_keys datanode3:/root/.ssh/

암호 ssh가 없는지 확인하고 master 서버에서 작업을 수행합니다.
ssh master

주의: 처음에 yes or no를 입력하라는 메시지가 표시되면 ssh로 로그인할 수 있습니다.
나머지 네 개의 호스트가 암호가 없는 ssh로 로그인할 수 있는지 똑같이 검증합니다.
3. jdk와hadoop 환경 변수 설정
버전: jdk1.7.0_55 hadoop-2.4.0
다운로드 및 압축 해제
/opt/tools/jdk1.7.0_55 
/opt/hadoop-2.4.0
편집/etc/profile, 마지막에 추가
export JAVA_HOME=/opt/tools/jdk1.7.0_55
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/opt/hadoop-2.4.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH

종료를 저장하고 다음 명령을 실행하여 적용합니다
source /etc/profile

4. hadoop 설정
프로필 디렉터리는hadoop-2.4.0/etc/hadoop/
4.1 yarn-env.sh와hadoop-env.sh 파일에 jdk 경로 추가
export JAVA_HOME=/opt/tools/jdk1.7.0_55

4.2 core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
        <final>true</final>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/tmp/hadoop-${user.name}</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
</configuration>

4.3 hdfs-site.xml
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>

4.4 mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <description>Execution framework set to Hadoop YARN.</description>
    </property>
</configuration>

4.5 yarn-site.xml
<configuration>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>jobtracker:9001</value>
        <description>The address of the applications manager interface in the RM.</description>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>jobtracker:18030</value>
        <description>The address of the scheduler interface,in order for the RM to obtain the resource from scheduler</description>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>jobtracker:18025</value>
        <description>The address of the resource tracker interface for the nodeManagers</description>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>jobtracker:18035</value>
        <description>The address for admin manager</description>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>jobtracker:18088</value>
        <description>The address of the RM web application.</description>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

4.6 slaves
파일에 추가
datanode1
datanode2
datanode3

참고: 위의 프로필에 나타나는 디렉터리는 직접 만들어야 합니다.프로필을 각 서버에 복사해야 하고 서버 디렉터리 구조가 같아야 합니다.
5. hadoop 실행
노드가 시작되지 않고 오류가 발생하지 않도록 각 노드를 개별적으로 시작하는 것이 좋습니다. 시작 순서는 다음과 같습니다.
  • 포맷namenode(master):
  • hdfs namenode -format
  • namenode 시작(master):
  • /opt/hadoop-2.4.0/sbin/hadoop-daemon.sh --config /opt/hadoop-2.4.0/etc/hadoop --script hdfs start namenode
  • Datanode 시작(master):
  • /opt/hadoop-2.4.0/sbin/hadoop-daemon.sh --config /opt/hadoop-2.4.0/etc/hadoop --script hdfs start datanode
  • 리소스 관리자(resourcemanager)를 시작합니다
  • /opt/hadoop-2.4.0/sbin/yarn-daemon.sh --config /opt/hadoop-2.4.0/etc/hadoop start resourcemanager
  • nodemanager(resourcemanager)를 시작합니다
  • /opt/hadoop-2.4.0/sbin/yarn-daemon.sh --config /opt/hadoop-2.4.0/etc/hadoop start nodemanager
  • WebAppProxy Server(resourcemanager)를 시작합니다
  • /opt/hadoop-2.4.0/sbin/yarn-daemon.sh start proxyserver --config /opt/hadoop-2.4.0/etc/hadoop
  • MapReduce JobHistory Server(resourcemanager)를 시작합니다
  • /opt/hadoop-2.4.0/sbin/mr-jobhistory-daemon.sh start historyserver --config /opt/hadoop-2.4.0/etc/hadoop

    참고: 위 괄호의 내용은 어느 서버에서 명령을 실행하는지 나타냅니다.시작하기 전에 모든 서버의 방화벽이 닫혀야 합니다.
    service iptables stop

    한꺼번에 시작하려면master에서hdfs를 직접 시작하고resourcemanager에서yarn자원관리시스템을 시작합니다
  • hdfs(master)를 시작합니다
  • /opt/hadoop-2.4.0/sbin/start-dfs.sh
  • yarn(resourcemanager)을 시작합니다
  • /opt/hadoop-2.4.0/sbin/start-yarn.sh

    만약 모든 것이 순조롭다면, 각 서버에 jps를 입력하십시오
    master 디스플레이:
    30739 Jps
    9547 NameNode
    9746 SecondaryNameNode

    resourcemanager 표시:
    2917 Jps
    27910 ResourceManager

    각 datanode 표시:
    24334 Jps
    1594 NodeManager
    1027 DataNode

    이로써 완전 분포식hadoop 집단 구축에 성공했다
    Hadoop을 닫고 위에서 시작하는 순서대로 start를 stop으로 바꾸면 됩니다.

    좋은 웹페이지 즐겨찾기