hadoop - 如果第一个客户端请求读取,第二个客户端请求 Hadoop 中的写入操作怎么办?
问题描述
并行性是否会遵循两个客户端能够同时读取和写入文件?如果两个客户端都尝试创建具有相同名称的新文件怎么办?
解决方案
HDFS 遵循 Write once Read many 模型。
要在 HDFS 中写入文件,客户端需要与 master 交互,即 namenode (master)。现在,namenode 提供了客户端将开始写入数据的数据节点(从属)的地址。
要从 HDFS 读取文件,客户端需要与 namenode(master)交互,因为 namenode 是 Hadoop 集群的核心(它存储所有元数据,即有关数据的数据)。现在namenode检查所需的权限,如果客户端有足够的权限,那么namenode提供存储文件的从属地址。现在客户端将直接与相应的数据节点交互以读取数据块。
我希望这会有所帮助。
推荐阅读
- r - 将图叠加成一张图
- hadoop - Hive 数据和 Metastore 如何相互通信和集成?
- tfs - 使用 TFS 2018 构建多个具有不同配置文件的 .msi?
- php - 按钮单击时的 Wordpress AJAX 回显
- python - 是否可以创建一个由另一个列表的元素百分比组成的列表?
- git - git checkout 来自另一个分支的单个文件并放在不同的文件夹中
- google-cloud-ml - 已解决:google Cloudml BASIC TIER 中的设备上没有剩余空间。cloudml中每一层的磁盘大小是多少?
- ruby-on-rails - 用于提交想法的电报机器人
- joomla - Joomla Helix3 自定义 Javascript 白页
- python - 有没有办法从它的值中获取字典条目的键?