• 1、HDFS分布式文件系统


    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
  • 相关阅读:
    sklearn库学习笔记1——preprocessing库
    juypter notetbook
    信用卡欺诈
    matplotlib1
    python一行输入多个数
    pandas数据预处理
    pandas基础用法
    numpy简单用法2
    numpy 简单用法
    简单循环
  • 原文地址:https://www.cnblogs.com/xupccc/p/9543865.html
Copyright © 2020-2023  润新知