您的位置:首页 > 运维架构 > Shell

Hdfs体系结果及shell java操作方式 笔记五

2015-10-16 13:03 417 查看
Hdfs体系结果及shell java操作方式

hdfs设计基础

硬件错误需要冗余

流式数据访问(数据分析)

大规模数据集

简单一致性模型,文件一次写入就不能修改

程序采用”数据就近”原则分配节点执行

主节点:只有一个nameNode

记录文件是如何分割成数据块,以及数据块存储在哪些节点上

对内存和i/o进行管理

接收用户操作请求

维护文件系统的目录结构

管理文件与block之间的关系,block与dataNode之间的关系

-------------------------------------------------------------------------

管理文件命名空间

记录每个文件数据块在各个Datanode上的位置和副本信息

协调客户端对文件的访问

记录空间内的改动和空间本身属性的改动

Namenode使用事务日志记录hdfs元数据的变化,使用映像文件存储文件系统的命名空间,文件映射,文件属性

读取数据流程:

从namenode取得文件数据块位置列表

据据列表找到datanode

从datanode取得数据

Hdfs 可靠性

冗余副本策略

可以在hdfs-site.xml中指定副本数量

Datenode启动时,遍历本地文件系统,产生一份hdfs数据块和本地文件对应列表

机架策略

副本存放在不同的机架

心跳机制

Namenode周期性的从datanode接收心跳信号和块报告

Namenode根据块报告验证元数据

当datanode没有发送心跳,则不再给其i/o请求

由于datanode失效,低于预设阈值,namenode会重新进行复制

安全模式

Namenode启动时会在一个安全模式

不会写数据

收集各个datanode的报告,当数据块达到最小副本数以上,认为安全

在一定比例的数据块确认为安全后,过指定时间安全模式结束

如果检测到副本数不足的数据块,会复制使其达到最小副本数

校验和

创建文件时,每个数据块都会产生效验和

校验和会隐藏文件形式保存在命名空间下

客户端获取数据时可以检查校验和是否相同来检查数据块

如果数据块损坏,可以读其他副本

回收站

删除文件,放入trash

回收站文件可以恢复

可以指定时间彻底删除

元数据保护

映像文件和事务日志是namenode的核心文件,可以有多个副本

副本会降低性能,增加安全性

Namenode发生故障,需要手工切换

快照

支持存储某个时间点的映像

辅助名称节点: secondary namenode (手工)

监控HDFS状态的辅助后台程序

每个集群只有一个

与nameNode进行通信,定期保存HDFS元数据

可作为备用namenode节点使用

从节点:有多个 dataNodes

每台从服务器都运行一个

负责把hdfs数据块读写到本地文件系统

----------------------------------------------------

负责所在物理节点的存储管理

一次写入,多次读(不可以修改)

文件由数据块组成64M

数据块会散布到各个节点

存储文件

文件被分成block存储在磁盘上

为保证数据安全,文件会有多个副本

Hdfs 的文件操作

命令方式

Api方式

添加新节点

节点装好hadoop

将namenode中的有关配置复制到本节点

修改nasters和slaves文件(所有节点),添加节点

设置ssh

启动该节点的datanode和tasktracker(hadoop-demon.sh start datanode/tasktracker)

运行start-balancer.sh(数据负载均衡)

启动特定后台进程,可以查看start-all.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: