本文基于 Pinpoint 2.1.0 版本

新版本的内容参考官方文档, Pinpoint的整个搭建是历经艰辛。

一、2.1.0 版本特性

见官方文档 https://pinpoint-apm.github.io/pinpoint/2.1.0/main.html

  1. Pinpoint-collector and Pinpoint-web has changed to spring boot. 使用 spring boot 部署了,导致很多时候更改配置只能重新编译打包。

二、编译环境准备

https://pinpoint-apm.github.io/pinpoint/2.1.0/installation.html#quick-overview-of-installation

  1. Clone Pinpoint - git clone $PINPOINT_GIT_REPOSITORY (下载代码)
  2. Set JAVA_HOME environment variable to JDK 8 home directory.
  3. Set JAVA_6_HOME environment variable to JDK 6 home directory (1.6.0_45 recommended).
  4. Set JAVA_7_HOME environment variable to JDK 7 home directory (1.7.0_80 recommended).
  5. Set JAVA_8_HOME environment variable to JDK 8 home directory.
  6. Set JAVA_9_HOME environment variable to JDK 9 home directory.
  7. Run ./mvnw clean install -DskipTests=true (or ./mvnw.cmd for Windows)

这个项目需要 4个 Java 版本的环境,我也是很心累,弄这个环境也花费了比较多的时间,上面的四个 java 版本的 安装包也不好下载(Linux),可以加我群联系我获取链接(群的信息底部)。

下载完上面的安装包, 安装完之后,需要注意,需要添加环境变量。

注意这一步很重要,一定要添加对应的 CLASSPATH

export JAVA_HOME=/usr/java/jdk1.8.0_131/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar export JAVA_6_HOME=/usr/java/jdk1.6.0_45/
export PATH=$PATH:$JAVA_6_HOME/bin
export CLASSPATH=.:$JAVA_6_HOME/jre/lib:$JAVA_6_HOME/lib:$JAVA_6_HOME/lib/tools.jar export JAVA_7_HOME=/java/jdk1.7.0_80/
export PATH=$PATH:$JAVA_7_HOME/bin
export CLASSPATH=.:$JAVA_7_HOME/jre/lib:$JAVA_7_HOME/lib:$JAVA_7_HOME/lib/tools.jar export JAVA_8_HOME=/usr/java/jdk1.8.0_131/
export PATH=$PATH:$JAVA_8_HOME/bin
export CLASSPATH=.:$JAVA_8_HOME/jre/lib:$JAVA_8_HOME/lib:$JAVA_8_HOME/lib/tools.jar export JAVA_9_HOME=/java/jdk-9.0.4/
export PATH=$PATH:$JAVA_9_HOME/bin
export CLASSPATH=.:$JAVA_9_HOME/lib:$JAVA_9_HOME/lib/tools.jar

maven 这边是不需要安装的,因为它这边使用的是 mvnwmvnw 会自动安装一个 maven 。

mvnw是Maven Wrapper的缩写。因为我们安装Maven时,默认情况下,系统所有项目都会使用全局安装的这个Maven版本。但是,对于某些项目来说,它可能必须使用某个特定的Maven版本,这个时候,就可以使用Maven Wrapper,它可以负责给这个特定的项目安装指定版本的Maven,而其他项目不受影响。

简单地说,Maven Wrapper就是给一个项目提供一个独立的,指定版本的Maven给它使用。

三、编译注意事项

上面环境安装完了之后,我建议大家将自己的 maven 配置文件 settings.xml 上传到编辑机器。上传的原因是因为默认 mvnw 使用的是默认的源,下载是比较慢的,所以我们建议使用我们添加了阿里云的maven 源的 配置文件,这样下载会更快点。

接下来就是编译了 -s 指定我们的maven 配置文件

./mvnw clean  install -DskipTests=true  -s /usr/local/apache-maven/conf/settings.xml

四、编译目录

编译完之后,我们会使用到的包的目录分别为

  • pinpoint # 打包目录

    • agent 包 agent/target/pinpoint-agent-2.1.0.tar.gz or agent/target/pinpoint-agent-2.1.0.zip
    • web 包 web/target/deploy/pinpoint-web-boot-2.1.0.jar
    • collector 包 collector/target/deploy/pinpoint-collector-boot-2.1.0.jar
    • flink job包 flink/target/pinpoint-flink-job-2.1.0.jar

五、注意事项

  1. 注意编译web 的时候会用到 node, 这个项目会自动去下载node, 然后进行进行拉取包安装。 我们可以找到对应的 node ,然后将node 源设置为淘宝的源,这样编译会快很多。
  2. 整个编译第一次需要的时间比较长,需要耐心等待

