更新时间:2024-06-28 11:00:16

在进行Hadoop文件系统备份时,要求集群必须处在开启状态,且运行正常。

检查各节点各服务进程是否在位

通过在Hadoop分布式文件系统集群各节点输入jps命令查看各服务进程是否在位。具体检查项如下表所示。

服务进程名称 作用和影响 检查结果
NameNode HDFS的master,也是HDFS的核心,负责维护HDFS的元数据和所有DataNode数据块的映射,若NameNode服务挂掉,备份恢复均会失败。 一般一个HDFS环境仅一个NameNode服务在位。
DataNode 存储block数据块,若部分DataNode节点的DataNode服务挂掉,可能会影响备份。 所有DataNode节点的DataNode服务都要在位,集群开启kerberos时,DataNode进程由jsvc启动,进程名称无法获取,展示为空。
ResourceManager YARN的master,也是YARN的核心,负责资源管理和调度。若ResourceManager服务挂掉,可能会影响备份。 一般一个HDFS环境仅一个ResourceManager服务在位。
NodeManager YARN的slave,NodeManager服务进程挂掉会影响集群MapReduce任务可分配资源,可能会影响备份。 所有DataNode节点的NodeManager服务都要在位。

具体查询结果截图如下:

image15.png

单节点jps查询

image16.png

开启kerberos时的DataNode进程由jsvc启动,展示为空

检查HDFS服务是否可用

命令行检查方式

在Hadoop文件系统集群的任意节点,输入如下命令浏览HDFS文件系统来检查HDFS服务是否可用。

hdfs dfs -ls /

输入命令后可正常浏览HDFS文件系统,如下图所示。

image17.png

若集群开启kerberos认证,则需先认证用户后再进行浏览HDFS文件系统命令行操作。方法如下:

  • 方式一:kerberos认证用户名密码方式

    kinit 用户名

  • 方式二:kerberos认证keytab文件认证方式

    kinit -kt <keytab_path> <principal>

上述kerberos认证方式的前提均需从客户处获取相应的kerberos认证用户名和密码,或者keytab文件的位置,若均无法获取,可参考【Kerberos认证环境下Hadoop集群获取keytab文件】进行创建。

若HDFS集群为FusionInsight版本,需执行位于目录hadoopclient内的bigdata_env环境变量后再进行浏览HDFS文件系统命令行操作。

若HDFS集群为TDH版本,需执行位于目录TDH-Client内的脚本init.sh后再进行浏览HDFS文件系统命令行操作。

管理页面检查方式

除了Apache以外的其他发行版本,可登录管理后台查看各服务状态。

Apache版本各服务默认Web UI地址如下表所示。

服务信息 默认URL 备注
NameNode information http://namenodeip:50070 端口号查询参见dfs.namenode.name.http-address
YARN http://resourcemanagerip:8088 端口号查询参见yarn.resourcemanager.webapp.address
CDH/FusionInsight/TDH 版本可在管理界面中各服务界面跳转查看。

image18.png

CDH管理页面示例截图

image19.png

FusingInsight管理页面示例截图

image20.png

TDH 管理页面示例截图

检查HDFS集群是否处于安全模式

在Hadoop文件系统集群的任意节点,输入如下命令检查HDFS集群是否处于安全模式。若HDFS集群处于安全模式下,无法进行备份恢复操作。

hdfs dfsadmin -safemode get

输入命令后可查询当前HDFS集群安全模式状态,截图如下图所示表示当前HDFS集群安全模式为关闭状态。

image21.png