hadoop webhdfs处于安全模式,用户未通过筛选器验证错误

dfty9e19  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(393)

我已经使用kerberos(cdh4.3)将hadoop hdfs配置为启用了安全性。它工作的很好,我可以做所有的操作使用命令行工具。还有其他一些非hadoop集群节点需要通过restapi访问hdfs文件系统,所以我已经启用了webhdfs并配置了kerberos。
对于不涉及临时重定向的操作,我的安全webhdfs可以正常工作:例如liststatus、create directory、remove directory、remove files,所有这些都可以正常工作。但对于创建文件、打开文件等两步操作,失败的信息如下:

  1. [DEV][root@namenode ~]# curl -i --negotiate -u : -X
  2. PUT "http: //namenode:50070/webhdfs/v1/tmp/hosts.txt?op=CREATE"
  3. HTTP/1.1 401
  4. Date: Fri, 25 Apr 2014 02:45:48 GMT
  5. Pragma: no-cache
  6. Date: Fri, 25 Apr 2014 02:45:48 GMT
  7. Pragma: no-cache
  8. WWW-Authenticate: Negotiate
  9. Set-Cookie: hadoop.auth=;Path=/;Expires=Thu, 01-Jan-1970 00:00:00 GMT
  10. Content-Length: 0
  11. Server: Jetty(6.1.26.cloudera.2)
  12. HTTP/1.1 307 TEMPORARY_REDIRECT
  13. Cache-Control: no-cache
  14. Expires: Thu, 01-Jan-1970 00:00:00 GMT
  15. Date: Fri, 25 Apr 2014 02:45:48 GMT
  16. Pragma: no-cache
  17. Date: Fri, 25 Apr 2014 02:45:48 GMT
  18. Pragma: no-cache
  19. Set-Cookie:
  20. hadoop.auth="u=hdfs&p=hdfs@UNIXKRB&t=kerberos&e=1398429948267&s=XhEp/tfs5Pfp04Dp
  21. 9yy1moFPnEo=";Path=/
  22. Location: http: //datanode.net:1006/webhdfs/v1/tmp/hosts.txt?
  23. op=CREATE&delegation=HgAEaGRmcwRoZGZzAIoBRZbGSGyKAUW60sxsWo4BAhTfG8IRyDJjJ2BSR7K
  24. hveMEo3V4dxJXRUJIREZTIGRlbGVnYXRpb24NMC4wLjAuMDo1MDA3MA&namenoderpcaddress=
  25. namenode.net:8020&overwrite=false
  26. Content-Type: application/octet-stream
  27. Content-Length: 0
  28. Server: Jetty(6.1.26.cloudera.2)
  29. [DEV][root@namenode~]# curl -i -X PUT -T hosts.txt
  30. http: //datanode.net:1006/webhdfs/v1/tmp/hosts.txt?
  31. op=CREATE&delegation=HgAEaGRmcwRoZGZzAIoBRZbGSGyKAUW60sxsWo4BAhTfG8IRyDJjJ2
  32. BSR7KhveMEo3V4dxJXRUJIREZTIGRlbGVnYXRpb24NMC4wLjAuMDo1MDA3MA&namenoderpcaddress=
  33. namenode.net:8020&overwrite=false
  34. [2] 19047
  35. [3] 19048
  36. [4] 19049
  37. [DEV][root@namenode~]# HTTP/1.1 100 Continue
  38. HTTP/1.1 401 Unauthorized
  39. Cache-Control: no-cache
  40. Expires: Fri, 25 Apr 2014 02:46:26 GMT
  41. Date: Fri, 25 Apr 2014 02:46:26 GMT
  42. Pragma: no-cache
  43. Expires: Fri, 25 Apr 2014 02:46:26 GMT
  44. Date: Fri, 25 Apr 2014 02:46:26 GMT
  45. Pragma: no-cache
  46. Content-Type: application/json
  47. Transfer-Encoding: chunked
  48. Server: Jetty(6.1.26.cloudera.2)
  49. {"RemoteException":
  50. {"exception":"SecurityException","javaClassName":"java.lang.SecurityException",
  51. "message":"Failed to obtain user group information: java.io.IOException:
  52. Security enabled but user not authenticated by filter"}}
  53. [2] Done curl -i -X PUT -T hosts.txt
  54. http://datanode.net:1006/webhdfs/v1/tmp/hosts.txt?op=CREATE
  55. [3] Done
  56. delegation=HgAEaGRmcwRoZGZzAIoBRZbGSGyKAUW60sxsWo4BAhTfG8IRyDJjJ2BSR7KhveM
  57. Eo3V4dxJXRUJIREZTIGRlbGVnYXRpb24NMC4wLjAuMDo1MDA3MA
  58. [4]- Done namenoderpcaddress=namenode.net:8020
  59. [DEV][root@namenode ~]#

有人能发光吗?
谢谢,

czfnxgou

czfnxgou1#

在我的情况下,它运行良好,如下所示:

  1. $ curl -i --negotiate -u : -X PUT "http://nn30.my.dom:50070/webhdfs/v1/tmp/hosts.txt?op=CREATE"
  2. HTTP/1.1 401
  3. Date: Wed, 30 Apr 2014 12:39:24 GMT
  4. Pragma: no-cache
  5. Date: Wed, 30 Apr 2014 12:39:24 GMT
  6. Pragma: no-cache
  7. WWW-Authenticate: Negotiate
  8. Set-Cookie: hadoop.auth=;Path=/;Expires=Thu, 01-Jan-1970 00:00:00 GMT
  9. Content-Length: 0
  10. Server: Jetty(7.6.10.v20130312)
  11. HTTP/1.1 307 Temporary Redirect
  12. Date: Wed, 30 Apr 2014 12:39:24 GMT
  13. Pragma: no-cache
  14. Cache-Control: no-cache
  15. Date: Wed, 30 Apr 2014 12:39:24 GMT
  16. Pragma: no-cache
  17. Set-Cookie: hadoop.auth="u=gpadmin&p=gpadmin@MY.DOM&t=kerberos&e=1398897564735&s=p8haj7KXAsUqj5A2WzoE5VxJYA8=";Path=/
  18. Expires: Thu, 01 Jan 1970 00:00:00 GMT
  19. Location: http ://dn33.my.dom:1006/webhdfs/v1/tmp/hosts.txt?op=CREATE&delegation=IgAHZ3BhZG1pbgdncGFkbWluAIoBRbKli0OKAUXWsg9DAxIUt8i6BG2xt5V4wB4vPpXSPm8MMVMSV0VCSERGUyBkZWxlZ2F0aW9uEzE5Mi4xNjguMTAuMzA6NTAwNzA&namenoderpcaddress=nn30.my.dom:8020&overwrite=false
  20. Content-Type: application/octet-stream
  21. Content-Length: 0
  22. Server: Jetty(7.6.10.v20130312)
  23. $ curl -i -X PUT -T hosts.txt "http://dn33.my.dom:1006/webhdfs/v1/tmp/hosts.txt?op=CREATE&delegation=IgAHZ3BhZG1pbgdncGFkbWluAIoBRbKli0OKAUXWsg9DAxIUt8i6BG2xt5V4wB4vPpXSPm8MMVMSV0VCSERGUyBkZWxlZ2F0aW9uEzE5Mi4xNjguMTAuMzA6NTAwNzA&namenoderpcaddress=nn30.my.dom:8020&overwrite=false"
  24. HTTP/1.1 100 Continue
  25. HTTP/1.1 201 Created
  26. Expires: Wed, 30 Apr 2014 12:42:24 GMT
  27. Date: Wed, 30 Apr 2014 12:42:24 GMT
  28. Pragma: no-cache
  29. Cache-Control: no-cache
  30. Expires: Wed, 30 Apr 2014 12:42:24 GMT
  31. Date: Wed, 30 Apr 2014 12:42:24 GMT
  32. Pragma: no-cache
  33. Location: webhdfs ://nn30.my.dom:50070/tmp/hosts.txt
  34. Content-Type: application/octet-stream
  35. Content-Length: 0
  36. Server: Jetty(7.6.10.v20130312)

注意-如果您的屏幕截图不是经过编辑/修改的,那么您几乎没有语法问题(“”)和打字错误。我打赌你错过了第一个命令的http输入的“”。请在此处查看您的信息-http://hadoop.apache.org/docs/r1.0.4/webhdfs.html
顺便说一句,我用了高清,应该没有太大的区别,虽然。

展开查看全部

相关问题