Flume对接数据遇到的坑
业务是这样的:别的地方服务器通过ftp传来一些压缩包,对压缩包进行解压,然后flume进行采集发到kafka,spark Streaming进行处理。
进行解压的脚本代码如下:
#/bin/bash
end = "${dirname "$0"}"/"$1"
source = "${dirname "$0"}"/"$2"
final = "${dirname "$0"}"/"$3"
while [2 -gt 1 ]
do
for i in 'ls ${source}‘
do
if [[ ${i} != "" && ${i} != *.tmp ]]
then
unzip ${source}/${i} -d ${end}/
mv -f ${source}/${i} ${final}
fi
done
sleep 5
原本一直持续能解压文件,最近出现停止。
执行命令时,还出现提示是否覆盖。这时才明白可能是这个原因导致脚本没能顺利执行。为了不提示是否覆盖,可以加参数 -o。修改命令如下:
unzip -o ${source}/${i} -d ${end}/