是什么是hadoop?
(1) 框架核心设计: HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算
(2)思想 : 分布式,分而治之,并行结算 ,计算向数据移动
(3)模块:分布式文件存储系统HDFS: 提供了高可扩展性,高可靠性,和高吞吐率的数据存储服务 分布式计算框架MapReduce: 计算向数据移动 分布式资源框里框架YARN: 负责集群资源的管理和调度
(4)存储模型:字节 -- 文件线性切割成块(Block):偏移量offset(byte) -- Block 分选存储在集群节点中 -- 单一文件Block大小一致,文件和文件可以不一致 -- Block可以设置副本数,副本分散在不同节点中 -- 文件上传可以设置副Block大小和副本数 -- 已上传的文件Block副本数可以调整,大小不变 -- 只支持一次写入,多次读取,同一时刻还有一个写入者,可以Append追加数据
(4)架构模型 -- 文件元数据MetaData,文件数据 -- (主) NameNode节点保存文件元数据:单节点posix -- (从) DateNode节点保存文件Block数据:多节点 -- DataNode和NameNode保持心跳,提交block列表 -- HdfsClient和NameNode交换元数据信息 HdfsClint和DataNode交换文件Block数据
(5)NameNode(NN) -- 基于内存存储:不会和存盘发生交换 -- 主要功能 接受客户端的读写,接受Namenode汇报的Block列表信息 -- NameNOde保存metadata信息包括 文件owership和permissions 文件大小,时间 (Block列表:Block偏移量),位置信息 Block每副本位置(有DatNode上报)
(6)DataNode(DN) -- 本地磁盘目录存储数据(Block),文件形式 -- 同时存储Block的元数据信息文件 -- 启动DN时会向NN汇报block信息 -- 通过向NN发送心跳保持与其联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的Block到其他的DN
(7)SecondaryNameNode (SNN) -不是NN的备份,但可以做备份,主要作用是帮助NN合并edits log,减少NN启动时间 --合并时机 根据配置文件设置的间隔时间fs.checkpoint.period 默认3600秒 根据配置文件设置edits log大小 fs.checkpoint.size 规定edits文件的最大值默认为是64MB
```java
Dim total as Integer = 10
Dim index as Integer = 1
Dim result as String = ""
For index = 1 to 10 step 1
result += " 傻瓜"
End For
Print(result)
```