尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【SkyWalking从入门到精通】第09篇:SkyWalking安装全攻略——5分钟跑起来你的第一个APM系统
上一篇【第08篇】Service Mesh入门——下一代微服务通信架构你了解多少下一篇【第10篇】SkyWalking工程结构深度解读——源码里藏着什么宝贝摘要理论说了一大堆是时候动手了本篇是一篇实操性极强的安装指南带你从零开始搭起SkyWalking的完整运行环境。你会选择方式A下载发行包5分钟搞定或方式B编译源码更深入。无论哪种方式本篇都给你完整的步骤保证你看完就能跑起来。另外特别提醒默认H2存储的坑是新手最容易踩的——本篇提前帮你避开。一、环境准备在开始之前确认你的机器上有以下环境依赖最低版本说明JDK1.8运行OAP和Agent的基础Maven3.6仅编译源码时需要Git任意仅克隆源码时需要可用内存4GBOAP需要至少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.batstartup.sh会同时启动OAP Server和Web UI两个进程SkyWalking OAP started successfully! SkyWalking Web Application started successfully!步骤4验证运行正常# 检查进程是否启动psaux|grepskywalking# 检查OAP端口gRPC: 11800, HTTP: 12800netstat-tlnp|grep11800netstat-tlnp|grep12800# 检查UI端口默认8080netstat-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.remotehttps://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_namemy-spring-boot-demo\-Dskywalking.collector.backend_servicelocalhost:11800\-jaryour-app.jar关键参数说明-javaagent指定SkyWalking Agent的jar包路径skywalking.agent.service_name在SkyWalking中显示的服务名skywalking.collector.backend_serviceOAP 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.yamlstorage: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?rewriteBatchedStatementstruedataSource.user:rootdataSource.password:yourpassword然后创建MySQL数据库SkyWalking会自动创建表结构CREATEDATABASEswtestDEFAULTCHARACTERSETutf8mb4;六、常见启动问题与解决问题1OAP启动后很快崩溃查看日志logs/skywalking-oap-service.log常见原因内存不足增加JVM堆内存编辑bin/oapService.sh修改-Xmx参数端口被占用检查11800、12800端口是否已被占用问题2UI访问8080无响应查看日志logs/webapp.log常见原因UI的8080端口被占用OAP未启动UI连接OAP失败修改UI端口编辑webapp/application.ymlserver:port:8081# 改成其他未被占用的端口问题3Agent挂载后SkyWalking UI里看不到数据检查清单skywalking.collector.backend_service地址是否正确OAP的11800端口是否能从Agent所在机器访问Agent日志agent/logs/skywalking-api.log有没有错误信息应用是否确实在处理请求空应用不会产生追踪数据本篇小结SkyWalking的安装非常简单快速体验下载发行包执行startup.sh5分钟内可以看到UI深入学习克隆源码./mvnw clean package -DskipTests编译得到发行包接入应用加上-javaagent参数配置service_name和backend_service即可生产环境必须替换H2存储为ES或MySQL数据才能持久化下一篇我们深入SkyWalking的工程结构搞清楚每个模块的职责为后续的源码学习打好基础。上一篇【第08篇】Service Mesh入门——下一代微服务通信架构你了解多少下一篇【第10篇】SkyWalking工程结构深度解读——源码里藏着什么宝贝
RELATED

相关推荐

怎样高效配置专业代码字体:提升开发体验的现代方案

怎样高效配置专业代码字体:提升开发体验的现代方案

怎样高效配置专业代码字体:提升开发体验的现代方案 【免费下载链接】monaspace An innovative superfamily of fonts for code 项目地址: https://gitcode.com/gh_mirrors/mo/monaspace Monaspace是一款创新的代码字体超级家族,专为提升编程体验而…

📅 2026/11/4 18:45:41
终极教程:为qBittorrent安装搜索插件,一站式搞定种子搜索

终极教程:为qBittorrent安装搜索插件,一站式搞定种子搜索

终极教程:为qBittorrent安装搜索插件,一站式搞定种子搜索 【免费下载链接】search-plugins Search plugins for qBittorrent search feature 项目地址: https://gitcode.com/gh_mirrors/se/search-plugins 还在为寻找下载资源而在十几个种子网站间…

📅 2026/11/4 18:45:42
Understat异步足球数据分析系统架构设计与工程实践

Understat异步足球数据分析系统架构设计与工程实践

Understat异步足球数据分析系统架构设计与工程实践 【免费下载链接】understat An asynchronous Python package for https://understat.com/. 项目地址: https://gitcode.com/gh_mirrors/un/understat 在当今数据驱动的足球分析领域,获取高质量、结构化的比…

📅 2026/9/4 17:40:25
MORE NEWS

更多资讯

📰

Java数组与集合认证考点:HashMap树化与ArrayList扩容复盘

公司内部的技术能力测评,历来有个反直觉的规律:真正拉开分数的往往不是那些看着唬人的框架原理题,而是数组和集合这种"每天在用、从没认真想过"的地基知识。我前后参与过两轮 Java 方向的专业力认证,第一轮就栽在一道关…

📰

直流无刷电机AX BY CZ绕组划分与空间轴线全解析

直接聊干货。你搜“直流无刷电机 ax by cz 怎么划分的,是按照垂直轴线划分的么”,大概率是在看无刷电机绕组图或者找换相对位资料时卡住了。ax、by、cz这组符号在电机图纸、绕组展开图、端子标识里很常见,但网上解释往往只甩一句“三相绕组的…

📰

EULA同意管理:从法务文档到可审计服务端状态机

简介:这份资源围绕《电子用户许可协议(EULA)》与Minecraft服务端初始化配置展开,面向准备自行开服的服主、服务器管理员及刚接触服务端配置的玩家,帮助解决开服前协议确认、核心参数对照与基础环境搭建的问题。压缩包共…

📰

动态技能图谱技术:职业发展的智能匹配工具

1. 项目背景与核心价值Find Skills Skills(以下简称FSS)是一款面向职业发展领域的技能发现与匹配工具。不同于传统简历分析工具,FSS采用动态能力图谱技术,帮助用户从海量职业数据中识别出被低估或潜在的高价值技能组合。我在人力资…

📰

Java物联网充电桩系统:全链路架构与多端适配实践

1. 项目背景与核心价值电动车充电桩物联网系统是当前新能源基础设施建设的核心环节。这套基于Java开发的系统源码之所以值得关注,在于它完整实现了"硬件设备-云端平台-移动终端"的全链路打通。我去年参与过三个省级充电站项目的技术评审,发现市…

📰

Vim插件生态全景与高效开发实践指南

1. 编辑器生态中的Vim项目全景 在开发者工具生态中,Vim及其衍生项目始终保持着独特的生命力。作为终端环境下的高效文本编辑器,Vim通过插件体系形成了庞大的工具生态。GitHub作为全球最大的代码托管平台,自然成为Vim相关项目的主要集散地。这…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