尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【SkyWalking从入门到精通】第09篇:SkyWalking安装全攻略——5分钟跑起来你的第一个APM系统

【SkyWalking从入门到精通】第09篇:SkyWalking安装全攻略——5分钟跑起来你的第一个APM系统
📅 发布时间:2026/7/7 2:51:37

上一篇【第08篇】Service Mesh入门——下一代微服务通信架构你了解多少
下一篇【第10篇】SkyWalking工程结构深度解读——源码里藏着什么宝贝


摘要

理论说了一大堆,是时候动手了!本篇是一篇实操性极强的安装指南,带你从零开始搭起SkyWalking的完整运行环境。你会选择:方式A(下载发行包,5分钟搞定)或方式B(编译源码,更深入)。无论哪种方式,本篇都给你完整的步骤,保证你看完就能跑起来。另外特别提醒:默认H2存储的"坑",是新手最容易踩的——本篇提前帮你避开。


一、环境准备

在开始之前,确认你的机器上有以下环境:

依赖最低版本说明
JDK1.8+运行OAP和Agent的基础
Maven3.6+仅编译源码时需要
Git任意仅克隆源码时需要
可用内存4GB+OAP需要至少1-2GB堆内存

二、方式A:下载发行包(推荐新手)

这是最快的方式,适合快速体验SkyWalking的核心功能。

步骤1:下载发行包

访问 SkyWalking 官方下载页面:

  • https://skywalking.apache.org/downloads/
  • 选择最新版本的Distribution包(不是源码包)
  • 下载apache-skywalking-apm-x.y.z.tar.gz
# 或者直接命令行下载(版本号请替换为最新版)wgethttps://archive.apache.org/dist/skywalking/9.3.0/apache-skywalking-apm-9.3.0.tar.gz# 解压tar-xzfapache-skywalking-apm-9.3.0.tar.gzcdapache-skywalking-apm-bin

步骤2:了解目录结构

apache-skywalking-apm-bin/ ├── agent/ ← Java Agent(挂载到你的应用) │ ├── skywalking-agent.jar │ ├── config/ │ │ └── agent.config ← Agent配置文件 │ ├── plugins/ ← 内置插件(Spring/Dubbo/Redis等) │ └── optional-plugins/ ← 可选插件(需手动激活) │ ├── bin/ ← 启动脚本 │ ├── startup.sh ← 一键启动OAP + UI │ ├── oapService.sh ← 单独启动OAP │ └── webappService.sh ← 单独启动UI │ ├── config/ ← OAP配置文件 │ └── application.yaml ← OAP核心配置(重点文件!) │ ├── oap-libs/ ← OAP运行时依赖的jar包 │ └── webapp/ ← Web UI相关文件 └── skywalking-webapp.jar

步骤3:一键启动

# Linux/Maccdapache-skywalking-apm-bin/bin ./startup.sh# Windowscdapache-skywalking-apm-bin\bin startup.bat

startup.sh会同时启动OAP Server和Web UI两个进程:

SkyWalking OAP started successfully! SkyWalking Web Application started successfully!

步骤4:验证运行正常

# 检查进程是否启动psaux|grepskywalking# 检查OAP端口(gRPC: 11800, HTTP: 12800)netstat-tlnp|grep11800netstat-tlnp|grep12800# 检查UI端口(默认8080)netstat-tlnp|grep8080

访问 http://localhost:8080,如果看到SkyWalking的UI界面,说明启动成功!


三、方式B:编译源码(深入学习推荐)

如果你想深入理解SkyWalking、进行二次开发,建议从源码编译开始。

步骤1:克隆源码

gitclone https://github.com/apache/skywalking.gitcdskywalking# 检出稳定版本(推荐,不用master分支)gitcheckout v9.3.0# 初始化子模块(重要!)gitsubmodule update--init

注意:git submodule update --init这一步很关键,SkyWalking有多个子模块(如UI、协议库),不执行这步会编译失败。

步骤2:编译项目

# 编译整个项目(跳过测试,节省时间)./mvnw clean package-DskipTests# 如果网络较慢,可以指定国内Maven镜像./mvnw clean package-DskipTests\-Dmaven.repo.remote=https://maven.aliyun.com/repository/central

编译时间根据机器配置不同,通常需要5-15分钟。耐心等待…

编译成功后,发行包在:

lsdist/# 包含 apache-skywalking-apm-*.tar.gz

步骤3:工程模块概览

skywalking/ ├── apm-sniffer/ ← Java探针核心 │ ├── apm-agent/ ← Agent启动入口 │ ├── apm-agent-core/ ← Agent核心框架 │ └── apm-sdk-plugin/ ← 所有内置插件 │ ├── oap-server/ ← OAP Server │ ├── server-core/ ← OAP核心框架 │ ├── server-receiver-plugin/ ← 各种Receiver插件 │ ├── server-storage-plugin/ ← 存储实现 │ └── server-starter/ ← OAP启动入口 │ ├── apm-application-toolkit/ ← 手动埋点SDK(可选) │ └── apm-webapp/ ← Web UI

四、快速验证:给Spring Boot应用挂上Agent

