복붙노트

[HADOOP] Hadoop 에코 시스템 용 호스트 파일을 구성하는 방법

HADOOP

Hadoop 에코 시스템 용 호스트 파일을 구성하는 방법

! [여기에 이미지 설명을 입력하십시오.] [1] 질문은 꽤 명백하게 보일 수 있지만, hadoop 클러스터에서 호스트 파일의 잘못된 구성으로 인해 여러 번 직면했습니다.

누구든지 호스트 파일 및 기타 관련 네트워크 구성을 hadoop 및 유사한 환경 사용법 (예 : cloudera)으로 설정하는 방법을 설명 할 수 있습니까?

특히 호스트 이름과 FQDN을 모두 추가해야하는 경우

최신 정보

다음은 호스트 이름 cdh4hdm에서 기계 중 하나의 호스트 파일이있다 hadoop 마스터의 역할

 127.0.0.1       cdh4hdm        localhost
  #127.0.1.1      cdh4hdm 

 # The following lines are desirable for IPv6 capable hosts

   172.26.43.40    cdh4hdm.imp.co.in            kdc1
   172.26.43.41    cdh4hbm.imp.co.in   
   172.26.43.42    cdh4s1.imp.co.in    
   172.26.43.43    cdh4s2.imp.co.in    
   172.26.43.44    cdh4s3.imp.co.in    
   172.26.43.45    cdh4s4.imp.co.in    

   ::1     ip6-localhost ip6-loopback
   fe00::0 ip6-localnet
   ff00::0 ip6-mcastprefix
   ff02::1 ip6-allnodes
   ff02::2 ip6-allrouters 

첨부 된 이미지를 참조하십시오.

여기 클러스터에서 일부 노드는 FQDN을 받고 일부는 호스트 이름을 얻고 있습니다.

또한 호스트 이름의 IP가 올바르지 않고 호스트 IP 대신 127.0.0.1을 표시합니다.

제안 해주세요.

해결법

  1. ==============================

    1.우분투

    우분투

    Hadoop Cluster를위한 호스트 파일 및 기타 구성

    / etc / hostname 파일에 hostname을 추가하려면 모든 클러스터 시스템에 호스트 이름을 제공하십시오.

    hostname-of-machine
    

    모든 호스트에서 hosts 파일은 다음과 같아야합니다.

    호스트

    127.0.0.1       localhost
    #127.0.1.1      localhost
    
    <ip of host>    FQDN                hostname    other_name
    172.26.43.10    cdh4hdm.domain.com  cdh4hdm     kdc1
    172.26.43.11    cdh4hbm.domain.com  cdh4hbm
    172.26.43.12    cdh4s1.domain.com   cdh4s1
    172.26.43.13    cdh4s2.domain.com   cdh4s2
    172.26.43.14    cdh4s3.domain.com   cdh4s3
    172.26.43.15    cdh4s4.domain.com   cdh4s4
    

    참고 : 127.0.1.1 localhost 라인에 주석을 달아주십시오. 그러면 사육사와 클러스터에 문제가 발생할 수 있습니다.

    /etc/resolv.conf에 DNS 서버 IP를 추가하십시오.

    resolv.conf

    search domain.com
    nameserver 10.0.1.1
    

    구성 점검 호스트 파일을 확인하고 호스트 이름으로 모든 시스템에 ping을 수행 할 수 있어야합니다.

    모든 컴퓨터에서 호스트 이름과 FQDN을 확인하려면 다음 명령을 실행하십시오.

    hostname        //should return the hostname
    hostname -f     //Fully Qualified Hostname
    hostname -d     //Domain name
    

    모든 명령은 호스트 이름을 제외하고 RHEL에서 동일합니다.

    소스 1 및 소스 2

  2. ==============================

    2./ etc / hosts 파일을 의미한다면, 여기 내 hadoop 클러스터에서 어떻게 설정 했는가?

    / etc / hosts 파일을 의미한다면, 여기 내 hadoop 클러스터에서 어떻게 설정 했는가?

    127.0.0.1       localhost
    192.168.0.5     master
    192.168.0.6     slave1
    192.168.0.7     slave2
    192.168.0.18    slave3
    192.168.0.3     slave4
    192.168.0.4     slave5  nameOfCurrentMachine
    

    여기서 nameOfCurrentMachine은이 파일이 설정된 시스템이고 slave5로 사용됩니다. 어떤 사람들은 첫 번째 줄을 제거해야한다고 말합니다. 그러나 어떤 문제에도 직면하지 않았으며 제거하지도 않았습니다.

    그런 다음 마스터 노드의 $ HADOOP_CONF_DIR / masters 파일은 다음과 같아야합니다.

    master
    

    마스터 노드의 $ HADOOP_CONF_DIR / slaves 파일은 다음과 같아야합니다.

    slave1
    slave2
    slave3
    slave4
    slave5
    

    다른 모든 노드에서이 두 파일을 다음과 같이 설정하면됩니다.

    localhost
    

    암호없이 마스터에서 다른 모든 노드로 (IP가 아닌 이름을 사용하여) ssh를 할 수 있어야합니다. 이 게시물은이를 달성하는 방법을 설명합니다.

  3. ==============================

    3.슬레이브 호스트 파일을 다음과 같이 보관하십시오.

    슬레이브 호스트 파일을 다음과 같이 보관하십시오.

    127.0.0.1 localhost
    

    마스터 호스트 파일을 다음과 같이 유지하십시오.

    private ip master
    private ip slave1
    private ip slave2
    
  4. from https://stackoverflow.com/questions/22193051/how-to-configure-hosts-file-for-hadoop-ecosystem by cc-by-sa and MIT license