这可能已经在某个地方得到了回答,但我还没有找到。
我有一个简单的 shell 脚本,我想用它来将日志文件移动到我的 Hadoop 集群中。该脚本将由 Logrotate 每天调用。
它失败并出现以下错误:“/user/qradar: cannot open `/user/qradar' (No such file or directory)”。
#!/bin/bash
#use today's date and time
day=$(date +%Y-%m-%d)
#change to log directory
cd /var/log/qradar
#move and add time date to file name
mv qradar.log qradar$day.log
#load file into variable
#copy file from local to hdfs cluster
if [ -f qradar$day.log ]
then
file=qradar$day.log
hadoop dfs -put /var/log/qradar/&file /user/qradar
else
echo "failed to rename and move the file into the cluster" >> /var/log/messages
fi
目录 /user/qradar 确实存在,并且可以与 Hadoop 文件命令一起列出。我还可以使用 Hadoop 文件命令手动将文件移动到正确的目录中。我可以通过这种方式将文件移动到集群中吗?有没有更好的办法?
欢迎任何想法和评论。谢谢