Skywalking6.1源码编译(附过程中遇到的bug)

  • 从github上拉取skywalking源码
git clone https://github.com/apache/skywalking.git

如果执行以上拉取过程太慢,可以自己新建一个码云仓库拉取,具体如下

https://blog.youkuaiyun.com/weixin_41618475/article/details/90262708

  • git clone时可能会碰到一个问题

 error: unable to create file apm-sniffer/apm-sdk-plugin/spring-plugins/spring-cloud/netflix-plugins/spring-cloud-feign-1.x-              plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/netflix/feign/v11/define/NetflixFeignInstrumentation.java:Fil ename too long
 Checking out files: 100% (2137/2137), done.
 fatal: unable to checkout working tree
 warning: Clone succeeded, but checkout failed.
 You can inspect what was checked out with 'git status'
 and retry the checkout with 'git checkout -f HEAD

 关键字: Filename too long
 文件名太长,运行以下命令然后重新git clone便能解决:

git config --system core.longpaths true
  • 拉取代码成功后使用idea打开项目,过程中会下载很多maven依赖请耐心等待
  • 编译skywalking(跟官方文档是一样的)
  1.    git submodule init ,初始化子模块
  2.    git submodule update 更新子模块
  3.    编译之前请先安装好node,要确保能使用npm命令

并且需要把 apm-webapp工程的pom文件中npm的下载地址改成国内的,不然访问在编译过程中会因为访问不了国外的仓库而报错

   

        4. 进行编译(请先确保第三步没有问题再进行编译)

mvn package -Dmaven.test.skip=true

        5. 如果编译过程中报错:找不到或无法加载主类 org.apache.maven.wrapper.MavenWrapperMain

          解决方法运行如下命令: (没碰到可以忽略)

mvn -N io.takari:maven:wrapper

      6.再次执行编译命令如果遇到如下图错误需要在windows环境下安装protoc:

        

     (6.1).下载需要的安装包:https://github.com/google/protobuf/releases
              protoc-3.1.0-win32.zip(protoc-2.5.0-win32.zip)
              protobuf-java-3.1.0.zip(protobuf-2.5.0.zip)

     (6.2).将protoc-3.1.0-win32中的protoc.exe拷贝到c:\windows\system32

     (6.3).将proto.exe文件拷贝到解压后的protobuf-3.1.0\src目录中

     (6.4).protobuf-3.1.0\java 目录下执行mvn package命令编辑该包生成protobuf-java-3.1.0.jar文件

              (这一步相当于安装了位于protobuf-3.1.0\java\core\target目录中)

               安装完毕后继续执行第四步进行编译(如没遇到这个报错不管跳过就好)

  • 设置 gRPC 的自动生成的代码目录,为源码目录 :
  • 将 apm-protocol/apm-network/target/generated-sources/protobuf 目录下面grpc-java 和 java 目录右键设置为 Generated Rources Root 。
  • 将 oap-server/server-core/target/generated-sources/protobuf 目录下面grpc-java 和 java目录右键设置为 Generated Rources Root 。
  • 将 oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/target/generated-sources/protobuf目录下面grpc-java 和 java 目录右键设置为 Generated Rources Root 。
  • 启动 SkyWalking OAP Server
  1.    启动之前安装 ElasticSearch 

     ElasticSearch  安装教程如下:

     https://blog.youkuaiyun.com/weixin_41618475/article/details/90263001

     安装好es,需要修改一下 server-starter中的application.yml中的ip地址

     因为我的es装在虚拟机中,而项目中默认的ip是本地,所以我改成了如下

   

     2.运行 oap-server的server-starter的org.apache.skywalking.oap.server.starter.OAPServerStartUp的#main(args)方法,启动

        Skywalking OAP Server

  • 启动 SkyWalking UI
  1.      运行apm-webapp的org.apache.skywalking.apm.webapp.ApplicationStartUp的#main(args)方法,启动Skywalking       UI,浏览器打开http://127.0.0.1:8080,输入账号密码admin/admin进行登录。

      

  • 启动成功之后监控项目只需要在启动项目时加上vm参数就好了,参数如下:

-javaagent:D:\MyWork\skywalking_workspace\1\incubator-skywalking\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=nacos-provider -Dskywalking.collector.backend_service=localhost:11800

参考文档以及博客:

    芋道源码

     http://www.iocoder.cn/SkyWalking/6/build-debugging-environment/

    官方文档

    https://github.com/apache/skywalking/blob/v6.0.0-alpha/docs/en/guides/How-to-build.md#build-from-github

    不喜勿喷,随手做的笔记,有什么问题可以留言问博主,我看到了都会回答

     本文为原创文章,转载请标明出处。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值