아 리 텐 센트 구름 hadop + spark 군집 구축 (1)

6354 단어 빅 데이터
아 리 텐 센트 구름 hadop + spark 군집 구축 (1)
linux 버 전: centos 7
hadop 버 전: 3.1.1
손 에 학생 기 가 세 대 있 는데 전혀 움 직 이지 않 았 습 니 다. 하 나 는 아 리 클 라 우 드 서버 이 고 두 대 는 텐 센트 클 라 우 드 입 니 다.
아 리 클 라 우 드 로 namenode 를 만 들 고 텐 센트 클 라 우 드 로 datanode 를 만 듭 니 다.
목 표 는 hdfs 와 yarn 을 잘 타고 뒤에 spark 와 hive 를 타 는 것 이다.
  • 패 키 지 를 업데이트 하고 다운로드 합 니 다.jdk 버 전 을 설치 하 는 것 은 1.8.0
    $ sudo yum -y update
    $ sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel.x86_64 net-tools rsync mlocate wget vim gcc zlib-dev openssl-devel sqlite-devel bzip2-devel python-devel 
    입 니 다. 여기 서 yum 을 통 해 설 치 된 jdk 경 로 는 기본적으로 / usr / lib 에서 찾 는 방법 입 니 다.
    $ whereis java  
    (  java: /usr/bin/java /usr/lib/java /etc/java....)
    $ ll /usr/bin/java  
    (  /usr/bin/java -> /etc/alternatives/java,    )
    $ ll /etc/alternatives/java 
    (  /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre/bin/java)
    시스템 에 여러 버 전의 jdk 가 있 을 수 있 기 때문에 /etc/alternatives/java 소프트 링크 는 실제 사용 하 는 jdk 버 전 을 지정 하 는 데 사 용 됩 니 다./usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64 바로 설 치 된 위치 입 니 다.
  • 안전 규칙 설정 (namenode 대상) 에 아 리 클 라 우 드 가 안전 팀 규칙 에 가입 하고 학습 용 이기 때문에 규칙
        : 1/65530      :0.0.0.0/0 
  • 을 직접 가입 합 니 다.
  • 방화벽 닫 기
    $ sudo systemctl stop firewalld.service 
    $ sudo systemctl disable firewalld.service
  • hosts 파일 수정, 여기 주의!아 리 클 라 우 드 namenode, hosts 는 다음 과 같 습 니 다.
    111.**.**.*8   slave1  (              IP)
    134.**.**.*16  slave2  (              IP)
    192.**.*.*12   master  (              IP)
    텐 센트 클 라 우 드 의 데이터 node 두 대, hosts 는 다음 과 같 습 니 다.
    39.**.2**.*2 master    (              IP)
    172.**.*.9 slave1      (              IP)
    172.**.*.7 slave2       (              IP)
  • 새 사용 자 를 만 들 고 권한 을 부여 합 니 다
    $ adduser hadoop
    $ passwd hadoop
    (  hadoop     )
    $ su hadoop
    이 때 루트 신분 에서 hadop 으로 전환 합 니 다.
  • ssh 를 설정 하여 모든 기계 에 로그 인하 지 않 고 공개 키 를 생 성 합 니 다. namenode 는 자신의 공개 키 를 두 개의 datanode 에 복사 합 니 다.datanode 는 자신의 공개 키 를 namenode 에 복사 하고 신뢰 할 수 있 는 공개 키 정 보 를 파일 에 기록 합 니 다.
  • hadop 을 다운로드 하고 압축 을 풀 며 필요 한 폴 더 만 들 기
    $ curl -O https://www-us.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
    $ mkdir hadoop
    $ tar -zxvf hadoop-3.1.1.tar.gz -C ~/hadoop/
    $ cd hadoop/hadoop-3.1.1
    
    
    $ mkdir tmp & mkdir dfs
    $ cd dfs
    $ mkdir data & mkdir name
  • 설정 파일 과 환경 변 수 는 core - site. xml, hdfs - site. xml, yarn - site. xml, workers, hadop - env. sh 를 설정 합 니 다. 
  • core-site.xml
    
        
            fs.defaultFS
            hdfs://master:9000/
        
        
             hadoop.tmp.dir
            /home/hadoop/hadoop/hadoop-3.1.1/tmp/
        
    
  • hdfs-site.xml
    
        
            dfs.namenode.name.dir
            /home/hadoop/hadoop/hadoop-3.1.1/dfs/name
        
        
            dfs.datanode.data.dir
            /home/hadoop/hadoop/hadoop-3.1.1/dfs/data
        
        
            dfs.http.address
            0.0.0.0:50070
        
        
            dfs.namenode.secondary.http-address
            master:9001
        
        
        dfs.webhdfs.enabled
        true
        
    
  • yarn-site.xml
    
         
             yarn.resourcemanager.hostname
            master
        
        
            yarn.resourcemanager.webapp.address
            master:8088
        
        
            yarn.nodemanager.aux-services
            mapreduce_shuffle
        
    
  • hadop - env. sh 54 번 째 줄 에 JAVAHOME 변수.
    # The java implementation to use. By default, this environment
    # variable is REQUIRED on ALL platforms except OS X!
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
  • workers
    slave1
    ​
    slave2

  • 다음은 / etc / profile. d 에 두 개의 스 크 립 트 /.ssh/authorized_keysjdk-1.8.sh 를 새로 만 듭 니 다.
  • jdk-1.8.sh
    # !/bin/sh
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64
    export JRE_HOME=${JAVA_HOME}/jre
    export PATH=${JRE_HOME}/bin:$PATH
    (  java  $JAVA_HOME/jre/bin   ,  PATH   $JAVA_HOME  $JRE_HOME)
  • hadoop-3.1.1.sh
    #!/bin/sh
    export HADOOP_HOME="/home/hadoop/hadoop/hadoop-3.1.1"
    export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
  • $ source /etc/profile 
    이렇게 하면 서버 가 시 작 될 때마다 이 두 스 크 립 트 를 자동 으로 실행 하고 관련 환경 변 수 를 설정 합 니 다.
  • hdfs 를 포맷 하고 (namenode 에서)
    $ hdfs namenode -format
    $ start-all.sh
    
    을 시작 하면 namenode 에서 jps 명령 을 실행 하면 4 개의 프로 세 스 가 표 시 됩 니 다.
    $ jps
    11270 SecondaryNameNode
    26747 Jps
    11052 NameNode
    11487 ResourceManager
    datanode 에서 jps 명령 을 실행 하면 3 개의 프로 세 스 가 표 시 됩 니 다.
    $ jps
    18468 DataNode
    23029 Jps
    18605 NodeManager
    namenode 네트워크 에 접근 하 는 8088 포트, Active Nodes 는 2 로 표 시 됩 니 다.namenode 네트워크 의 50070 포트 에 접근 하여 완료 하 였 습 니 다.

  • namenode 나 datanode 가 시작 할 때 문제 가 발생 하면 해당 하 는 기 계 를 사용 하여 hadop 디 렉 터 리 에 있 는 logs 폴 더 에 들 어가 로그 정 보 를 보고 로그 정보 에 따라 문 제 를 해결 합 니 다.
    질문 하나 주의:
    만약 당신 이 여러 번 hadoop-3.1.1.sh 을 실행 했다 면, datanode 가 성공 적 으로 시작 되 지 못 하 는 상황 이 발생 할 것 입 니 다. 이때 50070 페이지 의 Live Nodes 는 0, 8088 페이지 는 2 입 니 다.
    이 명령 은 hadop 디 렉 터 리 아래 hdfs namenode -format 의 데 이 터 를 비 웠 지만 datanode 에 대해 서 는 없 었 기 때문에 버 전이 번호 에 맞지 않 았 습 니 다. 해결 방법 은 datanode 의 dfs/data 데 이 터 를 삭제 하고 다시 시작 하 는 것 입 니 다.namenode 의 format 명령 을 마음대로 실행 하지 마 십시오.

    좋은 웹페이지 즐겨찾기