【发布时间】:2013-02-28 03:14:30
【问题描述】:
我正在尝试了解如何在 Hadoop 中实现 Kerberos。
我已经浏览了这个文档https://issues.apache.org/jira/browse/HADOOP-4487
我也经历过基本 Kerberos 的东西 (https://www.youtube.com/watch?v=KD2Q-2ToloE)
1) Apache 文档使用词"Token",而互联网上的一般文档使用词"Ticket"。
Token 和 Ticket 一样吗?
2) Apache 文档还“DataNodes 不会对其数据块的访问执行任何访问控制。
这使得未经授权的客户端可以将数据块读取为 只要她能提供它的区块ID。任何人都可以写 任意数据块到 DataNodes。"
我对此的看法:-
我可以使用以下命令从文件路径中获取块 ID:-
hadoop@Studio-1555:/opt/hadoop/hadoop-1.0.2/bin$ ./hadoop fsck /hadoop/mapred/system/jobtracker.info -files -blocks
FSCK 由 hadoop 从 /127.0.0.1 开始,路径 /hadoop/mapred/system/jobtracker.info 于 2012 年 7 月 9 日星期一 06:57:14 EDT /hadoop/mapred/system/jobtracker.info 4 个字节,1 个块:OK 0. blk_-9148080207111019586_1001 len=4 repl=1
由于我被授权访问此文件 jobtracker.info,我能够使用上述命令找到它的 blockID。
我认为如果我向这个块 ID 添加一些偏移量并写入那个数据节点。
如何在将文件写入 HDFS 时明确提及 blockID。(命令是什么?)
还有其他方式可以将任意数据块写入 DataNodes 吗?
如果我的方法有问题,请告诉我?
【问题讨论】:
-
你有没有找到任何适当的完整方法来保护 hadoop 集群?