hadoop有3个复制因子,对吗?如果我修改一个副本,其他两个副本是否也会更改?
ruoxqz4g1#
默认情况下,hdfs使用的复制因子等于3,但可以更改。hdfs不允许只更改数据块的一个副本,因为块复制对用户应该是透明的。从技术上讲,您可以通过访问单个datanode的本地文件系统来更改一个副本,并更改 dfs.datanode.data.dir 本地目录,但hdfs不知道此更改,因此不会为其他副本复制此更改。
dfs.datanode.data.dir
dgtucam12#
但是你不能在hadoop上修改文件的内容,因为它是“一次写入多次读取”,所以,你首先在本地修改它,然后在hdfs上复制它,这样,3次复制的内容是相同的。
2条答案
按热度按时间ruoxqz4g1#
默认情况下,hdfs使用的复制因子等于3,但可以更改。hdfs不允许只更改数据块的一个副本,因为块复制对用户应该是透明的。
从技术上讲,您可以通过访问单个datanode的本地文件系统来更改一个副本,并更改
dfs.datanode.data.dir
本地目录,但hdfs不知道此更改,因此不会为其他副本复制此更改。dgtucam12#
但是你不能在hadoop上修改文件的内容,因为它是“一次写入多次读取”,所以,你首先在本地修改它,然后在hdfs上复制它,这样,3次复制的内容是相同的。