Sentinel Dashboard自启动服务主机设置
2021-07-23 22:55:16
李中华

在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。

发布:lzh