namenoderpcaddress не указан
Я пытаюсь эту команду на моем кластере hadoop (Cloudera 5.4.1)
curl -i http://webhdfs:50075/webhdfs/v1/user/admin/test/test.txt?user.name=admin&op=OPEN&namenoderpcaddress=namenode:8022; echo
Здесь я подтвердил, что webhdfs, имена компьютеров namenode верны, а порты 50075 и 8022 верны.
Но я получаю ошибку
Cache-Control: no-cache
Expires: Tue, 24 Nov 2015 15:49:42 GMT
Date: Tue, 24 Nov 2015 15:49:42 GMT
Pragma: no-cache
Expires: Tue, 24 Nov 2015 15:49:42 GMT
Date: Tue, 24 Nov 2015 15:49:42 GMT
Pragma: no-cache
Content-Type: application/json
Transfer-Encoding: chunked
Server: Jetty(6.1.26.cloudera.4)
{"RemoteException":{"exception":"IllegalArgumentException","javaClassName":
"java.lang.IllegalArgumentException","message":"namenoderpcaddress is not specified."}}
1 ответ
Решение
Я был в состоянии решить проблему. при доступе к webhdfs URL должен указывать на имя узла. Таким образом, вместо того, чтобы сказать датодану:50075, вы должны сказать наменаме:50070
поэтому я изменил свой URL на
curl -i http://namenode:50070/webhdfs/v1/user/admin/test/test.txt?op=GETFILESTATUS; echo
как я нашел "50070"? в вашем менеджере cloudera найдите "NameNode Web UI Port"