1. Hadoop 数据管理
Hadoop 的数据管理,主要包括 Hadoop 的分布式文件系统 HDFS、分布式数据库 HBase 和数据仓库工具 Hive。
(1)HDFS 的数据管理
HDFS 通过三个重要的角色来进行文件系统的管理:NameNode、 DataNode 和 Clien
NameNode 可以看做是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。 NameNode 会将文件系统的 Metadata 存储在内存中,这些信 息主要包括文件信息、每一个文件对应的文件块的信息和每一个文件块在 DataNode 中的信息等
DataNode 是文件存储的基本单元,它将 文件(Block)存储在本地文件系统中,保存了所有 Block 的Metadata,同时周期性地将所有存在的 Block 信息发送给 NameNode。
Client 就是需要获取分布式文件系统文件的应用程序。
文件写入
1)Client 向 NameNode 发起文件写入的请求。
2)NameNode 根据文件大小和文件块配置情况,返回给 Client 所管理的 DataNode 的信息
3)Client 将文件划分为多个 Block,根据 DataNode 的地址信息,按顺序将其写入到每一个 DataNode 块中。
文件读取
1)Client 向 NameNode 发起文件读取的请求。
2)NameNode 返回文件存储的 DataNode 信息。
3)Client 读取文件信息。
文件块(Block)复制
1)NameNode 发现部分文件的 Block 不符合最小复制数这一要求或部分 DataNode 失效。
2)通知 DataNode 相互复制 Block。
3)DataNode 开始直接相互复制。