복붙노트

[HADOOP] Webhdfs가 잘못된 데이터 노드 주소를 반환합니다

HADOOP

Webhdfs가 잘못된 데이터 노드 주소를 반환합니다

curl -i -X PUT "http://SomeHostname:50070/webhdfs/v1/file1?op=CREATE"
HTTP/1.1 307 TEMPORARY_REDIRECT
Content-Type: application/octet-stream
Location: http://sslave0:50075/webhdfs/v1/file1?op=CREATE&overwrite=false
Content-Length: 0
Server: Jetty(6.1.26)

여기 데이터 노드에 대해 sslave0을 반환합니다. 내 주소처럼 보입니다.

해결법

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

    1.WebHDFS를 사용하면 귀하의 경우 NameNode 웹 인터페이스 @port 50070이 put 요청을 수락하고 저장할 파일에 대한 메타 데이터 정보를 할당합니다. 그런 다음 실제 Http PUT이 완료된 데이터 노드 주소 (ssalve0 : 50075 주소)로 리디렉션을 반환합니다.

    WebHDFS를 사용하면 귀하의 경우 NameNode 웹 인터페이스 @port 50070이 put 요청을 수락하고 저장할 파일에 대한 메타 데이터 정보를 할당합니다. 그런 다음 실제 Http PUT이 완료된 데이터 노드 주소 (ssalve0 : 50075 주소)로 리디렉션을 반환합니다.

    결론-이름 노드는 실제 데이터를 저장하지 않고 메타 데이터 만 저장합니다. 파일에 대한 실제 정보를 저장하는 것은 데이터 노드이므로 리디렉션

    이 방법으로 데이터 노드를 처리 할 필요가없는 단일 프록시 노드를 원한다면 대신 HttpF를 구성하려고합니다.

  2. from https://stackoverflow.com/questions/19936313/webhdfs-returns-wrong-datanode-address by cc-by-sa and MIT license