| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Hadoop 关于 -> 正文阅读 |
|
[大数据]Hadoop 关于 |
Hadoop主要记录了Hadoop各个组件的基本原理,处理过程和关键的知识点等,包括HDFS、YARN、MapReduce等。 硬件问题:复制数据解决(RAID) 分析需要从不同的硬盘读取数据:MapReduce 而Hadoop提供了 1.可靠的共享存储(分布式存储) 2.抽象的分析接口(分布式分析) 关键技术1.数据分布在多台机器 可靠性:每个数据块都复制到多个节点 性能:多个节点同时处理数据 2.计算随数据走 网络IO速度 << 本地磁盘IO速度,大数据系统会尽量地将任务分配到离数据最近的机器上运行(程序运行时,将程序及其依赖包都复制到数据所在的机器运行) 代码向数据迁移,避免大规模数据时,造成大量数据迁移的情况,尽量让一段数据的计算发生在同一台机器上 3.串行IO取代随机IO 传输时间 << 寻道时间,一般数据写入后不再修改 Hadoop 简介Hadoop可运行于一般的商用服务器上,具有高容错、高可靠性、高扩展性等特点 特别适合写一次,读多次的场景 适合
不适合
Hadoop架构
内部各个节点基本都是采用Master-Woker架构 Hadoop 写文件? 1.客户端将文件写入本地磁盘的 HDFS Client 文件中 2.当临时文件大小达到一个 block 大小时,HDFS client 通知 NameNode,申请写入文件 3.NameNode 在 HDFS 的文件系统中创建一个文件,并把该 block id 和要写入的 DataNode 的列表返回给客户端 4.客户端收到这些信息后,将临时文件写入 DataNodes
5.文件写完后(客户端关闭),NameNode 提交文件(这时文件才可见,如果提交前,NameNode 垮掉,那文件也就丢失了。fsync:只保证数据的信息写到 NameNode 上,但并不保证数据已经被写到DataNode 中) Rack aware(机架感知) 通过配置文件指定机架名和 DNS 的对应关系 假设复制参数是3,在写入文件时,会在本地的机架保存一份数据,然后在另外一个机架内保存两份数据(同机架内的传输速度快,从而提高性能) 整个 HDFS 的集群,最好是负载平衡的,这样才能尽量利用集群的优势 HDFS - 读文件
HDFS - 可靠性HDFS 的可靠性主要有以下几点:
? 1.冗余副本策略可以在 hdfs-site.xml 中设置复制因子指定副本数量 所有数据块都可副本 DataNode 启动时,遍历本地文件系统,产生一份 HDFS 数据块和本地文件的对应关系列表 (blockreport) 汇报给 Namenode 2.机架策略HDFS 的"机架感知",通过节点之间发送一个数据包,来感应它们是否在同一个机架 一般在本机架放一个副本,在其他机架再存放一个副本,这样可以防止机架失效时丢失数据,也可以提高带宽利用率 3.心跳机制NameNode 周期性从 DataNode 接受心跳信息和块报告 NameNode 根据块报告验证元数据 没有按时发送心跳的 DataNode 会被标记为宕机,不会再给他任何 I/O 请求 如果 DataNode 失效造成副本数量下降,并且低于预先设定的值,NameNode 会检测出这些数据库,并在合适的时机重新复制 引发重新复制的原因还包括数据副本本身损坏,磁盘错误,复制因子被增大等 4.安全模式NameNode 启动时会先经过一个 "安全模式" 阶段 安全模式阶段不会产生数据写 在此阶段 NameNode 收集各个 DataNode 的报告, 当数据块达到最小副本数以上时,会被认为是"安全"的 在一定比例(可设置) 的数据块被确定为"安全" 后 ,在过若干时间,安全模式结束 当检测到副本数不足的数据块时,该块会被复制,直到达到最小副本数 5.效验和在文件创立时,每个数据块都产生效验和 效验和会作为单独一个隐藏文件保存在命名空间下 客户端获取数据时可以检查效验和是否相同,从而发现数据块是否损坏 如果正在读取的数据块损坏,则可以继续读取其他副本 6.回收站删除文件时,其实是放入回收站 /trash 回收站里的文件是可以快速恢复的 可以设置一个时间值,当回收站里文件的存放时间超过了这个值,就被彻底删除,并且释放占用的数据块 7.元数据保护映像文件和事物日志是 NameNode 的核心数据.可以配置为拥有多个副本 副本会降低 NameNode 的处理速度,但增加安全性 NameNode 依然是单点,如果发生故障要手工切换 HDFS - 命令工具fsck: 检查文件的完整性 start-balancer.sh: 重新平衡HDFS hdfs dfs -copyFromLocal 从本地磁盘复制文件到HDFS |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/22 3:16:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |