HADOOP大数据之HDFS管理与运维

2023-02-28  本文已影响0人  奋斗的韭菜汪

一、HDFS数据迁移解决方案

  1. 带宽
  2. 性能
  3. 是否支持增量同步
    4、数据迁移的同步性


    image.png
  1. 是Hadoop中的一种工具,在hadoop-tools工程下,作为独立子工程存在
  2. 定位用于数据迁移,定期在集群之间和集群内部备份数据
  3. 在备份过程中,每次运行DistCp都称为一个备份周期,尽管性能相对较慢,但它的普及程度已经越来越高
  4. DistCp底层使用MapReduce在集群之间或并行在同一集群内复制文件。执行复制的MapReduce只有Mapper阶段
  1. 带宽限流
  2. 增量数据同步


    image.png
例如:hadoop distcp hdfs://nn1:8020/foo/a  hdfs://nn2:8020/bar/foo
表示:从nn1集群拷贝/foo/a路径下的数据到nn2集群的/bar/foo路径下

二、NAMENODE安全模式

安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求,是一种保护机制,用于保证集群中的数据块的安全性。

在NameNode主节点启动时,HDFS首先进入安全模式,集群会开始检查数据块的完整性。DataNode在启动的时候会向namenode汇报可用的block信息,当整个系统达到安全标准时,HDFS自动离开安全模式。
假设我们设置的副本数(即参数dfs.replication)是5,那么在Datanode上就应该有5个副本存在,假设只存在3个副本,那么比例就是3/5=0.6。在配置文件hdfs-default.xml中定义了一个最小的副本的副本率(即参数dfs.namenode.safemode.threshold-pct)0.999。

我们的副本率0.6明显小于0.99,因此系统会自动的复制副本到其他的DataNode,使得副本率不小于0.999.如果系统中有8个副本,超过我们设定的5个副本,那么系统也会删除多余的3个副本。

三、HDFS高阶优化方案

短路本地读取、负载均衡、磁盘均衡器、纠删码存储

短路本地读取

DFSClient绕开DataNode 直接读取Data Directories(前提条件:DFSClinet客户端和DataNode在同一台机器上)


大数据HDFS短路本地读取示意图 (1).jpg
HDFS Block磁盘均衡器:Balancer

volume Data Density(磁卷数据密度)
节点数据密度
配置项:dfs.disk.balancer.enabled,默认为true

纠删码技术 Erasure Coding

Erasure Code(EC),即纠删码,是一种前向错误纠正技术(Forward Error Correction,FEC,说明见后附录),主要应用在网络传输中避免包的丢失, 存储系统利用它来提高 存储 可靠性。相比多副本复制而言, 纠删码能够以更小的数据冗余度获得更高数据可靠性, 但编码方式较复杂,需要大量计算 。纠删码只能容忍数据丢失,无法容忍数据篡改,纠删码正是得名与此。

\color{red}{HDFS默认情况下启用的是RS-6-3-1024k}

四、HDFS动态节点管理

动态缩容、节点下线

hdfs --daemon stop datanode

HDFS集群黑、白名单机制

白名单由dfs.hosts参数指定,该参数位于hdfs-site.xml中,默认值为空(允许所有机器准入)
黑名单由dfs.hosts.exclude参数指定,该参数位于hdfs-site.xml中,默认值为空(不禁止任何主机加入)

五、HDFS HA高可用机制

高可用(HA)的背景知识

主备集群角色(Active-Standby)

HA系统设计核心问题
image.png

Journal Node ( JN)特点:高速读写数据、存储数据

六、HDFS Federation联邦机制

  1. 当前的HDFS架构有两个主要的层︰


    当前的HDFS架构
  1. 当前HDFS体系架构--局限性
    当下的HDPS体系结构仅允许单个NameNode维护文件系统名称空间。这种体系目前存在着一些弊端和局限性︰
  1. 联邦Federation架构--简介
    \color{red}{引申:}联邦Federation和高可用HA的区别:联邦是集群中多个节点同时提供服务,HA只有一个提供服务,其他作为预备服务。
    Federation中文意思为联邦,联盟,是\color{red}{NameNode之间的Federation,也就是集群中会有多个NameNode}。多个NameNode的情况意味着有多个namespace。注意,这区别于HA模式下的多NameNode,HA中它们是拥有着同一个namespace。Federation体系中\color{red}{多个namenode之间相互独立且不需要互相协调,各自分工,管理自己的区域}。每个DataNode要向集群中所有的namenode注册,且周期性地向所有namenode发送心跳和块报告,并执行来自所有namenode的命令。
    联邦Federation架构

七、HDFS集群滚动升级

HDFS集群滚动升级

不停机滚动升级--非联邦HA集群
不停机滚动升级--联邦HA集群
不停机滚动升级--非HA集群(需要停机,生产环境不适用)
HDFS集群降级和回滚
上一篇 下一篇

猜你喜欢

热点阅读