1、HDFS分布式文件系统

  1. 分布式存储
  2. 分布式计算

2、hadoop

hadoop含有四个模块,分别是 common、 hdfs和yarn。

  1. common

    公共模块。

  2. HDFS

    hadoop distributed file system,hadoop分布式文件系统,负责文件的存储管理。HDFS包括Namenode进程、DataNode进程和Secondary Namenode进程。

    1. NameNode
    2. DataNode
    3. Secondary Namenode
  3. mapreduce

    高度抽象的编程模型,包括映射和化简两个阶段,是大数据计算技术的基础。

  4. yarn

资源调度框架,完成在job执行时,进行集群整体资源的调配管理的。集群中所有资源的配置都有ResourceManager完成。

HA

High availability,系统提供持续服务的能力,通常使用9的个数来衡量,例如5个9就是指99.999%。

high availability,高可用问题。
衡量系统持续提供服务的能力。通常使用几个9衡量。
99.999% //折合一年可以宕机5分钟
99.9999% //折合一年可以宕机5分钟

hadoop部署模式

1.local
不会启动任何进程。 2.pesudo
一个节点启动所有进程(5). 3.full
在不同节点启动不同进程。 4.HA模式
active(宕机) + standby(待命)

webui

http://namenode:50070/
http://2nn:50090/
http://datanode:50075/

hadoop

start-all.sh
start-dfs.sh
start-yarn.sh hadoop-daemon.sh start namenode
hadoop-daemons.sh start datanode

副本的放置策略(273)

不同的hadoop版本,对副本的放置策略也不用。

机架感知

按照ip地址返回网络拓扑树形结构/a/b/c/xxx | /a/b/c/xxx

网络拓扑距离

每个节点到达共同交换机的跃点数的总和。

zookeeper

协同服务,HA服务支持。
容灾能力 : (n - 1) / 2
奇数.

namenode配置多个目录

每个目录下的内容相同,用于备份。

datanode配置多个目录

每个目录下的内容不同,用于扩容。

spark

hadoop

1.配额管理
1.1)空间配额
限制
1.2)目录配额
限制目录或文件的个数
hdfs dfsadmin -setQuota 1 data2 //1保持目录为空
hdfs dfsadmin -clsQuota data2 //1保持目录为空 2.快照
瞬间照相(差异化存储)。 3.OIV
offline image viewer,离线镜像查看器
fsimage(元数据) 4.OEV
offline edit viewer,离线编辑日志查看器。
edit存放的对dfs的操作过程。

镜像控制(检查点)

[hdfs-site.xml]
1.dfs.namenode.checkpoint.period=3600
两次检查点的时间间隔. 2.操作记录数=1000,000
操作记录超过该值,也会导致检查点的创建。
dfs.namenode.checkpoint.txns 3.检查周期(默认60)
dfs.namenode.checkpoint.check.period=60 4.设置检查点文件个数,默认是2
dfs.namenode.num.checkpoints.retained=2 5.手动融合镜像文件(需要安全模式)
hdfs dfsadmin -safemode enter
hdfs dfsadmin -saveNamespace
hdfs dfsadmin -safemode leave 6.从client可以下载镜像文件
//下载集群的镜像文件到当前目录下
hdfs dfsadmin -fetchImage .

metasave

保存块复制信息等和datanode的心跳信息到日志文件。
该日志文件在namenode的本地logs下。
hdfs dfsadmin -metasave 1.log

安全模式

hdfs dfsadmin -safemode get			//查看
hdfs dfsadmin -safemode enter //进入
hdfs dfsadmin -safemode leave //退出
hdfs dfsadmin -safemode wait //等待

快照

//启用快照
hfds dfsadmin -allowSnapshot data
//禁用快照
hfds dfsadmin -disallowSnapshot data //创建快照
hdfs dfs -createSnapshot data sp1
//删除
hdfs dfs -deleteSnapshot data sp1
//重命名
hdfs dfs -renameSnapshot data sp1 sp2 删除目录时,如果是可快照目录并且有快照,无法删除,需要
先删除快照再删除目录。

旧节点退役(datanode下线)

