1)在/usr/local/bin目录下创建脚本f1.sh
vim f1.sh
在脚本中填写如下内容
#! /bin/bash
case $1 in
"start"){
for i in hadoop12 hadoop13
do
echo "----------$i flume启动-----------"
ssh $i "nohup /export/servers/flume/bin/flume-ng agent --name a1 --conf-file /export/servers/flume/conf/file-flume-kafka.conf -Dflume.root.logger=INFO,LOGFILE >/export/servers/flume/test1 2>&1 & "
done
};;
"stop"){
for i in hadoop12 hadoop13
do
echo "----------$i flume停止------------"
ssh $i "ps -ef |grep file-flume-kafka.conf | grep -v grep | awk '{print \$2}'| xargs kill -9"
done
};;
esac
说明1
:nohup,该命令可以在你退出帐户/关闭终端之后**继续运行相应的进程
**。nohup就是不挂起的意思,不挂断地运行命令。
说明2
:/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”
标准输入0:从键盘获得输入 /proc/self/fd/0
标准输出1:输出到屏幕(即控制台) /proc/self/fd/1
错误输出2:输出到屏幕(即控制台) /proc/self/fd/2
说明 3
:awk 默认分隔符为空格
说明 4
:xargs 表示取出前面命令运行的结果,作为后面命令的输入参数。
2)增加脚本执行权
chmod 777 f1.sh
3)f1 集群启动脚本
f1.sh start
4)f1 集群停止脚本
f1.sh stop