在Spring Cloud Alibaba项目中,Sentinel Dashboard有时需要单独安装在独立的主机上,甚至是建立Sentinel集群。在同一台主机上启动多个Sentinel实例并不能从电源类故障中解决Sentinel宕机问题。所以建立Sentinel主机集群就显得很有必要了。本文介绍的是建立Sentinel Dashboard单机自启动服务。集群布署方式不在本文讨论范围之内。
步骤:
一、建立Centos 7主机。
二、执行以下命令。
#yum -y update //更新 #yum -y install wget //安装wget
三、安装java环境
#wget http://files.jycfd.cn/%e8%bd%af%e4%bb%b6/Web%e5%ba%94%e7%94%a8/Java/jre/jre-8u261-linux-x64.tar.gz #tar zvxf jre-8u261-linux-x64.tar.gz #mkdir /usr/java #mv jre1.8.0_261 /usr/java/设置java环境
#vi /etc/profile
在最后一行(可用shift+g快速跳转)增加以下内容:
export JAVA_HOME=/usr/java/jre1.8.0_261 export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
执行source /etc/profile或重启使之生效。执行java -version查看java版本,如能显示,说时安装正常。
四、下载Sentinel Dashboard启动文件。
1、打开浏览器,访问官方站点:https://github.com/alibaba/Sentinel
在右则寻找 Releases 并点击进入最新稳定版本。
在如图所示位置获取jar文件的下载地址。可用右键属性进行查看并复制。本文采用的是1.8.2版。地址为:https://github.com/alibaba/Sentinel/releases/download/1.8.2/sentinel-dashboard-1.8.2.jar
在centos下执行以下命令:
#cd #wget https://github.com/alibaba/Sentinel/releases/download/1.8.2/sentinel-dashboard-1.8.2.jar #mkdir /usr/java/sentinel #mv sentinel-dashboard-1.8.2.jar /usr/java/sentinel/ #cd /usr/java/sentinel/ #mkdir logs #mkdir pid目录结构如下两图
五、编写Sentinel Dashboard启动、停止等脚本文件
在/usr/java/sentinel文件夹下编写启动、停止、重新启动脚本文件。
#!/bin/sh nohup /usr/java/jre1.8.0_261/bin/java -Dlogging.file=/usr/java/sentinel/logs/sentinel-dashboard.log -jar /usr/java/sentinel/sentinel-dashboard-1.8.2.jar > /usr/java/sentinel/logs/run.out 2>&1 & echo $! > /usr/java/sentinel/pid/runing.pid #startup.sh脚本文件内容,用于启动Sintinel Dashboard服务,by lzh 2021.07.23
#!/bin/sh PID=$(cat /usr/java/sentinel/pid/runing.pid) kill -9 $PID find /usr/java/sentinel/pid -name "*.pid" -exec rm -rf {} \; find /usr/java/sentinel/logs -name "*.out" -exec rm -rf {} \; #shutdown.sh脚本文件,用于停止Sentinel Dashboard服务,by lzh 2021.07.23
reload.sh文件略。。。(可不编写)
六、打开防火墙zone文件,开放8080端口
#vi /etc/firewalld/zones/public.xml增加<port protocol="tcp" port="8080"/>
执行 firewall-cmd --reload使之生效,开放8080端口。
七、运行startup.sh,打开浏览器,如果能看见Sentinel Dashboard登录窗口,说明安装过程正确。
八、编写Sentinel Dashboard自启动服务service文件
# vi /usr/lib/systemd/system/sentinel.service文件内容如下:
[Unit] Description=sentinel After=network.target [Service] Type=forking User=root ExecStart=/usr/java/sentinel/startup.sh ExecStop=/usr/java/sentinel/shutdown.sh PrivateTmp=true [Install] WantedBy=multi-user.target
九、执行以下命令添加动自启动
#chmod 754 /usr/lib/systemd/system/sentinel.service #systemctl enable sentinel.service自此完毕。可以进行测试。
1.停止服务 systemctl stop sentinel.service,浏览器应报错。
2.启动服务 systemctl start sentinel.service 浏览器应访问正常。
3.reboot重启后,无需执行任何命令,浏览器应能正常访问Sentinel Dashboard
注:本文中在启动命令中通过添加参数 Dlogging.file 将Sentinel Dashboard日志文件更改到了/usr/java/sentinel/logs。