Ubuntu上Hadoop数据通过**HDFS(分布式文件系统)**存储,核心机制如下:
- 数据分块存储:文件被切分为固定大小的数据块(默认128MB),分散存储在集群的DataNode节点上。
- 元数据管理:NameNode负责维护文件系统的元数据(如文件结构、数据块位置),客户端通过NameNode获取数据块位置信息。
- 副本机制:每个数据块默认存储3个副本,分布在不同节点,确保数据高可用性,即使部分节点故障也能从副本恢复。
- 数据读写流程:
- 写操作:客户端上传文件,NameNode分配存储位置,DataNode接收并存储数据块,返回确认信息。
- 读操作:客户端请求数据,NameNode返回数据块位置,客户端直接从对应DataNode读取并重组文件。
配置时需设置dfs.replication
参数控制副本数,通过hdfs-site.xml
指定DataNode数据存储路径(如dfs.datanode.data.dir
)。