【发布时间】:2016-05-09 09:03:29
【问题描述】:
我是 HDFS 的新手,如果我的问题如此幼稚,请见谅。
假设我们将文件存储在 Hadoop 集群中。有些文件非常受欢迎,并且会比其他文件更频繁地被请求(但不那么频繁地将它们放入内存中)。 值得保留该文件的更多副本(副本)。
我可以在 HDFS 中实现它还是有什么最佳实践来解决这个任务?
【问题讨论】:
我是 HDFS 的新手,如果我的问题如此幼稚,请见谅。
假设我们将文件存储在 Hadoop 集群中。有些文件非常受欢迎,并且会比其他文件更频繁地被请求(但不那么频繁地将它们放入内存中)。 值得保留该文件的更多副本(副本)。
我可以在 HDFS 中实现它还是有什么最佳实践来解决这个任务?
【问题讨论】:
是的,您可以单独为整个集群/目录/文件执行此操作。
您可以使用 Hadoop FS shell 在每个文件的基础上更改复制因子(比如说 3)。
[sys@localhost ~]$ hadoop fs –setrep –w 3 /my/file
或者,您可以更改目录下所有文件的复制因子(比如说 3)。
[sys@localhost ~]$ hadoop fs –setrep –w 3 -R /my/dir
要将整个 HDFS 的复制更改为 1:
[sys@localhost ~]$ hadoop fs -setrep -w 1 -R /
但复制因子应介于 dfs.replication.max 和 dfs.replication.min 值之间。
【讨论】: