一、环境
| 主机名 | OS | IP |
|---|
| skywalking01 | CentOS7 | 192.168.1.101 |
| skywalking02 | CentOS7 | 192.168.1.102 |
| skywalking03 | CentOS7 | 192.168.1.103 |
二、安装 JDK 环境
在三个节点上安装 JDK 21
三、部署 consul 集群
四、部署 ElasticSearch 集群
五、部署 skywalking
5.1 下载解压安装包
1
2
3
| wget https://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/10.2.0/apache-skywalking-apm-10.2.0.tar.gz
tar xf apache-skywalking-apm-10.2.0.tar.gz -C /data/
|
5.2 修改启动脚本
vim /data/apache-skywalking-apm-10.2.0/bin/oapService.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| PRG="$0"
PRGDIR=$(dirname "$PRG")
[ -z "$OAP_HOME" ] && OAP_HOME=$(cd "$PRGDIR/.." > /dev/null || exit 1; pwd)
OAP_LOG_DIR="${OAP_LOG_DIR:-${OAP_HOME}/logs}"
JAVA_OPTS="${JAVA_OPTS:- -Xms256M -Xmx4096M}"
if [ ! -d "${OAP_LOG_DIR}" ]; then
mkdir -p "${OAP_LOG_DIR}"
fi
_RUNJAVA=${JAVA_HOME}/bin/java
[ -z "$JAVA_HOME" ] && _RUNJAVA=java
if [ -z "$CLASSPATH" ]; then
CLASSPATH="$OAP_HOME/config"
else
CLASSPATH="$OAP_HOME/config:$CLASSPATH"
fi
for i in "$OAP_HOME"/oap-libs/*.jar
do
CLASSPATH="$i:$CLASSPATH"
done
OAP_OPTIONS=" -Doap.logDir=${OAP_LOG_DIR}"
eval exec "$_RUNJAVA" ${JAVA_OPTS} ${OAP_OPTIONS} -classpath "$CLASSPATH" org.apache.skywalking.oap.server.starter.OAPServerStartUp >> "${OAP_LOG_DIR}/oap.log"
|
vim /data/apache-skywalking-apm-10.2.0/bin/webappService.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| PRG="$0"
PRGDIR=$(dirname "$PRG")
[ -z "$WEBAPP_HOME" ] && WEBAPP_HOME=$(cd "$PRGDIR/.." > /dev/null || exit 1; pwd)
WEBAPP_LOG_DIR="${WEBAPP_LOG_DIR:-${WEBAPP_HOME}/logs}"
JAVA_OPTS="${JAVA_OPTS:- -Xms256M -Xmx1024M} -Dwebapp.logDir=${WEBAPP_LOG_DIR}"
JAR_PATH="${WEBAPP_HOME}/webapp"
if [ ! -d "${WEBAPP_LOG_DIR}" ]; then
mkdir -p "${WEBAPP_LOG_DIR}"
fi
LOG_FILE_LOCATION=${WEBAPP_LOG_DIR}/webapp.log
_RUNJAVA=${JAVA_HOME}/bin/java
[ -z "$JAVA_HOME" ] && _RUNJAVA=java
eval exec "$_RUNJAVA" ${JAVA_OPTS} -cp ${JAR_PATH}/skywalking-webapp.jar:$JAR_PATH org.apache.skywalking.oap.server.webapp.ApplicationStartUp >> "${WEBAPP_LOG_DIR}/webapp-console.log"
|
5.3 创建 supervisord 配置文件
vim /etc/supervisord.d/skywalking-oap.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| [program:skywalking-oap]
environment=JAVA_HOME="/usr/local/jdk-21.0.1"
directory=/data/apache-skywalking-apm-bin-10.2.0/bin
command=/data/apache-skywalking-apm-bin-10.2.0/bin/oapService.sh
user=root
autostart=true
startsecs=5
autorestart=true
startretries=3
stopasgroup=true
killasgroup=true
stdout_logfile_backups=10
stdout_logfile_maxbytes=1GB
stdout_logfile=/data/apache-skywalking-apm-bin-10.2.0/logs/oap-stdout.log
stderr_logfile=/data/apache-skywalking-apm-bin-10.2.0/logs/oap-stderr.log
|
vim /etc/supervisord.d/skywalking-ui.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| [program:skywalking-ui]
environment=JAVA_HOME="/usr/local/jdk-21.0.1"
directory=/data/apache-skywalking-apm-bin-10.2.0/bin
command=/data/apache-skywalking-apm-bin-10.2.0/bin/webappService.sh
user=root
autostart=true
startsecs=5
autorestart=true
startretries=3
stopasgroup=true
killasgroup=true
stdout_logfile_backups=10
stdout_logfile_maxbytes=1GB
stdout_logfile=/data/apache-skywalking-apm-bin-10.2.0/logs/ui-stdout.log
stderr_logfile=/data/apache-skywalking-apm-bin-10.2.0/logs/ui-stderr.log
|
5.4 启动服务
1
2
3
| supervisorctl update skywalking-oap
supervisorctl update skywalking-ui
|