如果集群中的复制因子发生变化,例如从 5 更改为 3,并且集群重新启动,旧文件块会发生什么情况?它们是否会被视为过度复制并被删除,或者复制因子仅适用于新文件?这意味着旧文件块被复制 5 次,新文件块(重新启动后)被复制 3 次。
如果集群不重启会怎样?
如果集群中的复制因子发生变化,例如从 5 更改为 3,并且集群重新启动,旧文件块会发生什么情况?
现有/旧文件块不会发生任何变化。
它们是否会被视为过度复制并被删除,或者复制因子仅适用于新文件?
新的复制因子仅适用于新文件,因为复制因子不是 HDFS 范围的设置,而是每个文件的属性。
这意味着旧文件块被复制 5 次,新文件块(重新启动后)被复制 3 次。
它是这个的倒置。复制因子设置为 3 的现有文件将继续携带 3 个块。使用较高默认复制因子创建的新文件将包含 5 个块。
如果集群不重启会怎样?
如果您重新启动或不重新启动集群,则不会发生任何情况。由于该属性是针对每个文件的,并且在创建文件时由客户端引导,因此也不需要重新启动集群来更改此配置。您只需要更新您的客户端配置。
如果您希望更改所有旧文件的复制因子,请考虑运行复制更改器命令:hadoop fs -setrep -R 5 /
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)