CentOS7部署skywalking10.2.0

温馨提醒

一、环境

主机名OSIP
skywalking01CentOS7192.168.1.101
skywalking02CentOS7192.168.1.102
skywalking03CentOS7192.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