秦皇岛昌黎县建设局网站,网站推广软件破解版,网站添加关键字,网站建设课程设计报告php【注1#xff1a;结尾有大福利#xff01;】 【注2#xff1a;想写一个大数据小白系列#xff0c;介绍大数据生态系统中的主要成员#xff0c;理解其原理#xff0c;明白其用途#xff0c;万一有用呢#xff0c;对不对。】 大数据是什么#xff1f;抛开那些高大上但笼… 【注1结尾有大福利】 【注2想写一个大数据小白系列介绍大数据生态系统中的主要成员理解其原理明白其用途万一有用呢对不对。】 大数据是什么抛开那些高大上但笼统的说法其实大数据说的是两件事一、怎么存储大数据二、怎么计算大数据。 我们先从存储开始说如果清晨起床你的女仆给你呈上一块牛排牛排太大一口吃不了怎么办拿刀切小。 同样的如果一份数据太大一台机器存不了怎么办切小了存到几台机器上。 想要保存海量数据无限地提高单台机器的存储能力显然是不现实就好比我们不能把一栋楼盖得无限高一样通常这也不是经济的做法增加机器数量是相对可持续的方案。 使用多台机器需要有配套的分布式存储系统把这些机器组织成一个整体由于Hadoop几乎是目前大数据领域的事实标准那么这里介绍的分布式存储系统就是HDFSHadoop Distributed Filesystem。 先来介绍几个重要概念。 分片shard就好比把牛排切成小块对大的文件进行切分显然是进行分布式存储的前提例如HDFS中默认将数据切分成128MB的块block。 副本replica三台机器中如果有一台出现故障如何保证数据不丢失那么就是使用冗余的方式为每一个数据块都产生多个副本。 下面图示中任何单独一个节点掉线都不会造成数据丢失仍然可以凑齐A、B、C三个数据块。 当然如果两个节点同时掉线就不行了。 不过如果每个数据块都有两个副本那么可以承受同时损失两个节点。代价是你的存储成本上升了。 Master/Slave架构只有工人而没有包工头的工地肯定不能正常运转所以除了上面3台负责存储的机器还需要至少一台机器来领导它们给它们分配工作否则谁也没办法中的A、B、C具体应该存在哪个机器上。 HDFS中采用Master/Slave架构其中的NameNode就是Master负责管理工作而DataNode就是Slave负责存储具体的数据NameNode上管理着元数据简单的讲就是记录哪个数据块存储在哪台机器上。同时DataNode也会定时向NameNode汇报自己的工作状态以便后者监控节点状态、是否故障。 说完上面几个我觉得需要了解的基础概念我们再把HDFS的读、写流程描述一下。 读取数据读取数据的过程。在这个过程中NameNode负责提供数据的存储位置真正的数据读取操作发生在用户和DataNode之间。由于数据有副本一份数据在多个节点上存在具体NameNode返回哪个节点遵循一定的原则比如就近原则。 写入数据写入数据的过程。和读取流程类似NameNode负责提供数据的存储位置真正的写入操作发生在用户和DataNode之间而副本的制造是在DataNode之间发生的例如用户先把数据写入节点1节点1再把数据复制到节点2等。 这篇文章就先到这里下一篇准备接受HDFS中的单点问题、HA、Federation等概念。 最后福利来了关注公众号“程序员杂书馆”将免费送出大数据经典书籍《Spark快速大数据分析》没错就是下面这本纸质书哦不是什么乱七八糟的其他书哦还犹豫什么抓紧扫码关注吧。“程序员杂书馆”以后将每周为大家带来经典书籍资料、原创干货分享谢谢大家。 需要书的同学请直接在公众号留言哈如果不想要纸质书的也可以说明我会选择一些PDF数据赠送谢谢大家。 转载于:https://www.cnblogs.com/morvenhuang/p/10092144.html