emmm,之前没搞过,花了不少时间踩坑。
-
第一个坑是安装 jdk,以前都是在 linux 下,直接安装 openjdk 就可以使用了,但是在 windows 下找起来就麻烦了。
oracle 官网能下载,但是它需要登录之后才能下载。中途绕了很多路,我就只记录一下正确的过程。 -
搭建环境
从 oracle 官网下载 jdk8 。
注意,官网下载是需要账号的。这里提供一个网站,上面有共享账号。而且记得要设置环境变量,安装好 jdk 之后,测试一下 java
和 javac
两个命令是否都可以执行。(linux 下也差不多,只要能编译就 Ok)
**java 环境变量**
`JAVA_HOME`:`C:\Program Files\Java\jdk1.8.0_251`,这里就设置成 jdk 的安装路径就行
在 PATH 中添加如图中最下面的两条字段,不添加的话,是不能执行 `javac`的。
![111111](https://tva1.sinaimg.cn/large/0062s3vmgy1gfgh2z1xwpj30be04dweg.jpg)
除了 java 以外,还需要安装 node,如果我没看错编译时报的信息,node 版本应该是要大于 10.0,我的电脑上安装的是 12.14版本。
从 github 上把源码拖下来,编译
git clone https://github.com/apache/skywalking.git
cd skywalking/
git submodule init
git submodule update
在编译的时候,为了节约时间,只编译 backend 和 ui。在编译这一步真的花费了很多时间,最开始的时候是全部编译,但是一直报错,在编译其中的某个 plugin 的时候,依赖关系不满足。因此我就只编译了 backend 和 ui,插件如果有需要,以后再单独编译。
还有一点,在编译过程中,会下载很多依赖,编译 backend 的过程会从 apache 的网站上下载很多文件,因此最好能有某种方式提高自己访问网站的速度,否则单单是下载依赖就要一万年。
和 backend 类似,编译 ui 的时候会通过 npm 下载很多包,而默认的源是 npm 官方源,下载速度也很慢… 不过这个源是可以修改的, 在apm-webapp
文件夹下面有个 pom.xml
文件。我这里是在第 149 行,修改为国内的淘宝源应该就可以了。
我没有修改源,因为在编译 backend 的时候访问速度也很慢,我的解决方案是开了全局代理加速 😄
./mvnw package -Pbackend,dist
./mvnw package -Pui,dist
backend 和 ui 已经编译完成了,还差一个存储数据的系统。我选择的是 elasticsearch,并且我是用 docker 起的一个服务,毕竟 docker 用起来方便。
docker 启动 es ,网上随便找篇文章就可以照着做了。
es 启动了之后,就可以启动 oap-server 和 web-ui 了。 oap-server 就是之前编译出来的 backend。
编译好的 backend 文件位于 apm-dist-es7
文件夹(我使用的是 es7.x,所以使用对应的 skywalking),里面有个压缩包,就是编译好的文件。文件名是 apache-skywalking-apm-bin-es7.tar.gz
解压出来
修改配置文件
因为 es 是用 docker 启动的,因此需要 es 的端口和 ip 地址。
然后编辑 config
文件夹下面的 application.yml
修改完成之后就可以启动了。bin
文件夹下提供了很多脚本
开启服务
访问一下试试