首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于将文件移动到hadoop群集中的Shell脚本

用于将文件移动到hadoop群集中的Shell脚本
EN

Stack Overflow用户
提问于 2012-10-09 06:09:31
回答 1查看 10.8K关注 0票数 3

这个问题可能已经在某个地方得到了回答,但我还没有找到它。

我有一个简单的shell脚本,我想使用它将日志文件移动到我的Hadoop集群中。该脚本将由Logrotate每天调用。

失败,错误如下:"/user/qradar:无法打开`/user/ the‘(没有这样的文件或目录)“。

代码语言:javascript
复制
#!/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/ can确实存在,可以使用Hadoop文件命令列出该目录。我还可以使用Hadoop文件命令手动将文件移动到正确的目录中。我可以通过这种方式将文件移动到集群中吗?有没有更好的方法?

欢迎任何想法和评论。谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-10-09 07:11:27

hadoop dfs -put行中的&file是不是打错了?

如果不是,那么这可能是您的问题,您正在后台运行命令hadoop dfs -put /var/log/qradar/ (与号在后台运行命令),然后运行命令file /user/qradar,shell正在本地路径上查找该命令。

我猜你指的是以下内容(美元而不是和符号):

代码语言:javascript
复制
hadoop dfs -put /var/log/qradar/$file /user/qradar
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12790166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档