의사 분산 모드 설치 하둡

하둡 소개

데이터 및 스토리지 많은 양의 분산 처리를위한 클러스터 소프트웨어 프레임 워크의 사용은 아파치 재단의 하둡 분산 시스템 인프라입니다 개발. 사용자가 쉽게 개발할 수 있습니다 및 응용 프로그램을 실행은 하둡 클러스터에 방대한 양의 데이터를 처리. 높은 신뢰성, 확장 성, 높은 효율, 높은 내결함성 이점을 하둡. 프레임 워크의 핵심은 하둡 HDFS와 맵리 듀스를 설계되었습니다. HDFS은 대량의 데이터의 저장, MapReduce의 매스 데이터의 산출에 제공된다 제공한다. 또한 하둡 또한 하이브 HBase를, 사육사, 돼지, 브로, Sqoop을, 수로, 두싯 다른 프로젝트를 포함한다.

하둡 동작 모드는 세 가지로 구분된다 本地运行模式: 종류 伪分布运行模式, 完全分布运行模式.

  1. 지역 모드 (로컬 모드)

    이 작동 모드는 분산 파일 시스템 HDFS하지 않고, 하나의 시스템에서 실행하지만, 직접 읽고 기본 운영 체제 파일 시스템을 작성합니다. 데몬, 로컬 동작 모드 (로컬 모드)에 존재하지 않는 모든 프로세스는 JVM에서 실행된다. 독립형 모드 패턴을 사용한 최소 인 MapReduce의 프로그램 개발 단계를 실행하기에 적합하다.

  2. 의사 분산 모드

    이 작동 모드는 완전히 독립 실행 형 배포, 단일 서버에 모델 시뮬레이션의 하둡 분산되어 진정으로 분산되지 않고 분산 시뮬레이션 스레드의 사용. 이 모드에서는 모든 데몬 (네임 노드, 데이터 노드, ResourceManager에, NodeManager, SecondaryNameNode)가 동일한 시스템에서 실행된다. 더미 동작 모드 분포 하둡 클러스터 한 노드 때문에, HDFS 블록 사본 세컨더리 마스터와 슬레이브는 로컬 호스트에서 실행되는 단일 복사본에 한정 될 것이다. 이 모델에 추가 정말 분산되지에서의 프로그램 실행 로직을 완전히 유사한 완전히 분산, 따라서 일반적으로 개발자 테스트 프로그램 실행에 사용됩니다. 실험은 서버에 분산 된 의사 패턴을 구축하기 위해 실시된다.

  3. 완전 분산 모드

    이 모델은 일반적으로 프로덕션 환경에서 사용되는, N 호스트의 사용은 하둡 클러스터를 구성, 하둡 데몬의 각 호스트가 실행 중입니다. 다음은 호스트 네임 노드 실행, 데이터 노드가 호스트를 실행하고 호스트 SecondaryNameNode 실행이있을 것이다. 완전히 분산 된 환경에서, 상기 마스터 노드의 노드로부터 분리된다.

실험 환경

우분투 리눅스 4.14

설치 단계

새 사용자 및 사용자 그룹을 생성

此步为可选项, 그것은 새로운 사용자 및 사용자 그룹을 생성하는 것이 좋습니다, 후속 작업은 작업을 아래로 사용자에 기본적으로 있습니다. 그러나, 사용자는 현재의 루트가 아닌 사용자로 작동 할 수있다.

  1. zhangyu라는 이름의 사용자를 작성하고, 같은 이름의 zhangyu으로 기본 사용자 그룹을 생성 할이 시간에이 사용자에 대한 홈 디렉토리를 생성합니다.

    sudo useradd -d /home/zhangyu -m zhangyu
  2. 사용자 zhangyu에 대한 암호를 설정

    sudo passwd zhangyu
  3. zhangyu 사용자 권한은 sudo는 슈퍼 사용자 수준으로 업그레이드

    sudo usermod -G sudo zhangyu
  4. 사용자로 전환 후속 작업 zhangyu를 완료

    su zhangyu

