#!/bin/bash
#判断使用root用户
if [[ $UID -ne 0 ]];then
echo "使用root 执行此脚本"
exit 1
fi
#预设参数
mqfile=/data/soft/mq
temp=mqtemp
mqport=61616
mqadminport=8161
#mqpath=/data/mq
#jdkpath=/data/jdk1.8
#password="1qaz0p;/"
#开始菜单,界面输入参数
read -p "请输入MQ安装目录名(如:/data/mq):" mqpath
echo -e "MQ部署路径:$mqpath\n"
read -p "请输入JDK安装目录名:(如:/data/jdk1.8):" jdkpath
echo -e "JDK部署路径:$jdkpath\n"
read -p "请输入MQ控制台密码:" password
echo -e "MQ密码设置完成\n"
read -p "请按[Enter]键开始安装MQ程序" een
rm -f /var/run/yum.pid
rm -rf $mqpath
rm -rf data/soft/redis/$temp
echo "清理环境"
#yum安装依赖包
echo -e "\n\n\n Yum 安装依赖包"
yum install -y mpfr cpp ppl cloog-ppl libstdc++-devel gcc gcc-c++ zlib-devel
echo -e "\n\n\n Yum 安装依赖包完成"
#安装MQ
chown -R root.root $mqfile
cd $mqfile
mkdir $temp
tar zxvf apache-activemq-*.tar.gz -C $temp/
mv $temp/apache-activemq-*/ $mqpath
#MQ配置文件修改
echo "MQ配置文件修改"
sed -i -r -e "/^wrapper.java.command\=/c \wrapper.java.command=$jdkpath/bin/java" $mqpath/bin/linux-x86-64/wrapper.conf
sed -i -r -e "/^\<transportConnector name\=\"openwire\"/c \<transportConnector name\=123\> " $mqpath/conf/activemq.xml
sed -i 's/<kahaDB directory="${activemq.data}\/kahadb"\/>/<kahaDB directory="${activemq.data}\/kahadb" journalMaxFileLength="100mb"\/>/g' $mqpath/conf/activemq.xml
sed -i 's/<constantPendingMessageLimitStrategy limit="1000"\/>/<constantPendingMessageLimitStrategy limit="10000"\/>/g' $mqpath/conf/activemq.xml
sed -i 's/<storeUsage limit="100 gb"\/>/<storeUsage limit="100 gb"\/>/g' $mqpath/conf/activemq.xml
sed -i -r -e "/^user\: user/c \#user\: user\, user" $mqpath/conf/jetty-realm.properties
sed -i -r -e "/^admin\: admin/c \admin\: $password, admin" $mqpath/conf/jetty-realm.properties
#添加防火墙端口8161
echo "防火墙Iptable,添加端口策略:$mqport $mqadminport"
sed -i -r -e "12i \#mq端口\n-A INPUT -p tcp -m state --state NEW -m tcp --dport $mqport -j ACCEPT\n" /etc/sysconfig/iptables
sed -i -r -e "12i \#mq后台端口\n-A INPUT -p tcp -m state --state NEW -m tcp --dport $mqadminport -j ACCEPT\n" /etc/sysconfig/iptables
systemctl restart iptables.service
echo -e "MQ部署完成\n部署路径:$mqpath\n启动命令:\ncd $mqpath/bin/linux-x86-64\n./activemq start\nmq后台密码:$password"