Pinpoint 编译环境搭建(Pinpoint系列一)的更多相关文章

  1. C语言编程入门之--第二章编译环境搭建

    第二章 编译环境搭建 导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关 ...

  2. ubuntu12.04下安卓编译环境搭建总结

    前言:      因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...

  3. windows下cocos2dx3.0开发环境及Android编译环境搭建

    cocos2dx更新到了3.x版本号,自己一直没有换,如今开发组要求统一换版本号,我就把搭建好开发环境的过程记录下来. 一.Windowns下开发环境搭建 1.  所需工具         1)coc ...

  4. Emscripten编译环境搭建--将C和C++编译成JS

    Emscripten编译环境搭建--将C和C++编译成JS 需求:linux环境下用js执行c.c++文件,使用emscirpten编译器 目标:搭建好Emscripten环境 环境:Ubuntu16 ...

  5. openwrt(一):openwrt源码下载及编译环境搭建

    声明:从网上各位大神的博客学习,整理后记录,非原创. 注:请用非root用户来下载源码 导航: 1. openwrt编译环境搭建 2. openwrt源码下载 3. feeds更新 1. openwr ...

  6. IoT设备程序开发及编译环境搭建初体验

    引言 Mirai事件一经曝出,立即引领了一轮研究IoT设备的热潮.目前,对Mirai的报告大多只是在对其功能实现上的介绍,却很少提及如何实现IoT设备程序开发的测试环境.本文在对Mirai的源码研究的 ...

  7. Tiny4412 开发板 编译环境搭建【转】

    本文转载自:http://blog.csdn.net/beijiwei/article/details/51055369 版权声明:本文为博主原创文章,未经博主允许不得转载. /*********** ...

  8. u-boot 移植(一)编译环境搭建

    u-boot 移植(一)编译环境搭建 soc:s3c2440 board:jz2440 uboot:u-boot-2016.11 toolchain:gcc-linaro-7.4.1-2019.02- ...

  9. 微服务:ICE 入门之 编译环境搭建

    俗话说分享是学习的重要途径之一,提高自己的过程,学习,研究,应用,解决问题,总结,分享:闲来无事时便可总结下自己学习过的知识,把之前遇到过的问题也上升到方法论,把自己踩过的坑也罗列出来以防重蹈覆辙!好 ...

随机推荐

  1. 查看centos 7.6 当前所有监听端口

    由于要开展服务器安全工作查看系统当前所监听端口 ss -lnt 缺点发现有重复端口也显示出来了! ss -lnt | awk '/*

  2. Linux的安全模型

    3A 资源分派: Authentication:认证,验证用户身份 Authorization:授权,不同的用户设置不同权限 Accouting|Audition:审计 当用户登录成功时,系统会自动分 ...

  3. java之集合容器(Collection,Map)

    首先我们要了解什么是集合? 正所谓容器,比如说杯子是装水的容器,衣柜是装衣服的容器,那么集合就是装数据的容器. 集合有什么特点呢? 1.集合长度是可变的 2.集合用来存储对象 集合和数组有什么区别呢? ...

  4. Spring Boot学习笔记(二)——HelloWorld实现

    提示:要在Eclipse里使用Spring Boot,首先要安装STS插件,前面我们已经安装了STS插件了,可以创建Spring Boot项目了. 1.创建项目: 新建项目,选择Spring Boot ...

  5. exe打包成安装文件(界面美观)

    前言 在开发windows桌面应用过程中,软件交付时,一般都是交付安装包. 安装文件的优点 显得更正规,安装界面也可展示软件特点介绍,可自动生成桌面图标等: 安装包体积要比软件小,方便下载. 探索之路 ...

  6. Linux防火墙篇

    关闭firewall:systemctl stop firewalld.service    #停止firewallsystemctl disable firewalld.service   #禁止f ...

  7. Mybatis入门 Mybatis存在的意义 解决的问题 基本操作

    Mybatis入门 Mybatis的作用 解决的问题 基本操作 为什么要学MyBatis 我们链接操作数据库需要做的步骤 package Test; import java.sql.*; public ...

  8. 学习写简单的RPC框架demo

    学习实现一个简单的RPC框架. 工程主要目录分级结构: rpc-common: 公共基础包,能力提供包 rpc-provider: 服务提供者 rpc-consumer:服务消费者 rpc-servi ...

  9. 4G DTU是什么 4G DTU的功能和特点

    4G DTU是什么 DTU中文名称是"数据传输终端",根据数据传输时使用的传输方式网络的不同,DTU设备又可以分为很多种类,例如:4G DTU.NB-IOT DTU.LORA DT ...

  10. 我的第三次C语言作业

    我的第三次C语言作业 这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2 这个作业要求在哪里 https://edu.cnblogs.co ...