对不起,伙计们,只是一个简单的问题,但我在谷歌上找不到确切的问题。关于 dfs.replication 是什么意思的问题?如果我在hdfs中创建了一个名为filmdata.txt的文件,如果我设置dfs.replication = 1,那么它是否完全是一个文件(一个filmdata.txt)?或者除了主文件(filmdata.txt)之外,hadoop将创建另一个复制文件. 简而言之:如果设置dfs.replication=1,一共有一个filmdata.txt,还是两个filmdata.txt?提前致谢
4 回答
文件系统中的文件总数将在 dfs.replication 因子中指定。因此,如果您设置 dfs.replication=1,那么文件系统中将只有一个文件副本。
检查Apache 文档以获取其他配置参数。
为确保数据的高可用性,Hadoop 会复制数据。
当我们将文件存储到 HDFS 中时,hadoop 框架将文件拆分为一组块(64 MB 或 128 MB),然后这些块将在集群节点之间复制。配置 dfs.replication 是指定需要多少次复制.
dfs.replication 的默认值为 3,但这可根据您的集群设置进行配置。
希望这可以帮助。
Praveen 提供的链接现已损坏。这是描述参数dfs.replication的更新链接。
请参阅Hadoop 集群设置。有关配置参数的更多信息。
您可能需要注意,文件可以跨越多个块,并且每个块将被复制 dfs.replication 中指定的次数(默认值为 3)。此类块的大小在参数 dfs.block.size 中指定。
在 HDFS 框架中,我们使用商品机器来存储数据,这些商品机器不是高端机器,如具有高 RAM 的服务器,可能会丢失数据节点(d1,d2,d3)或块(b1 ,b2,b3),因此 HDFS 框架将每个数据块 (64MB, 128MB) 拆分为三个副本(默认情况下),每个块将存储在单独的数据节点中(d1, d2, d3)。现在考虑块(b1)在数据节点(d1)中损坏,块(b1)的副本在数据节点(d2)和数据节点(d3)中也可用,以便客户端可以请求数据节点(d2) ) 来处理 block(b1) 数据并提供结果,就像 data-node(d2) 失败一样,客户端可以请求 data-node(d3) 来处理 block(b1) 数据。这称为-dfs.replication mean。
希望你有一些清楚。