SSH 비밀번호없이 로그인 구성

SSH 암호없이 로그인 서버에서 다음 명령을 수행 공개 키와 개인 키 쌍을 생성하는 데 필요한

참고 :이 시점에서 주요 요구 사항은 배치 SSH 암호입니다 및 암호를 입력 콜론, 이후 여러 입력 알림 텍스트가있을 것입니다. 여기에, 그냥 기본값을 사용, Enter 키를 누르십시오.

ssh-keygen -t rsa

이 때, SSH 공개 및 비밀 키 생성이 완료하고 ~ / 스푸핑 디렉토리에 방치한다. ~ / 스푸핑 디렉토리에서의 authorized_keys를 빈 텍스트, 전화를 만들; id_rsa.pub 공개 키 파일과의 authorized_keys에 추가 된 내용을 저장하는 ~ / 스푸핑 디렉토리로 전환합니다.

cd ~./.ssh
touch ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

올바르게 구성되어 다음 테스트 ssh를 ssh를 로컬 호스트 수행 (SSH 액세스 시간을 사용하여 연결을 생각 나게하는 것)

ssh localhost

환영 문을 사용하여 SSH 로그인 암호가없는 구성 밖으로 콘솔 인쇄에 성공하면, 다음 암호를 입력 할 필요가 없습니다, ssh를 로컬 호스트를 다시 실행합니다.

하둡 설치

설치 전 준비

응용 프로그램 및 데이터 : 첫째, 두 개의 디렉토리를 생성합니다. 액션은 두 개의 디렉토리입니다 : / 설치 프레임을 저장하는 데 사용 apps 디렉토리, / data 디렉토리는 임시 데이터는 HDFS 데이터, 프로그램 코드 나 스크립트를 저장하는 데 사용.

sudo mkdir /apps
sudo mkdir /data

그리고 / 응용 프로그램 및 / 데이터 디렉토리 zhangyu 스위치 사용자가 속한 사용자 그룹 zhangyu입니다

sudo chown -R zhangyu:zhangyu /apps
sudo chown -R zhangyu:zhangyu /data

루트 디렉토리에서 수행 ls -lzhangyu, 사용자 및 사용자 그룹 성공적인 핸드 오버를 : 명령, 루트 디렉토리 / 애플리케이션 및 / data 디렉토리는 사용자에 속하는 그룹이 zhangyu 전환 된 경우를 참조하십시오.

