根据以下案例方式修复:
/opt/apps/ecm/service 这个是镜像的路径,发现很多文件被删除
从其他正常节点把文件拷贝过来。不完全自动化。
1、先用下面命令,
find /usr/lib -maxdepth 1 -type l ! -exec test -e {} \; -print |xargs ls -l |cut -d'>' -f2
分别在header-1、header-2、header-3节点上查看,判断各自缺失了哪些文件。使用最完整的节点作为文件源。目前看header-1基本是完整的,如果header-1也缺少个别文件,可以降级去worker节点找。
2、使用下面命令从其他节点拷贝缺失文件
lost_file=xxx
su hdfs -c "scp -o StrictHostKeyChecking=no -r emr-header-1:$lost_file /tmp/scp-swap; sudo mv /tmp/scp-swap $lost_file"
可以考虑把步骤1的结果带进来,组成for循环。