#!/bin/bash #set -x set -e echoPrefix="\033[36m+" echoSuffix="\033[0m" WORK_DIR=/home/server/rocketmq LOGS_DIR=/root/logs/rocketmqlogs export JAVA_HOME=/home/server/jdk1.8.0_202 export ROCKETMQ_HOME=/home/server/rocketmq/rocketmq-all-5.3.3-bin-release echo "ROCKETMQ_HOME: $ROCKETMQ_HOME" echo "" start() { # NameServer pid=`ps -ef | grep "$JAVA_HOME.* org.apache.rocketmq.namesrv.NamesrvStartup" | grep -v 'grep' | awk '{print $2}'` if [ -z $pid ];then echo -e "$echoPrefix nohup sh $ROCKETMQ_HOME/bin/mqnamesrv -c $WORK_DIR/namesrv.conf >> /dev/null 2>&1 & $echoSuffix" nohup sh $ROCKETMQ_HOME/bin/mqnamesrv -c $WORK_DIR/namesrv.conf >> /dev/null 2>&1 & sleep 8 else echo "pid=$pid | NameServer 正在运行..." fi echo "NameServer 查看日志: tail -F $LOGS_DIR/namesrv.log -n 100" echo "" # Broker+Proxy pid=`ps -ef | grep "$JAVA_HOME.* org.apache.rocketmq.proxy.ProxyStartup" | grep -v 'grep' | awk '{print $2}'` if [ -z $pid ];then echo -e "$echoPrefix nohup sh $ROCKETMQ_HOME/bin/mqbroker -n 127.0.0.1:9876 -c $WORK_DIR/broker.conf --enable-proxy >> /dev/null 2>&1 & $echoSuffix" nohup sh $ROCKETMQ_HOME/bin/mqbroker -n 127.0.0.1:9876 -c $WORK_DIR/broker.conf --enable-proxy >> /dev/null 2>&1 & sleep 8 else echo "pid=$pid | Broker+Proxy 正在运行..." fi echo "BrokerServer 查看日志: tail -F $LOGS_DIR/broker.log -n 100" echo "ProxyServer 查看日志: tail -F $LOGS_DIR/proxy.log -n 100" echo "" # Dashboard pid=`ps -ef | grep 'rocketmq-dashboard-2.0.0.jar' | grep -v 'grep' | awk '{print $2}'` if [ -z $pid ];then echo -e "$echoPrefix nohup java -server -Xmx1g -Xms1g -jar rocketmq-dashboard-2.0.0.jar --spring.config.location=file:$WORK_DIR/application-dashboard.yml >>/dev/null 2>&1 & $echoSuffix" nohup java -server -Xmx1g -Xms1g -jar rocketmq-dashboard-2.0.0.jar --spring.config.location=file:$WORK_DIR/application-dashboard.yml >>/dev/null 2>&1 & sleep 8 else echo "pid=$pid | Dashboard 正在运行..." fi echo "Dashboard 查看日志: tail -F $LOGS_DIR/../dashboardlogs/rocketmq-dashboard.log -n 100" } stop() { # Dashboard pid=`ps -ef | grep 'rocketmq-dashboard-2.0.0.jar' | grep -v 'grep' | awk '{print $2}'` if [ -z $pid ];then echo "Dashboard 未运行" else echo -e "$echoPrefix ps -ef | grep 'rocketmq-dashboard-2.0.0.jar' | grep -v 'grep' | awk '{print $2}' | xargs kill $echoSuffix" ps -ef | grep 'rocketmq-dashboard-2.0.0.jar' | grep -v 'grep' | awk '{print $2}' | xargs kill echo "Dashboard 已停止!" sleep 8 fi # Broker+Proxy pid=`ps -ef | grep "$JAVA_HOME.* org.apache.rocketmq.proxy.ProxyStartup" | grep -v 'grep' | awk '{print $2}'` if [ -z $pid ];then echo "Broker+Proxy 未运行" else echo -e "$echoPrefix ps -ef | grep '$JAVA_HOME.* org.apache.rocketmq.proxy.ProxyStartup' | grep -v 'grep' | awk '{print $2}' | xargs kill $echoSuffix" ps -ef | grep "$JAVA_HOME.* org.apache.rocketmq.proxy.ProxyStartup" | grep -v 'grep' | awk '{print $2}' | xargs kill echo "Broker+Proxy 已停止!" sleep 8 fi echo "" # NameServer pid=`ps -ef | grep "$JAVA_HOME.* org.apache.rocketmq.namesrv.NamesrvStartup" | grep -v 'grep' | awk '{print $2}'` if [ -z $pid ];then echo "NameServer 未运行" else echo -e "$echoPrefix ps -ef | grep '$JAVA_HOME.* org.apache.rocketmq.namesrv.NamesrvStartup' | grep -v 'grep' | awk '{print $2}' | xargs kill $echoSuffix" ps -ef | grep "$JAVA_HOME.* org.apache.rocketmq.namesrv.NamesrvStartup" | grep -v 'grep' | awk '{print $2}' | xargs kill echo "NameServer 已停止!" sleep 8 fi } cmd=$1 if [ "$cmd" == "start" ];then start elif [ "$cmd" == "stop" ] || [ "$cmd" == "kill" ];then stop else echo "输入操作参数: start stop" fi