Java 및 하둡 환경을 구성

  1. 이러한 설치 패키지 JDK는 JDK-7u75-리눅스 x64.tar.gz 설치 패키지와 하둡 하둡-2.6.0-cdh5.4.5.tar.gz 같은 관련 설치 도구를 저장하는 데 사용 / 데이터 / hadoop1 디렉토리를 만듭니다.

    mkdir -p /data/hadoop1
  2. 변경 디렉토리 / 데이터 / hadoop1 디렉토리, wget을 명령을 사용하여 필요한 설치 패키지 하둡 JDK-7u75-리눅스 x64.tar.gz 및 하둡-2.6.0-cdh5.4.5.tar.gz을 다운로드합니다.

    cd /data/hadoop1
    wget http://59.64.78.41:60000/allfiles/hadoop1/jdk-7u75-linux-x64.tar.gz  
    wget http://59.64.78.41:60000/allfiles/hadoop1/hadoop-2.6.0-cdh5.4.5.tar.gz
  3. 설치 JDK. 디렉토리 압축 / 데이터 / hadoop1 아래 JDK-7u75-리눅스 x64.tar.gz 용액 / 디렉토리 앱. (여기서는 타르 디렉토리 앱 / -C가로 파일을 지정 추출하고, 파일의 압축을 풀고 -xzvf)

    tar -xzvf /data/hadoop1/jdk-7u75-linux-x64.tar.gz -C /apps

    , apps 디렉토리 / 다음 전환 디렉토리 jdk1.7.0_75 자바의 이름을 변경

    mv /apps/jdk1.7.0_75/  /apps/java

    시스템 환경 변수 또는 사용자 환경 변수의 환경 변수를 수정할 수 있습니다. 우리는 사용자 환경 변수를 수정하기 위해 여기에 있습니다. 파일 스토리지 환경 변수를 엽니 다 (.bashrc에). 빈 라인, 자바 환경 변수, 사용자 환경에 추가 변수.

    # java
    export JAVA_HOME=/apps/java
    export PATH=$JAVA_HOME/bin:$PATH

    환경 변수는 즉시 적용 할 수 있도록

    source ~/.bashrc

    소스 명령 실행, 그래서 자바 환경 변수를 적용합니다. 완료 후에는 자바를 입력 할 수 있습니다, 테스트 환경 변수가 올바르게 구성되어있다.

  4. 하둡 설치 다음 / 데이터 / hadoop1 디렉토리로 스위칭 솔루션에 압축 하둡 2.6.0-cdh5.4.5.tar.gz은 / 디렉토리 앱.

    cd /data/hadoop1  
    tar -xzvf /data/hadoop1/hadoop-2.6.0-cdh5.4.5.tar.gz -C /apps/

    작업의 용이성을 위해, 우리는 하둡-2.6.0-cdh5.4.5이됩니다 하둡 이름을 바꿉니다.

    mv /apps/hadoop-2.6.0-cdh5.4.5/ /apps/hadoop

    사용자의 환경 변수를 수정 하둡 경로에 경로를 추가합니다. 먼저 오픈 사용자 환경 변수 (.bashrc에) 파일 하둡 환경 변수는 환경 변수 설정 파일에 추가.

    sudo vim ~/.bashrc
    # 将下列内容写在.bashrc文件中
    #hadoop  
    export HADOOP_HOME=/apps/hadoop  
    export PATH=$HADOOP_HOME/bin:$PATH

    환경 변수는 즉시 적용 할 수 있도록

    source ~/.bashrc

    하둡의 버전 정보를 알아 정상적인 인쇄 구성이 올바른지 나타내는 경우 하둡 환경을 확인 변수 구성은 정상입니다.

    hadoop version

일부 구성을 수정 자체 하둡

파일 hadoop-env.sh을 편집

, 하둡 구성 디렉토리로 전환 파일 hadoop-env.sh을 편집

cd /apps/hadoop/etc/hadoop
vim /apps/hadoop/etc/hadoop/hadoop-env.sh

다음 JAVA_HOME의 hadoop-env.sh 파일에 추가.

export JAVA_HOME=/apps/java
편집 핵심-site.xml 파일

오픈 코어를 site.xml 구성 파일

vim /apps/hadoop/etc/hadoop/core-site.xml

상기 <구성>와 </ 구성> 태그 사이에 다음을 추가 배치

<property>  
    <name>hadoop.tmp.dir</name>  
    <value>/data/tmp/hadoop/tmp</value>  
</property>  
<property>  
    <name>fs.defaultFS</name>  
    <value>hdfs://0.0.0.0:9000</value>  
</property>

항목 설명 :

  • hadoop.tmp.dir, 하둡 구성 프로세스, 임시 파일의 저장 위치. 다음 디렉토리 / 데이터 / tmp를 / 하둡은 / tmp를 사전에 작성해야합니다입니다
  • fs.defaultFS는 하둡 HDFS 파일 시스템 주소를 구성
편집 HDFS-사이트, XML 파일

열기 HDFS-site.xml의 구성 파일

vim /apps/hadoop/etc/hadoop/hdfs-site.xml

상기 <구성>와 </ 구성> 태그 사이에 다음을 추가 배치

<property>  
    <name>dfs.namenode.name.dir</name>  
    <value>/data/tmp/hadoop/hdfs/name</value>  
</property>  
 <property>  
     <name>dfs.datanode.data.dir</name>  
     <value>/data/tmp/hadoop/hdfs/data</value>  
 </property>  
 <property>  
     <name>dfs.replication</name>  
     <value>1</value>  
 </property>  
 <property>  
     <name>dfs.permissions.enabled</name>  
     <value>false</value>  
 </property>

