在进行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服务都要在位。 |
具体查询结果截图如下:
单节点jps查询
开启kerberos时的DataNode进程由jsvc启动,展示为空
检查HDFS服务是否可用
命令行检查方式
在Hadoop文件系统集群的任意节点,输入如下命令浏览HDFS文件系统来检查HDFS服务是否可用。
hdfs dfs -ls /
输入命令后可正常浏览HDFS文件系统,如下图所示。
若集群开启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管理页面示例截图
FusingInsight管理页面示例截图
TDH 管理页面示例截图
检查HDFS集群是否处于安全模式
在Hadoop文件系统集群的任意节点,输入如下命令检查HDFS集群是否处于安全模式。若HDFS集群处于安全模式下,无法进行备份恢复操作。
hdfs dfsadmin -safemode get
输入命令后可查询当前HDFS集群安全模式状态,截图如下图所示表示当前HDFS集群安全模式为关闭状态。