分布式存储支持多节点,节点是啥,一个磁盘还是一个主控?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式存储支持多节点,节点是啥,一个磁盘还是一个主控?相关的知识,希望对你有一定的参考价值。
节点是什么?
节点是存储节点的简称,一般来说1个节点是1个存储服务器。
其中一个存储节点坏了是否影响数据的访问?
这个主要取决于你采取的数据保护措施,主要有以下几种:
多副本:同一份数据会保存多份(通常设置为 2 副本或 3 副本),即使副本所在的节点宕机也不会造成数据丢失;
HA(高可用):节点宕机时,该节点上的虚拟机自动迁移至集群内其它节点,降低业务中断时间;
机架感知:根据机房物理拓扑结构,将副本分配在不同的机架、机箱、主机上,有效减少甚至避免物理硬件(电源、交换机等)故障导致的数据丢失。理论上,3 副本结合机架感知配置,系统可最多容忍 2 个机架上的主机全部失效;
快照:为虚拟机打快照,在其发生故障时将数据恢复至快照状态;
双活:同城双数据中心,灾难时无损快速恢复业务(RPO=0);
备份:异地主备数据中心,灾难时尽可能挽回数据损失。
现在越来越多的存储服务器使用arm CPU+磁盘阵列节省能耗,提高“容量能耗比”。追问
那如果是分布式架构存储有多个阵列组成集群,坏了其中的一个阵列存储,数据不会丢失?
追答你的意思是一个存储节点坏了是否影响数据的访问,答案是现有的分布式存储系统采用了容错机制,会使用副本(一份数据保存多份)或者纠删码(erasure codes,n 个存储节点中任意m 个坏了数据都还可以访问,n>m)。
追问哦,意思是这种分布式存储应该和hadoop的存储机制很类似吧
追答hadoop 底层用的是hdfs hadoop distributed file system
追问嗯
本回答被提问者和网友采纳 参考技术C 两者都相当重要,但是在机子配置还可以的情况下,cpu更加重要些。一般评估一个本子配置的高低是按cpu、 显卡、 内存来排序的。
内存条
内存条是CPU可通过总线寻址,并进行读写操作的电脑部件。
内存条在个人电脑历史上曾经是主内存的扩展。
随着电脑软、硬件技术不断更新的要求,内存条已成为读写内存的整体。
通常所说电脑内存(RAM)的大小,即是指内存条的总容量。
写入RAM(即读写内存,即内存条)中的数据将在断电后彻底消失,电脑开机时CPU最早读入执行的程序数据来自ROM(只读内存)。
内存是电脑(包括单片机在内)的基础部件,从有电脑那天起就有了内存。
而外存属于电脑外围设备,硬盘是经过磁带、软盘阶段之后发展产生的外存。
内存是电脑必不可少的组成部分,CPU可通过数据总线对内存寻址。
历史上的电脑主板上有主内存,内存条是主内存的扩展。
以后的电脑主板上没有主内存,CPU完全依赖内存条。
所有外存上的内容必须通过内存才能发挥作用。
hdfs datanode不回收本地磁盘空间,如果在关闭一段时间后重新启动
【中文标题】hdfs datanode不回收本地磁盘空间,如果在关闭一段时间后重新启动【英文标题】:hdfs datanode not reclaiming local disk space, if restarted after being down for a while 【发布时间】:2017-12-18 08:05:03 【问题描述】:我正在使用 hadoop 2.9.0 作为分布式文件存储系统进行 POC,因此设置了一个多节点集群设置,其中包含 1 个名称节点和 4 个数据节点(包括主节点),复制因子为 2 .
现在,经过一系列复制操作,我决定停止其中一个数据节点(slave2)。然后我在 slave2 仍然关闭时使用hdfs dfs -rm -skipTrash
命令清理了几 GB 的数据。
后来我重新启动了我已经停止的slave2数据节点,它似乎没有清理在停机期间从hdfs中删除的数据块。
我继续添加/删除更多数据以查看它是否可以与主名称节点同步并执行本地清理以回收磁盘空间,但它没有。
以下是每个节点的数据消耗:
slave2:
hduser@slave2:~$ hdfs dfs -du -s -h /
4.5 G /
hduser@slave2:~$ du -sh /hadoop-tmp/
7.7G /hadoop-tmp/ [<-- notice extra 2.2 GB of data present on local disk]
主人:
hduser@master:~$ du -sh /hadoop-tmp/
4.6G /hadoop-tmp/
hduser@master:~$ hdfs dfs -du -s -h /
4.5 G /
slave1:
hduser@slave1:~$ hdfs dfs -du -s -h /
4.5 G /
hduser@slave1:~$ du -sh /hadoop-tmp/
4.5G /hadoop-tmp/
slave3:
hduser@slave3:/$ du -sh /hadoop-tmp/
2.8G /hadoop-tmp/
hduser@slave3:/$ hdfs dfs -du -s -h /
4.5 G /
我想我的问题是“slave2 datenode 需要多长时间才能与 master namenode 同步,以确认它已经从 HDFS 集群中删除了本地存储的数据块,因此它需要清理它。如果确实会发生超时,那么我们可以控制同步的持续时间吗?
如果这不会发生,那么从关闭并在一段时间后恢复的数据节点中回收磁盘空间的过程是什么?
【问题讨论】:
【参考方案1】:您可以考虑运行 FSCK 来识别集群上的不一致块,然后在不再打算保留数据时采取必要的措施来删除留下的块。
【讨论】:
我尝试做 FSCK,但它也没有帮助,但是,我确实观察到在一段时间内空间确实被释放了(如果不是最多 0 个字节,那么至少最多几个兆)。虽然不确定这是否是预期的行为。以上是关于分布式存储支持多节点,节点是啥,一个磁盘还是一个主控?的主要内容,如果未能解决你的问题,请参考以下文章
hdfs datanode不回收本地磁盘空间,如果在关闭一段时间后重新启动