创建Hadoop虚拟客户端失败,如何排查问题?
创建Hadoop虚拟客户端失败时,页面会提示报错内容,您可根据报错内容进行判断排查。
-
创建虚拟客户端时报错:连接HDFS失败。原因:虚拟客户端相关配置参数不正确。
【问题原因】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相关参数不正确。
【问题原因】连接的HDFS集群开启了Kerberos认证,代理客户端处填写keytab路径错误。
【解决方案】创建虚拟客户端时,正确填写代理客户端处的keytab路径。
-
创建虚拟客户端时报错:服务调用出错。
【问题原因】创建/编辑Hadoop虚拟客户端时选择了较多的代理客户端,或创建/编辑Hadoop虚拟客户端时填写的信息不正确,导致连接认证超时。
【解决方案】创建/编辑虚拟客户端时,适当减少代理客户端的数量,一般减少至50个代理客户端以下时不会出现超时问题。同时确保创建/编辑Hadoop虚拟客户端时填写的信息正确无误。
Hadoop定时备份失败,如何排查问题?
Hadoop定时备份任务失败时,您可通过查看任务执行输出中的报错详情内容进行判断排查。
-
备份过程中报错:读取文件失败。原因:HDFS中存在坏块或异常的文件块和子文件。
【问题原因】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分布式文件系统异常导致恢复失败。
【问题原因】Hadoop分布式文件系统异常时,文件将无法恢复。
【解决方案】检查HDFS是否处于安全模式,当HDFS处于安全模式时,文件无法恢复,需等待安全模式结束后方能成功恢复。或者手动解除安全模式(不建议),手动解除安全模式方法:
bin/hadoop dfsadmin -safemode leave
。检查Hadoop恢复所在路径空间是否不足,若空间不足,请增加恢复路径空间。