安装完SkyWalking后,把Agent挂到你的应用上验证是否工作。

准备一个简单的Spring Boot应用

# 如果没有现成的应用,下载SkyWalking官方的示例gitclone https://github.com/SkyAPMTest/skywalking-live-democdskywalking-live-demo

挂载Agent启动应用

java\-javaagent:/path/to/apache-skywalking-apm-bin/agent/skywalking-agent.jar\-Dskywalking.agent.service_name=my-spring-boot-demo\-Dskywalking.collector.backend_service=localhost:11800\-jaryour-app.jar

关键参数说明:

  • -javaagent:指定SkyWalking Agent的jar包路径
  • skywalking.agent.service_name:在SkyWalking中显示的服务名
  • skywalking.collector.backend_service:OAP Server的gRPC地址

发送几个请求,验证追踪

# 给你的应用发几个HTTP请求curlhttp://localhost:8080/api/some-endpointcurlhttp://localhost:8080/api/another-endpoint

然后打开 http://localhost:8080 查看SkyWalking UI,在"追踪"视图中应该能看到刚才的请求记录。


五、⚠️ 重要提醒:H2存储的大坑

SkyWalking默认使用H2内存数据库作为存储。H2是Java内置的轻量级数据库,非常适合快速体验。

但是,H2存储有一个重大限制:

⚠️ H2存储的数据不持久化! OAP Server一旦重启,所有历史数据(Trace、指标、拓扑图)全部清空。

这对于快速验证功能没有问题,但绝对不适合生产环境或者你想保留历史数据的场景。

如何确认你当前用的是H2存储

查看config/application.yaml:

storage:selector:${SW_STORAGE:h2}# 如果这里是h2,就是H2存储h2:driver:org.h2.jdbcx.JdbcDataSourceurl:jdbc:h2:mem:skywalking-oap-db# mem表示内存,重启即失user:sa

快速切换到MySQL存储(持久化)

storage:selector:${SW_STORAGE:mysql}# 改成mysqlmysql:properties:jdbcUrl:jdbc:mysql://localhost:3306/swtest?rewriteBatchedStatements=truedataSource.user:rootdataSource.password:yourpassword

然后创建MySQL数据库(SkyWalking会自动创建表结构):

CREATEDATABASEswtestDEFAULTCHARACTERSETutf8mb4;

六、常见启动问题与解决

问题1:OAP启动后很快崩溃

查看日志:logs/skywalking-oap-service.log

常见原因:

  • 内存不足(增加JVM堆内存:编辑bin/oapService.sh,修改-Xmx参数)
  • 端口被占用(检查11800、12800端口是否已被占用)

问题2:UI访问8080无响应

查看日志:logs/webapp.log

常见原因:

  • UI的8080端口被占用
  • OAP未启动,UI连接OAP失败

修改UI端口:编辑webapp/application.yml:

server:port:8081# 改成其他未被占用的端口

问题3:Agent挂载后,SkyWalking UI里看不到数据

检查清单:

  1. skywalking.collector.backend_service地址是否正确?
  2. OAP的11800端口是否能从Agent所在机器访问?
  3. Agent日志(agent/logs/skywalking-api.log)有没有错误信息?
  4. 应用是否确实在处理请求(空应用不会产生追踪数据)?

本篇小结

SkyWalking的安装非常简单:

  • 快速体验:下载发行包,执行startup.sh,5分钟内可以看到UI
  • 深入学习:克隆源码,./mvnw clean package -DskipTests,编译得到发行包
  • 接入应用:加上-javaagent参数,配置service_name和backend_service即可
  • 生产环境:必须替换H2存储为ES或MySQL,数据才能持久化

下一篇我们深入SkyWalking的工程结构,搞清楚每个模块的职责,为后续的源码学习打好基础。


上一篇【第08篇】Service Mesh入门——下一代微服务通信架构你了解多少
下一篇【第10篇】SkyWalking工程结构深度解读——源码里藏着什么宝贝


相关新闻

  • 轻盈美学合规选品:机构与代理商应关注哪些方面
  • 五新智能:以成套智能装备赋能全球工程建设
  • YOLOv8猫狗品种识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置+目标检测)

最新新闻

  • Sentinel—微服务的守护者(全文详解之使用篇)
  • 需求变更:为什么软件改着改着就改没了?
  • AI点燃存储超级周期:苹果逆势囤货,中国存储军团成定价暗战关键力量
  • 护眼灯真的有差别吗?什么牌子的护眼灯最好推荐?实测10款主流护眼台灯后的真实结论:一次看清书客、霍尼韦尔、柏曼等品牌的光谱、光场和护眼性能差距,谁在护眼谁在营销?
  • Seedance2.5本地部署指南:免费AI生图与视频生成实战
  • 主流WMS仓库管理系统选型对比:特性解析与适用场景分析

日新闻

  • Android逆向分析全能助手:集成化工具链与自动化工作流设计
  • 面搜索(Faceted Search)原理与工程实践指南
  • 神经网络调参避坑指南:从5个常见Loss曲线形态定位超参数问题

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号