我正在尝试了解如何在 Hadoop 中实现 Kerberos。
我浏览了这个文档 https://issues.apache.org/jira/browse/HADOOP-4487
我也浏览了基本的 Kerberos 东西(https://www.youtube.com/watch?v=KD2Q-2ToloE)
1) Apache doc 使用“Token”一词,而 Internet 上的一般 doc 使用“Ticket”一词。
Token 和 Ticket 一样吗?
2) Apache 文档还“DataNodes 不对对其数据块的访问实施任何访问控制。
这使得未经授权的客户端可以读取数据块,只要她可以提供其块 ID。任何人都可以将任意数据块写入 DataNode。”
我对此的看法:-
我可以使用以下命令从文件路径中获取块 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 在 Mon Jul 09 06:57:14 EDT 2012 /hadoop/mapred/system/jobtracker.info 4 个字节,1 个块: OK 0. blk_-9148080207111019586_1001 len=4 repl=1
由于我被授权访问这个文件 jobtracker.info,我能够使用上面的命令找到它的 blockID。
我认为如果我向这个块 ID 添加一些偏移量并写入该数据节点。
如何在将文件写入 HDFS 时明确提及 blockID。(命令是什么?)
将任意数据块写入 DataNodes 的任何其他方式?
请告诉我我的方法是否错误?