本文关于Hadoop中的HDFS
-
HDFS=Hadoop Distributed File System 分布式(多节点共享文件)文件系统
-
运行在通用廉价的机器上
-
和普通的文件系统(Linux、Windows:有目录、文件、文件夹\创建修改查看移动删除)相同 也有不同
-
高容错(副本机制)
-
高吞吐量 (适用于大的数据集)
-
前提、设计目标:
解决硬件错误(宕机):通过副本(默认3副本)机制(每个机器只存储文件的部分块数据),自动检测是否宕机,快速恢复
流式数据访问:高吞吐量而不是低延时
大规模数据集:支持大规模数据集
一致性模型
计算向数据靠拢:不移动数据进行计算
-
架构
NameNode 一主:
负责管理文件系统(数据块元数据)、接受客户端的请求
DataNodes 多从:
文件系统负责存储数据(存储的文件拆分成多个块数据置于不同DataNode上)基于Linux/Java环境下~
通常情况下一个Node部署一个角色 -
集群配置
主机名IP映射、ssh端口、Java环境、防火墙关闭 -
hadoop-env.sh:配置Java环境
-
core-site.xml:配置NameNode
-
hdfs-site.xml:配置副本个数、暂存目录
-
slave配置从节点
-
格式化启动
-
Java Api编程操作HDFS:
创建Configuration、获取FileSystem -
副本摆放策略:
1-本rack的node
2-另外一个rack的node
3-与2同rack的另外一个node -
safemode安全模式(NameNode):
NameNode的启动安全检测、期间不可进行写操作