iis7发布静态网站,施工企业施工生产计划,河北邯郸天气预报15天查询,珠海免费景点hadoop的体系架构 HDFS的体系架构NameNodeedits文件#xff08;客户端的操作日志#xff09;fsimage文件#xff08;元信息文件#xff09; DataNodeSecondary NameNode Yarn的体系架构HBase主从架构的单点故障的问题 HDFS的体系架构
NameNode
NameNode#xff1a;主节点… hadoop的体系架构 HDFS的体系架构NameNodeedits文件客户端的操作日志fsimage文件元信息文件 DataNodeSecondary NameNode Yarn的体系架构HBase主从架构的单点故障的问题 HDFS的体系架构
NameNode
NameNode主节点 职责 1管理HDFS 2接收客户端的请求数据上传数据下载 3维护HDFS维护edits文件客户端的操作日志、维护fsimage文件元信息文件
所处路径 $HADOOP_HOME/tmp/dfs /root/training/hadoop-2.7.3/tmp/dfs
edits文件客户端的操作日志
所处路径 $HADOOP_HOME/tmp/dfs/name/current /root/training/hadoop-2.7.3/tmp/dfs/name/current edits_inprogress_0000000000000000105是当前正在操作的日志所有的edits文件都是二进制文件使用一般的编辑器查看不了所以可以使用下面这个命令来进行查看
hdfs oev -i edits_inprogress_0000000000000000105 -o ~/a.xml
# -i 后接输入文件想查看的文件 -o后接输出文件这里我们先对dfs进行一个创建目录的操作然后这个操作也会被hdfs的日志记录下来
hdfs dfs -mkdir /tools进行创建操作后使用日志查看器进行查看相当于转化成xml格式文件进行查看
hdfs oev -i edits_inprogress_0000000000000000105 -o ~/a.xml
vi a.xmlRECORD标签中就是一条条操作的记录操作的行为是创建文件夹OPCODEOP_MKDIR/OPCODE创建的目录是toolsPATH/tools/PATH
如果hdfs的元信息文件损坏我们则可以通过日志文件进行恢复。
fsimage文件元信息文件
记录的是数据块的位置信息冗余信息 位置$HADOOP_HOME/tmp/dfs/name/current
下面将jdk的压缩包进行上传fsimage文件中则会记录数据块的位置信息和冗余度。
hdfs dfs -put jdk-8u181-linux-x64.tar.gz /tools提供元信息查看器
hdfs oiv -i fsimage_0000000000000000104 -o ~/b.xml -p XMLDataNode
DataNode从节点 1、职责按照数据块来保存数据1.x64M 2.x128M 2、数据块的位置 $HADOOP_HOME/tmp/dfs/data/current/BP-90413187-192.168.157.111-1582475681214/current/finalized/subdir0/subdir0 Demo上传数据 hdfs dfs -put jdk-8u181-linux-x64.tar.gz /tools大概204M 数据块相加起来的大小就是之前上传jdk文件的大小。
设置数据块冗余度的一般原则冗余度跟数据节点个数一致最大不超过3
Secondary NameNode
Secondary NameNode第二名称节点跟NameNode运行在一起 1、不是NameNode热备 2、职责定期进行日志信息的合并把edits---- fsimage文件 3、重点掌握日志合并的过程为什么Secondary NameNode要和NameNode运行在一起 1将NameNode的edits日志和fsimage元信息文件下载至secondaryNameNodecopy 2secondaryNameNode将edits日志和fsimage元信息合并成fsimage.check文件 3secondaryNameNode将fsimage.check文件上传到NameNodeNameNode对fsimage.check文件再进行维护。 这也解释了为什么Secondary NameNode要和NameNode运行在一起因为在同一机台上可以大幅度提高下载的速度和上传速度。 在下载和上传期间会生产新的edits文件这个时候会先暂存在edits_inprogress中等到其他edits上传完成又变成新的edits文件继续进行下载操作。
合并发生的时机? 当HDFS发出 检查点( checkpoint ) 的时候触发进行合并。 默认∶(1)每隔60分钟参数: fs.check.peroid (2)当edits文件达到64M参数: fs.check.size
补充一点检查点 1HDFS触发日志的合并 2Oracle会以最高优先级唤醒数据库的写进程写脏数据 3Spark和Flink容错机制
Yarn的体系架构
1、ResourceManager主节点 职责 1接收客户端的请求执行MapReduce任务的请求 2资源的分配CPU、内存、网络 3任务的分配NodeManager
2、NodeManager从节点 职责 1从ResourceManager获取任务和资源 2执行任务
3、Yarn调度MapReduce任务的过程 1客户端发起任务 hadoop jar *** 2JobClient.java向ResourceManager请求创建任务ID 3JobClient.java将任务jar文件上传到HDFS 4JobClient.java向HDFS获取元信息数据元信息、任务元信息 5JobClient.java向ResourceManager提交任务任务ID、数据元信息、任务元信息 6ResourceManager对任务进行初始化谁来执行、资源怎么分配 7ResourceManager将任务分配给NodeManager 8启动Application Container任务都运行在 Container中。 9NodeManager根据第七步分配的数据和任务的元信息向HDFS获取数据和任务。 为什么NodeManager和DataNode在同一机台 因为NodeManager根据ResourceManager分配的数据和任务的元信息向HDFS的DataNode获取数据和任务如果在同一机台获取的速度会很快大大提高了性能。 4、Yarn的资源分配方式
1FIFO Scheduler 先来先得问题没有考虑任务的优先级 2Capacity Scheduler容器管理的调度规则允许多个组织共享集群的资源 3Fair Scheduler公平调度原则假设任务具有相同的优先级平均分配系统的资源。如果加入权重那么会根据权重的占比来进行分配。
HBase
HBase基于HDFS之上的NoSQL数据库 1、HMaster主节点 2、RegionServer从节点 3、ZooKeeper当成“数据库” 主从架构的单点故障的问题
主从架构的单点故障的问题需要实现HAHigh Availablity高可用性 HA高可用性核心思想多几个主节点但只有一个主节点处于Active状态其他的主节点处于StandBy一旦处于Active的主节点损坏那么可以借助ZooKeeper激活另外的主节点。