1.描述
hdfs的datanode下线由dfs.hosts.exclude属性控制,yarn的nodemanager下线
由yarn.resourcemanager.nodes.exclude-path控制。
2.dfs.hosts.exclude
配置datanode黑名单文件路径名,名单中的节点不允许连接到nn。如果该属性不配置,
所有节点都可以连接。
3.dfs.hosts
配置datanode白名单文件路径名,名单中的节点允许连接到nn。如果该属性不配置,
所有节点都可以连接。
4.规则 dfs.hosts dfs.host.exlucde result
---------------------------------------------------
NO NO Not
NO YES Not
YES NO Yes
YES YES Yes并将退役 5.退役实操
5.0)准备黑白名单
dfs_exclude.conf
dfs_include.conf 5.1)配置hdfs-site.xml的黑白名单属性
<property>
<name>dfs.hosts</name>
<value>/soft/hadoop/etc/full/dfs_include.conf</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/soft/hadoop/etc/full/dfs_exclude.conf</value>
</property> 5.2)添加退役节点地址到黑名单,不要更新白名单
[dfs_exclude.conf]
s102 5.3)刷新nn
hdfs dfsadmin -refreshNodes 5.4)进入webui,查看退役的节点是否显式为"退役中",开始复制数据块到其他节点。 5.5)一旦复制完成,状态显式"Decommissioned",停止退役节点 5.6)从白名单中删除退役节点
s103
s104
s106 5.7)再次刷新节点
hdfs dfsadmin -refreshNodes 5.8)从slaves中删除退役节点
s103
s104
s106

新节点上线(datanode)

1.准备环境
克隆新虚拟机
配置ssh
删除本地临时目录 2.实操过程
2.1)添加新地址到白名单
s103
s104
s106
s102
[删除黑名单记录]
2.2)刷新名称节点
hdfs dfsadmin -refreshNodes 2.3)更新slaves文件
s103
s104
s106
s102 2.4)启动新节点的datanode进程
[s102]
hadoop-daemon.sh start datanode 2.5)检查webui

旧节点下线(nodemanager)

1.描述
hdfs的datanode下线由dfs.hosts.exclude属性控制,yarn的nodemanager下线
由yarn.resourcemanager.nodes.exclude-path控制。
2.dfs.hosts.exclude
配置datanode黑名单文件路径名,名单中的节点不允许连接到nn。如果该属性不配置,
所有节点都可以连接。
3.dfs.hosts
配置datanode白名单文件路径名,名单中的节点允许连接到nn。如果该属性不配置,
所有节点都可以连接。
4.规则 dfs.hosts dfs.host.exlucde result
---------------------------------------------------
NO NO Not
NO YES Not
YES NO Yes
YES YES Yes并将退役 5.退役实操
5.0)准备黑白名单
yarn_exclude.conf
yarn_include.conf 5.1)配置yarn-site.xml的黑白名单属性
<property>
<name>yarn.resourcemanager.nodes.include-path</name>
<value>/soft/hadoop/etc/full/yarn_include.conf</value>
</property>
<property>
<name>yarn.resourcemanager.nodes.exclude-path</name>
<value>/soft/hadoop/etc/full/yarn_exclude.conf</value>
</property> 5.2)添加退役节点地址到黑名单,不要更新白名单
[yarn_exclude.conf]
s102 5.3)刷新nn
yarn rmadmin -refreshNodes 5.4)进入webui,查看退役的节点是否显式为"退役中",开始复制数据块到其他节点。
http://rm:8088/ 5.5)一旦复制完成,状态显式"Decommissioned",停止退役节点 5.6)从白名单中删除退役节点
[yarn-include.conf]
s103
s104
s106 5.7)再次刷新节点
yarn rmadmin -refreshNodes 5.8)从slaves中删除退役节点
s103
s104
s106