항목 설명 :

  • dfs.namenode.name.dir, 메타 데이터의 구성 저장 위치 정보
  • dfs.datanode.data.dir 특정 구성 데이터 저장 장소
  • 2로 설정하면 그가 1로 설정되도록 dfs.replication이 때문에 우리가 하나를 사용하는 현재 노드에 각각의 백업 데이터베이스를 구성하고 실행하는 불평 할 것이다
  • dfs.replications.enabled는 인증 기관 HDFS를 사용할지 여부를 구성

또한 / 데이터 / tmp를 / 하둡 / 경로가 사전에 작성해야 HDFS, 그래서 우리는 수행해야

mkdir -p /data/tmp/hadoop/hdfs
편집 노예 파일

열기 노예 프로필

vim /apps/hadoop/etc/hadoop/slaves

클러스터 슬레이브 역할 노드의 호스트 이름, 노예 파일을 추가합니다. 현재, 하나 개의 노드, 파일의 노예 내용 때문에 :

localhost

다음 형식 HDFS 파일 시스템은 실행 :

hadoop namenode -format

다음 / 응용 프로그램 / 하둡 / sbin 디렉토리로 디렉토리를 변경, 하둡 HDFS 관련 프로세스를 시작합니다

cd /apps/hadoop/sbin/
./start-dfs.sh

터미널에 jps있는 경우 명령, HDFS 관련 프로세스가 시작되어 볼 수 있습니다 Datanode, NameNode, SecondaryNameNode, Jps이 말은, 관련 지침 HDFS 프로세스가 시작되었습니다.

HDFS의 다음 확인 작업 상태

HDFS에 디렉토리를 작성

hadoop fs -mkdir /myhadoop1

디렉토리를 확인하려면 다음 명령을 실행하여 성공적으로 생성

hadoop fs -ls -R /
구성 맵리 듀스

프로파일 디렉토리 하둡로 전환

cd /apps/hadoop/etc/hadoop

맵리 듀스 프로필 mapred-site.xml.template, mapred-site.xml의 이름을 변경

mv /apps/hadoop/etc/hadoop/mapred-site.xml.template  /apps/hadoop/etc/hadoop/mapred-site.xml
mapred-site.xml 파일을 편집
vim /apps/hadoop/etc/hadoop/mapred-site.xml

구성의 MapReduce <구성> 태그 사이에 추가

<property>  
    <name>mapreduce.framework.name</name>  
    <value>yarn</value>  
</property>

여기서 태스크 처리 프레임의 MapReduce 사용 지정 -> 얀

편집 원사-site.xml 파일
vim /apps/hadoop/etc/hadoop/yarn-site.xml

얀 구성 <구성> 태그 사이에 추가

<property>  
    <name>yarn.nodemanager.aux-services</name>  
    <value>mapreduce_shuffle</value>  
</property>

원사를 시작합니다

시작 디렉토리 하둡으로 전환,의는 관련 프로세스의 수준을 계산하기 시작하자

cd /apps/hadoop/sbin/

원사를 시작하는 명령을 실행

./start-yarn.sh

터미널에 jps있는 경우 명령 프로세스가 시작됩니다 HDFS 관련 볼 수 Datanode, NameNode, SecondaryNameNode, Jps, ResourceManager, NodeManager이 말은, 프로세스가 이미 관련 지침 HDFS를 시작했다

하둡 테스트 실행

다음 / 응용 프로그램 / 하둡 / 주 / 하둡 / 맵리 듀스 디렉토리로 전환

cd /apps/hadoop/share/hadoop/mapreduce

카탈로그에서 프로그램을 실행 맵리 듀스, 감지하는 것을 하둡 정상 작동하는 경우

hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.4.5.jar pi 3 3

이 프로그램은 PI의 값의 수학적 연산이다. 물론, 데이터의 정확성을 고려하지 않고 첫 번째 서비스를 제공합니다.

프로그램의 PI 값 하둡 설치된 구성을 나타내는을 계산할 수있는 경우.

추천

출처www.cnblogs.com/finlu/p/11583783.html