복붙노트

[HADOOP] Hadoop : 클러스터에 여러 IP 주소 바인딩 NameNode

HADOOP

Hadoop : 클러스터에 여러 IP 주소 바인딩 NameNode

Softlayer에 4 노드 Hadoop 클러스터가 있습니다. 마스터 (NameNode)에는 외부 액세스를위한 공용 IP 주소와 클러스터 액세스를위한 개인 IP 주소가 있습니다. 슬레이브 노드 (datanode)에는 각 슬레이브 노드에 공용 IP 주소를 할당 할 필요없이 마스터에 연결하려는 사설 IP 주소가 있습니다.

필자는 NameNode의 공용 주소로 fs.defaultFS를 설정하면 NameNode가 개인 주소가 아닌 들어오는 연결에 대해 해당 주소를 수신한다는 점을 제외하면 외부 액세스를 허용한다는 것을 알게되었습니다. 그래서 NameNode의 사설 IP 주소로 연결하려고 할 때 데이터 노드 로그에 ConnectionRefused 예외가 생깁니다.

해결책은 공개 및 사설 IP 주소를 모두 NameNode로 설정하여 외부 액세스가 유지되고 내 슬레이브 노드도 연결할 수 있다고 생각했습니다.

그래서 둘 다 수신 대기하도록 NameNode에이 두 주소를 바인딩 할 수있는 방법이 있습니까?

편집 : Hadoop 버전 2.4.1.

해결법

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

    1.질문자는 이것을 자신의 질문에 대답으로 편집했습니다.

    질문자는 이것을 자신의 질문에 대답으로 편집했습니다.

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

    2.멀티 홈 네트워크에 대한 HDFS 지원 및 멀티 홈 네트워크에 대한 Cloudera HDFS 지원에서 수행되었습니다. Hortonworks의 다중 홈밍을위한 매개 변수

    멀티 홈 네트워크에 대한 HDFS 지원 및 멀티 홈 네트워크에 대한 Cloudera HDFS 지원에서 수행되었습니다. Hortonworks의 다중 홈밍을위한 매개 변수

    <property>
      <name>dfs.namenode.rpc-bind-host</name>
      <value>0.0.0.0</value>
      <description>
        The actual address the RPC server will bind to. If this optional address is
        set, it overrides only the hostname portion of dfs.namenode.rpc-address.
        It can also be specified per name node or name service for HA/Federation.
        This is useful for making the name node listen on all interfaces by
        setting it to 0.0.0.0.
      </description>
    </property>
    
    <property>
      <name>dfs.namenode.rpc-bind-host</name>
      <value>0.0.0.0</value>
      <description>
        The actual address the RPC server will bind to. If this optional address is
        set, it overrides only the hostname portion of dfs.namenode.rpc-address.
        It can also be specified per name node or name service for HA/Federation.
        This is useful for making the name node listen on all interfaces by
        setting it to 0.0.0.0.
      </description>
    </property>
    
    <property>
      <name>dfs.namenode.servicerpc-bind-host</name>
      <value>0.0.0.0</value>
      <description>
        The actual address the service RPC server will bind to. If this optional address is
        set, it overrides only the hostname portion of dfs.namenode.servicerpc-address.
        It can also be specified per name node or name service for HA/Federation.
        This is useful for making the name node listen on all interfaces by
        setting it to 0.0.0.0.
      </description>
    </property>
    
    <property>
      <name>dfs.namenode.http-bind-host</name>
      <value>0.0.0.0</value>
      <description>
        The actual adress the HTTP server will bind to. If this optional address
        is set, it overrides only the hostname portion of dfs.namenode.http-address.
        It can also be specified per name node or name service for HA/Federation.
        This is useful for making the name node HTTP server listen on all
        interfaces by setting it to 0.0.0.0.
      </description>
    </property>
    
    <property>
      <name>dfs.namenode.https-bind-host</name>
      <value>0.0.0.0</value>
      <description>
        The actual adress the HTTPS server will bind to. If this optional address
        is set, it overrides only the hostname portion of dfs.namenode.https-address.
        It can also be specified per name node or name service for HA/Federation.
        This is useful for making the name node HTTPS server listen on all
        interfaces by setting it to 0.0.0.0.
      </description>
    </property>
    

    IBM BigInsights에 대해 동일한 솔루션을 구현할 수 있습니다.

    IBM BigInsights : Hadoop 클라이언트 포트 8020을 모든 네트워크 인터페이스에 바인딩하는 방법

    HDFS 구성의 Cloudera에서는

    Cloudera의 HDFS 구성에는 와일드 카드 주소에 Bind NameNode라는 속성이 있으며이 상자를 선택하기 만하면 0.0.0.0의 서비스를 바인딩합니다.

     On the Home > Status tab, click  to the right of the service
     name and select Restart. Click Start on the next screen to confirm.
     When you see a Finished status, the service has restarted.
    

    클러스터 시작, 중지, 새로 고침 및 다시 시작 서비스 시작, 중지 및 다시 시작

  3. from https://stackoverflow.com/questions/25135183/hadoop-binding-multiple-ip-addresses-to-a-cluster-namenode by cc-by-sa and MIT license