1、HDFS分布式文件系统的更多相关文章

  1. HDFS分布式文件系统资源管理器开发总结

      HDFS,全称Hadoop分布式文件系统,作为Hadoop生态技术圈底层的关键技术之一,被设计成适合运行在通用硬件上的分布式文件系统.它和现有的分布式文件系统有很多共同点,但同时,它和其他的分布式 ...

  2. 通过Thrift访问HDFS分布式文件系统的性能瓶颈分析

    通过Thrift访问HDFS分布式文件系统的性能瓶颈分析 引言 Hadoop提供的HDFS布式文件存储系统,提供了基于thrift的客户端访问支持,但是因为Thrift自身的访问特点,在高并发的访问情 ...

  3. Hadoop HDFS分布式文件系统 常用命令汇总

    引言:我们维护hadoop系统的时候,必不可少需要对HDFS分布式文件系统做操作,例如拷贝一个文件/目录,查看HDFS文件系统目录下的内容,删除HDFS文件系统中的内容(文件/目录),还有HDFS管理 ...

  4. Hadoop基础-HDFS分布式文件系统的存储

    Hadoop基础-HDFS分布式文件系统的存储 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS数据块 1>.磁盘中的数据块 每个磁盘都有默认的数据块大小,这个磁盘 ...

  5. 认识HDFS分布式文件系统

    1.设计基础目标 (1) 错误是常态,需要使用数据冗余  (2)流式数据访问.数据批量读而不是随机速写,不支持OLTP,hadoop擅长数据分析而不是事物处理.  (3)文件采用一次性写多次读的模型, ...

  6. 我理解中的Hadoop HDFS分布式文件系统

    一,什么是分布式文件系统,分布式文件系统能干什么 在学习一个文件系统时,首先我先想到的是,学习它能为我们提供什么样的服务,它的价值在哪里,为什么要去学它.以这样的方式去理解它之后在日后的深入学习中才能 ...

  7. 大数据基础总结---HDFS分布式文件系统

    HDFS分布式文件系统 文件系统的基本概述 文件系统定义:文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易. 文件名:在文件系统中,文件名是用于定位存储位置. 元数据(Metad ...

  8. hdfs(分布式文件系统)优缺点

    hdfs(分布式文件系统) 优点 支持超大文件 支持超大文件.超大文件在这里指的是几百M,几百GB,甚至几TB大小的文件.一般来说hadoop的文件系统会存储TB级别或者PB级别的数据.所以在企业的应 ...

  9. 【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)

    1. HDFS概述 Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪 ...

随机推荐

  1. C语言实践

    初学者往往有这样的困惑: 教程也阅读了,知识点也理解了,但是真正编写代码起来无从下手. 连一些基本的小程序都不能完成. 究其原因,就是缺少实践,没有培养起编程思维. 没有处理相关问题的经验. 编程能力 ...

  2. AngularJs 中使用OpenLayer例子,手机端地图加载不显示问题

      var map, toolip, overlay;            var layer = new ol.layer.Vector();            var imgLayer = ...

  3. jenkins插件之火线扫描(静态代码扫描)

    参考网址: https://blog.csdn.net/oggboy/article/details/78646622

  4. 绿豆蛙的归宿(Java)

    Description 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点 ...

  5. python中bytes类型转换为str类型

    使用的原因:基于URL解析报文的时候,要使用str类型,但是提供的确实bytes类型,报错: TypeError: must be str, not bytes 所以就把bytes类型转换为str类型 ...

  6. php数组·的方法3-数组和变量之间的转换

    /* * 数组和变量之间的转换 * */ //extract() 使用数组定义一组变量 // 键名为变量名 键值为变量值(类似于js的解构赋值) // 返回值是数组的长度 echo '<hr&g ...

  7. swagger2使用日志

    ------------------------------------------------------------------------------------ 安装.配置.使用 参考:htt ...

  8. 跨域的问题(jsonp和cors)

    由于浏览器的同源策略,用户想要跨域访问浏览器就会报错,那么就涉及到解决跨域的问题.最近我接触到的解决方法是两个,jsonp和cors. jsonp(json with padding)我们虽然不能直接 ...

  9. input校验不能以0开头的数字

    不以零开头 <input type="text"  class="form-control"  onkeyup="value=value.rep ...

  10. java编程--02日期格式化

    第一篇,介绍日期的比较 第二篇,介绍日期的格式化 第三篇,介绍关于日期常用的计算 第四篇,比较几个常用的日期时间相关类的区别 第五篇,jdk9对日期类进行了更新,写一些i自己的学习心得. 日期的格式化 ...