我在udacity.com上参加了一个关于hadoop和mapreduce的课程,老师提到在hdfs中,为了减少故障点,每个块在数据库中被复制3次。是真的吗??这是否意味着如果我有1 PB的日志,我需要3 PB的存储空间??因为那会花我更多的钱
hlswsv351#
是的,这是真的,hdfs需要为每个冗余拷贝留出空间,并且需要拷贝以在处理过程中实现故障容限和数据局部性。但mapreduce并不一定如此,它可以运行在其他文件系统上,比如s3或azureblob。hdfs需要3份拷贝。
nlejzf6q2#
这是因为hdfs在存储数据时复制数据。hdfs的默认复制因子是3,可以在dfs.replication属性下的hdfs-site.xml文件中找到。您可以根据需要将此值设置为1或5。数据复制非常有用,因为如果某个节点发生故障,您将在其他节点上获得数据副本以供处理。
b1uwtaje3#
默认情况下,hdfs conf参数 dfs.replication 设置为值3。允许容错性、可争议性等(hdfs的所有参数(此处)但在安装时,可以将参数设置为1,hdfs不会复制数据。在dfs.replication=1的情况下,1 PB存储在相同的空间量中。
dfs.replication
klr1opcd4#
是的,那是真的。假设有4台机器上运行数据节点,那么默认情况下,复制也会随机发生在另外两台机器上。如果不需要,可以通过设置 dfs.replication hdfs-site.xml中的属性
4条答案
按热度按时间hlswsv351#
是的,这是真的,hdfs需要为每个冗余拷贝留出空间,并且需要拷贝以在处理过程中实现故障容限和数据局部性。
但mapreduce并不一定如此,它可以运行在其他文件系统上,比如s3或azureblob。hdfs需要3份拷贝。
nlejzf6q2#
这是因为hdfs在存储数据时复制数据。hdfs的默认复制因子是3,可以在dfs.replication属性下的hdfs-site.xml文件中找到。您可以根据需要将此值设置为1或5。
数据复制非常有用,因为如果某个节点发生故障,您将在其他节点上获得数据副本以供处理。
b1uwtaje3#
默认情况下,hdfs conf参数
dfs.replication
设置为值3。允许容错性、可争议性等(hdfs的所有参数(此处)但在安装时,可以将参数设置为1,hdfs不会复制数据。在dfs.replication=1的情况下,1 PB存储在相同的空间量中。
klr1opcd4#
是的,那是真的。假设有4台机器上运行数据节点,那么默认情况下,复制也会随机发生在另外两台机器上。如果不需要,可以通过设置
dfs.replication
hdfs-site.xml中的属性