Я пытаюсь заставить работать curl webhdfs, так как я настроил kerberos на своем HDB Cluster.
То, что я получаю, если я не создаю билет Kerberos, является ошибкой аутентификации.
После того, как я создал тикет, появившееся сообщение является java IllegalArgumentException
И я подключаюсь с компьютера с Windows, и я могу видеть действительный билет Kerberos в MIT Kerberos Ticket Manager.
Я использую эту команду против активного наменода IP:
kinit -kt hdfs.headless.keytab hdfs && curl -k -i --negotiate -u : "http://X.X.X.X:50070/webhdfs/v1/user?op=LISTSTATUS"
Это ответ от сервера (есть два ответа, первый - согласование аутентификации kerberos, я думаю):
HTTP/1.1 401 Authentication required
Date: Thu, 28 Mar 2019 15:30:29 GMT
Date: Thu, 28 Mar 2019 15:30:29 GMT
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
WWW-Authenticate: Negotiate
Set-Cookie: hadoop.auth=; Path=/; HttpOnly
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html;charset=iso-8859-1
Content-Length: 275
HTTP/1.1 403 java.lang.IllegalArgumentException
Date: Thu, 28 Mar 2019 15:30:29 GMT
Date: Thu, 28 Mar 2019 15:30:29 GMT
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
Set-Cookie: hadoop.auth=; Path=/; HttpOnly
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html;charset=iso-8859-1
Content-Length: 297
Error 403 java.lang.IllegalArgumentException
HTTP ERROR 403
Problem accessing /webhdfs/v1/user. Reason:
java.lang.IllegalArgumentException
Если я выполняю это восстановление с компьютера Cent OS из моего кластера HDP, он работает нормально, поэтому я думаю, что что-то не так в моем запросе или в конфигурации Kerberos.
Кстати, я не могу найти логи webhdfs, чтобы увидеть больше информации об исключении (я посмотрел в / var / log / hadoop / hdfs ...) внутри namenode. Я не могу использовать веб-интерфейс для просмотра журналов HDFS, потому что он разрывается с тем же исключением, когда я пытаюсь получить доступ из браузера.
Спасибо