什么是hadoop中的hdfs

时间:2020-02-23 14:33:28  来源:igfitidea点击:

Hadoop分布式文件系统是基于Java的文件,由Apache软件基础开发,目的是提供多功能,弹性和聚类方法来使用商品服务器管理大数据环境中的文件。
HDFS用于通过将多台机器放置在多台机器上,以存储大量数据,因为有数百和数千台连接在一起。
目标是存储更少数量的较大文件,而不是大量的小文件。

HDFS提供了高可靠性的数据,因为它用于将数据复制到三个不同的Copiestwo中,在一个组中保存在另一组中,并在另一组中保存。
HDFS本质上可扩展,因为它可以扩展到200 PB存储器,其中单个群集包含4500个服务器,支持数十亿个块和文件。

HDFS如何工作

Hadoop在主节点上工作,该节点是NameNode和多个从节点,它是商品群集上的DataNode。
由于所有节点都存在于数据中心的相同机架中,因此数据被丢弃为分布在用于存储的不同节点之间的不同块。
这些块横跨节点复制以在发生故障时进行数据。

NameNode称为群集中的智能节点。
Namenode知道哪些数据节点包含哪些块以及数据节点已放置在群集中的位置。
NameNode还包含访问权限,该访问权限被提供给文件以执行数据节点之间的各种块的读取,写入,创建,删除和复制。

NameNode以松散耦合的方式与数据节点连接。
这在实时提供了可扩展性的特征意味着它可以根据要求添加或者删除节点。

用于每次使用NameNode进行通信的数据节点以检查某个任务是否已完成。
这两个之间的通信可确保NameNode一直知道每个数据节点的状态。
如果其中一个数据节点无法正常运行,则NameNode可以将该任务分配给另一个节点。
要正常操作,同一块中的数据节点彼此通信。
NameNode被复制以克服系统故障,并且是整个系统的最关键部分。

数据节点不被认为是智能的,但在性质上灵活,数据块横跨各种节点复制,并且nameNode用于管理访问。
为了获得最大效率,使用复制机制,并且将群集的所有节点放入机架中。
NameNode使用机架ID以跟踪群集中的数据节点。

提出心跳消息以确保仍然连接数据节点和NameNode。
当心跳不再可用时,NameNode分离从群集的数据节点并以正常方式工作。
当心跳来时,数据节点将添加回群集。

事务日志和校验和用于维护数据完整性。
事务日志用于跟踪每个操作,并在审计和重建文件系统时帮助它们,以防异常。
校验和验证HDFS中的内容。
当用户请求文件时,它会验证该内容的校验和。
如果校验和验证匹配,则可以访问它。
如果校验和报告错误,则将隐藏文件以避免篡改。

性能也取决于存储数据的位置,因此它存储在商品服务器中的本地磁盘上。
为确保一个服务器故障不会破坏整个文件,在各种数据节点中复制数据块。
在实现群集的时间内管理复制程度和数据节点的数量。

HDFS的特征

容错

HDFS具有高度容错。
HDFS在三个不同位置复制和存储数据。
因此,在腐败或者不可用的情况下,可以从上一个位置访问数据。

可扩展性

可伸缩性意味着添加或者减去HDFS环境中的群集。
缩放由垂直或者水平的两种方式完成。

在垂直缩放中,我们可以将任意数量的节点添加到群集中,但有一些停机时间。
在水平缩放中,没有停机时间;我们可以实时添加群集中的任意数量的节点。

数据可用性

数据被复制并存储在不同的节点上,因为所有时间都可以使用。
在网络,节点或者某些硬件故障的情况下,可以访问数据,而不会从不同的源或者不同的节点出现任何问题。

数据可靠性

HDFS提供高度可靠的数据存储,因为数据被分成块,并且每个块在群集中复制,这使得数据可靠。
如果一个节点包含数据,则可以从其他节点访问,因为HDFS创建每个块的三个副本。
如果发生故障时没有数据丢失,则它是高度可靠的。

复制

数据复制是HDFS的独特和重要功能之一。
HDF用于在不同群集中创建数据的副本。
好像一个节点倒下,它可以从其他节点访问,因为每个数据块都有三个副本创建。
这就是为什么,没有数据丢失。

总之,HDFS赋予Hadoop功能。
尽管有任何硬件故障,HDFS提供高度可靠的数据存储。
它具有高度容错,提供高数据可用性和高可扩展性。
因此,如果我们想成为Hadoop管理员,我们应该熟悉HDFS和其他Hadoop组件。