更新时间:2024-09-27 15:59:43

创建Hadoop虚拟客户端失败,如何排查问题?

创建Hadoop虚拟客户端失败时,页面会提示报错内容,您可根据报错内容进行判断排查。

  • 创建虚拟客户端时报错:连接HDFS失败。原因:虚拟客户端相关配置参数不正确。

    image24.png

    【问题原因】NameNode IP或HDFS URL填写错误。

    【解决方案】使用NameNode IP方式创建Hadoop虚拟客户端时,仔细核对NameNode IP,有主备NameNode时,请确认填写的NameNode为当前主NameNode IP。使用HDFS URL方式创建Hadoop虚拟客户端时,仔细核对HDFS URL即fs.defaultFS配置项填写是否正确,并确保所有主机的配置文件一致;或填写default代表当前代理主机本地默认的HDFS URL。

  • 创建虚拟客户端时报错:执行kinit失败,原因:虚拟客户端中Kerberos相关参数不正确。

    image25.png

    【问题原因】连接的HDFS集群开启了Kerberos认证,代理客户端处填写keytab路径错误。

    【解决方案】创建虚拟客户端时,正确填写代理客户端处的keytab路径。

  • 创建虚拟客户端时报错:服务调用出错。

    image26.png

    【问题原因】创建/编辑Hadoop虚拟客户端时选择了较多的代理客户端,或创建/编辑Hadoop虚拟客户端时填写的信息不正确,导致连接认证超时。

    【解决方案】创建/编辑虚拟客户端时,适当减少代理客户端的数量,一般减少至50个代理客户端以下时不会出现超时问题。同时确保创建/编辑Hadoop虚拟客户端时填写的信息正确无误。

Hadoop定时备份失败,如何排查问题?

Hadoop定时备份任务失败时,您可通过查看任务执行输出中的报错详情内容进行判断排查。

  • 备份过程中报错:读取文件失败。原因:HDFS中存在坏块或异常的文件块和子文件。

    image27.png

    【问题原因】HDFS中存在坏块或异常的文件块和子文件。

    【解决方案】检查HDFS环境,确保本地能够执行hdfs dfs -copyToLocal命令获取备份文件,且集群环境节点均已关闭防火墙。

  • 备份过程中报错:创建目录/gettime_tmp_dir_COPYING/xxx失败。

    【问题原因】配置的用户名不具有HDFS备份目录读写权限。

    【解决方案】更换具有HDFS备份目录读写权限的用户名,或赋予用户HDFS备份目录读写权限。

  • 备份过程中报错:数据源目录创建快照失败。

    【问题原因】选择的数据源,其父目录或子目录是可快照目录。

    【解决方案】取消其父目录或子目录的快照权限(请谨慎使用),若不能取消,则创建普通备份任务进行备份。

    【参考命令】

    hdfs lsSnapshottableDir

    #列出所有可快照的目录。

    hdfs dfs -ls /<directory_name>/.snapshot

    #展示指定目录下的快照。

    hdfs dfs -deleteSnapshot /<directory_name> <snapshot_name>

    #删除指定目录下的特定快照。

    hdfs dfsadmin -disallowSnapshot /<directory_name>

    #取消指定目录的快照权限,使其不再允许创建快照。

Hadoop数据恢复失败,如何排查问题?

Hadoop数据恢复任务失败时,您可通过查看任务执行输出中的报错详情内容进行判断排查。

  • 恢复过程中报错:Hadoop恢复失败,原因:客户端或备份相关服务异常导致恢复失败,或Hadoop分布式文件系统异常导致恢复失败。

    image28.png

    【问题原因】Hadoop分布式文件系统异常时,文件将无法恢复。

    【解决方案】检查HDFS是否处于安全模式,当HDFS处于安全模式时,文件无法恢复,需等待安全模式结束后方能成功恢复。或者手动解除安全模式(不建议),手动解除安全模式方法:bin/hadoop dfsadmin -safemode leave。检查Hadoop恢复所在路径空间是否不足,若空间不足,请增加恢复路径空间。