各种网站(如hortonworks)建议不要为hdfs设置配置raid,主要原因有两个:速度限制为较慢的磁盘(jbod性能更好)。可靠性建议在namenode上使用raid。但是在每个数据节点存储磁盘上实现raid怎么样?
ipakzgxi1#
raid有两个用途。根据raid配置,您可以获得:更好的性能:读取一个文件可以分散在多个磁盘上,或者可以透明地使用不同的磁盘从同一个文件系统读取多个文件。容错:使用奇偶校验位在多个磁盘上复制或存储数据。如果磁盘出现故障,可以从另一个复制副本中恢复,也可以使用奇偶校验位重新计算。hdfs在软件中有类似的机制。hdfs将文件分割成块(所谓的文件块),这些块跨多个数据节点复制并存储在本地文件系统中。通常,数据节点有多个单独安装的磁盘(jbod)。数据节点应将其文件块分布在其所有磁盘/本地文件系统上。这可确保:容错性:如果一个磁盘或节点发生故障,其他副本可以在不同的数据节点和磁盘上使用。高顺序读写性能:通过将文件分割成多个块并存储在不同的节点(和不同的磁盘)上,可以通过并发访问多个磁盘(在不同的节点)来并行读取文件。每个磁盘都可以用其全部带宽读取数据,其读取操作不会干扰其他磁盘。如果集群得到很好的利用,所有磁盘都将全速旋转,提供最大的顺序读取性能。由于hdfs负责容错和“条带化”读取,因此不需要在hdfs下面使用raid。使用raid只会更昂贵、提供更少的存储空间,而且速度也会更慢(取决于具体的raid配置)。由于namenode是hdfs中的单点故障,因此需要更可靠的硬件设置。因此,建议在namenodes上使用raid。
jdg4fx2g2#
raid0和企业服务器是一个巨大的错误。我很想见见设计这个的人。对于it运营经理来说,这是没有常识的。如果您使用raid0配置任何本地服务器磁盘,您将面临漫长而痛苦的raid0恢复风险。如果raid0中的一个磁盘出现故障,那么raid分区将被破坏,并且在更换磁盘时它不会神奇地恢复。必须有人登录到服务器,删除旧的raid分区并创建一个新分区。当工时和工作周期处于历史高位时,这会产生大量开销。it运营经理要么会因为更优先的工作负载而推迟做这件事,要么会因为没有足够的周期将人力资源用于更重要的工作而拒绝做这件事。然后它会被推到另一个队。然后政治开始,然后它被推回到服务器所有者/客户。如果您想使raid1或san驱动器可用,那么您可以避免整个场景。
2条答案
按热度按时间ipakzgxi1#
raid有两个用途。根据raid配置,您可以获得:
更好的性能:读取一个文件可以分散在多个磁盘上,或者可以透明地使用不同的磁盘从同一个文件系统读取多个文件。
容错:使用奇偶校验位在多个磁盘上复制或存储数据。如果磁盘出现故障,可以从另一个复制副本中恢复,也可以使用奇偶校验位重新计算。
hdfs在软件中有类似的机制。hdfs将文件分割成块(所谓的文件块),这些块跨多个数据节点复制并存储在本地文件系统中。通常,数据节点有多个单独安装的磁盘(jbod)。数据节点应将其文件块分布在其所有磁盘/本地文件系统上。
这可确保:
容错性:如果一个磁盘或节点发生故障,其他副本可以在不同的数据节点和磁盘上使用。
高顺序读写性能:通过将文件分割成多个块并存储在不同的节点(和不同的磁盘)上,可以通过并发访问多个磁盘(在不同的节点)来并行读取文件。每个磁盘都可以用其全部带宽读取数据,其读取操作不会干扰其他磁盘。如果集群得到很好的利用,所有磁盘都将全速旋转,提供最大的顺序读取性能。
由于hdfs负责容错和“条带化”读取,因此不需要在hdfs下面使用raid。使用raid只会更昂贵、提供更少的存储空间,而且速度也会更慢(取决于具体的raid配置)。
由于namenode是hdfs中的单点故障,因此需要更可靠的硬件设置。因此,建议在namenodes上使用raid。
jdg4fx2g2#
raid0和企业服务器是一个巨大的错误。我很想见见设计这个的人。对于it运营经理来说,这是没有常识的。如果您使用raid0配置任何本地服务器磁盘,您将面临漫长而痛苦的raid0恢复风险。如果raid0中的一个磁盘出现故障,那么raid分区将被破坏,并且在更换磁盘时它不会神奇地恢复。必须有人登录到服务器,删除旧的raid分区并创建一个新分区。当工时和工作周期处于历史高位时,这会产生大量开销。it运营经理要么会因为更优先的工作负载而推迟做这件事,要么会因为没有足够的周期将人力资源用于更重要的工作而拒绝做这件事。然后它会被推到另一个队。然后政治开始,然后它被推回到服务器所有者/客户。如果您想使raid1或san驱动器可用,那么您可以避免整个场景。