[HADOOP] Hadoop 클라이언트에서 Hadoop 서버로 연결할 수 없습니다.
HADOOPHadoop 클라이언트에서 Hadoop 서버로 연결할 수 없습니다.
Hadoop 서버는 Kubernetes에 있습니다. 또한 Hadoop 클라이언트는 외부 네트워크에 있습니다. 그래서 kubernetes-service를 사용하여 Hadoop 서버를 사용하려고합니다. 그러나 hadoop fs -put은 Hadoop 클라이언트에서 작동하지 않습니다. 내가 아는 한 namenode는 datanode IP를 Hadoop 클라이언트에 제공합니다. 그렇다면 namenode는 어디에서 IP를 가져 옵니까?
해결법
-
==============================
1.내 다른 대답을 확인할 수 있습니다. HDFS는 K8에서 아직 준비되지 않았습니다 (이 글을 쓰는 시점에서).
내 다른 대답을 확인할 수 있습니다. HDFS는 K8에서 아직 준비되지 않았습니다 (이 글을 쓰는 시점에서).
namenode는 클라이언트에게 데이터 노드의 IP 주소를 알려주고 아래와 같이 클러스터에 가입 할 때이를 인식합니다.
K8의 문제는 각 데이터 노드를 서비스 또는 외부 IP로 노출해야하지만 namenode는 데이터 노드가 외부 세계에서 사용할 수없는 IP 주소로 표시된다는 것입니다. 또한 HDFS는 서비스 IP 사용을 강제 할 수있는 각 datanode 구성에 대한 게시 IP를 제공하지 않으므로 멋진 사용자 정의 네트워킹을 수행하거나 클라이언트가 podCidr에 있어야합니다 (어느 종류의 목적을 저지해야합니까? HDFS는 분산 파일 시스템 임).
-
==============================
2.포드를 실행하는 IP 노드가 필요한 경우 ENV를 사용할 수 있습니다.
포드를 실행하는 IP 노드가 필요한 경우 ENV를 사용할 수 있습니다.
apiVersion: v1 kind: Pod metadata: name: get-host-ip spec: containers: - name: test-container image: k8s.gcr.io/busybox command: [ "sh", "-c"] args: - while true; do printenv HOST_IP; done; env: - name: HOST_IP valueFrom: fieldRef: fieldPath: status.hostIP restartPolicy: Never
API 문서 : PodStatus v1 핵심
from https://stackoverflow.com/questions/53156162/i-cant-get-through-to-hadoop-server-from-hadoop-client by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 스파크 클라이언트 생성 실패 : 스파크 예외 발생시 하이브 (0) | 2019.07.01 |
---|---|
[HADOOP] 사육사 오류가 발생하는 로컬 파일 시스템에 HBase를 사용 하시겠습니까? (0) | 2019.07.01 |
[HADOOP] 코드에서 hadoop 작업의 작업 ID를 찾는 방법? (0) | 2019.07.01 |
[HADOOP] Hadoop 프레임 워크에서 사용되는 전체 속성 목록 (0) | 2019.07.01 |
[HADOOP] Maven - 테스트의 다른 종속성 버전 (0) | 2019.07.01 |