У меня есть кластер Hadoop с включенным Kerberos. Я хочу поместить файлы в HDFS, используя компьютер с Windows/Linux за пределами кластера.
Команда администраторов Hadoop предоставила мне имя пользователя для доступа к файлу hadoop и keytab, как мне использовать их в моем коде Java?
Я просмотрел множество ресурсов в Интернете, но ни один из них не дает никакого руководства по доступу к керберизованному хаупу из-за пределов кластера.
Кроме того, необходимо ли запускать код с помощью hadoop jar
? если да, то как я буду запускать его из-за пределов кластера
Ссылка
http://blog.rajeevsharma.in/2009/06/using-hdfs-in-java-0200.html
http://princetonits.com/technology/using-filesystem-api-to-read-and-write-data-to-hdfs/
У меня работает Kerberos, теперь я могу генерировать билеты
Но завиток не работает (окна)
curl -i --negotiate u:qjdht93 "http://server:50070/webhdfs/v1/user/qjdht93/?op=LISTSTATUS"
Выдает ошибку как
HTTP/1.1 401 Authentication required
Cache-Control: must-revalidate,no-cache,no-store
Date: Mon, 01 Jun 2015 15:26:37 GMT
Pragma: no-cache
Date: Mon, 01 Jun 2015 15:26:37 GMT
Pragma: no-cache
Content-Type: text/html; charset=iso-8859-1
WWW-Authenticate: Negotiate
Set-Cookie: hadoop.auth=; Version=1; Path=/; Expires=Thu, 01-Jan-1970 00:00:00 G
MT; HttpOnly
Content-Length: 1416
Server: Jetty(6.1.26)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 401 Authentication required</title>
</head>
<body><h2>HTTP ERROR 401</h2>
<p>Problem accessing /webhdfs/v1/user/qjdht93. Reason:
<pre> Authentication required</pre></p><hr /><i><small>Powered by Jetty://</s
mall></i><br/>
<br/>
<br/>
Пожалуйста, предложите