数据挖掘与机器学习我爱编程

Hadoop 权威指南阅读笔记

2018-03-06  本文已影响32人  yunpiao

数据本地化优化: map任务存储在本地hadoop数据节点上 会得到最大的执行效率, 这也为什么分片大小应该与块大小相同

image image

HDFS:

Hadoop的分布式文件系统,为MapReduce提供数据源和Job信息存储。

Client Node:

执行MapReduce程序的进程,用来提交MapReduce Job。

JobTracker Node:

把完整的Job拆分成若干Task,负责调度协调所有Task,相当于Master的角色。

TaskTracker Node:

负责执行由JobTracker指派的Task,相当于Worker的角色。这其中的Task分为MapTask和ReduceTask。

map 将数据结果存储在本地

reduce 不具备本地化优势 因为数据输入需要map所有数据

combiner 函数 针对每个map执行的结果进行处理 可以减少集群之间的数据传输

Hadoop streaming 用于文本流处理

Hadoop namenode元数据存储在内存中 所以数据量大小限制于namenode 内存大小 快存储占用元数据150字节 Hadoop默认64M块大小

邦联HDFS 添加namenode 实现扩展 一个管理user 一个管理tmp等

name node 存储这两个文件

一个镜像命名空间元数据文件

一个是编辑日志文件

也记录数据节点信息 但不会永久保存 会在系统启动的时候重建

datanode 定期发送快信息到namenode

为了保护namenode 存在两种备份方式

备份元数据存储文件 同时写入远程磁盘

使用辅助namenode

image

fuse-dfs 调用libhdfs 访问 hdfs

webdav使用web接口访问hdfs文件

namenode 告知客户端最佳 datanode 客户端负责读取

distcp并行复制

Hadoop 存档 hadoop archive -archivename file.har /sources /des

使用 Hadoop存档 hadoop fs -ls har://my/files.har

image

hadoop datanode 节点选择副本存储节点

第一个 客户端节点复制第一个副本

第二个 另外一个不同机架的某一节点

第三个 相同机架随机选一个节点

hadoop 序列化工具: Avro

丰富的数据模式解析

具有跨语言优势: 用c编写的软件可以使用python读取.

hadoop 配置文件 使用 xml 进行config xml没有指定数据类型

oozie 工作流 将action和控制节点翻译成DAG 有向无环图 允许从失败的节点重新运行

Hadoop 不使用raid 因为raid 比Hadoop的jbod just a bunch of disks慢 慢10%

kerveros 开源的认证协议

认证

授权

服务请求

namenode 满足最小副本条件情况下 启动后30s 退出安全模式

hadoop dfsadmin -safemode get /leave /enter

hadoop fsck

上一篇下一篇

猜你喜欢

热点阅读