[HADOOP] HDFS 중고품 서버가 HDFS가 아닌 현지 FS의 내용을 반환합니다.
HADOOPHDFS 중고품 서버가 HDFS가 아닌 현지 FS의 내용을 반환합니다.
나는 중고품을 사용하여 HDFS에 접근 중이다.
$transport = new TSocket(HDFS_HOST, HDFS_PORT);
$transport->setRecvTimeout(60000);
$transport->setSendTimeout(60000);
$protocol =new TBinaryProtocol($transport);
$client = new ThriftHadoopFileSystemClient($protocol);
logv("connect hdfs");
$transport->open();
logv("testing existent of `%s'", $remote_uri);
$remote_path = new Pathname(array('pathname' => $remote_uri));
$remote_file = null;
try {
$remote_file = $client->listStatus($remote_path);
} catch(Exception $e) { }
if (!$remote_file)
loge("could not open `%s'", $remote_uri);
$ remote_uri는 절대 경로입니다. $ remote_uri === '/ non / existent'또는 '/ user'등의 경우 listStatus는 항상 실패합니다. 하지만 '/ tmp'로 바꾸면 중고품 서버의 로컬 FS의 '/ tmp'내용을 나열합니다.
따라서 반환 된 컨텐츠는 HDFS 대신 중고 서버에서 로컬 FS입니다! 여기서 뭐가 잘못 됐니?
해결법
from https://stackoverflow.com/questions/10331992/hdfs-thrift-server-returns-content-of-local-fs-not-hdfs by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하이브 맵퍼 작업을 늘리지 못합니까? (0) | 2019.06.26 |
---|---|
[HADOOP] Hadoop 2.2.0 MapReduce가 작동하지 않음 (0) | 2019.06.26 |
[HADOOP] 복잡한 Json 데이터를 하이브로 가져 오기 (0) | 2019.06.26 |
[HADOOP] multidelimeter를 사용하여 하이브에 데이터 삽입 (0) | 2019.06.26 |
[HADOOP] hadoop에서 스택 오버플로 오류 발생 (0) | 2019.06.26 |