--- HDFS客户端操作 ---
HDFS提供了两种客户端操作SHELL命令和JAVA接口都可以和HDFS系统交互!用户可以上传,下载,读取,追加数据内容,删除,移动......
namenode
1)用于记录文件存储的元数据 对象(NameNode将这些数据的元数据信息记录在内存中,并且将这些元数据信息定期的序列化到本地磁盘上), 记录用户操作的行为日志 .记录用户存储的文件的大小、切分的块数、每一块的副本数和存储在DataNode上的位置
2)接收客户端的请求,给datanode'分配存储任务 , 或者是给客户端请求数据的元信息
3)namenode老大 , 维护集群中的节点的数量,接收datanode的注册, 维护了一个统一的集群版本
4)维护集群中数据的负载均衡和副本个数
5)接收datanode的心跳汇报
6)接收datanode的数据的汇报 , 更新节点映射(元数据)
datanode
datanode节点是HDFS系统正在查处用户数据的节点
1 存储数据,将数据以物理切块的形式存储在本地指定的磁盘目录中
2 处理客户端的请求
3 接收namenode 分配的任务
4 接收namenode的指令完成容错工作 , 副本的复制 移动
5 定期的向namenode心跳响应请求,默认每间隔3s一次
6 汇报自己存储的数据数据1h
** 用户可以使用HDFS系统存储海量数据 , 读取数据 , 删除数据 **