Pinpoint 编译环境搭建(Pinpoint系列一)
本文基于 Pinpoint 2.1.0 版本
新版本的内容参考官方文档, Pinpoint的整个搭建是历经艰辛。
一、2.1.0 版本特性
见官方文档 https://pinpoint-apm.github.io/pinpoint/2.1.0/main.html
- 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
- Clone Pinpoint -
git clone $PINPOINT_GIT_REPOSITORY
(下载代码) - Set JAVA_HOME environment variable to JDK 8 home directory.
- Set JAVA_6_HOME environment variable to JDK 6 home directory (1.6.0_45 recommended).
- Set JAVA_7_HOME environment variable to JDK 7 home directory (1.7.0_80 recommended).
- Set JAVA_8_HOME environment variable to JDK 8 home directory.
- Set JAVA_9_HOME environment variable to JDK 9 home directory.
- 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 这边是不需要安装的,因为它这边使用的是 mvnw
, mvnw
会自动安装一个 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
- agent 包
五、注意事项
- 注意编译web 的时候会用到 node, 这个项目会自动去下载node, 然后进行进行拉取包安装。 我们可以找到对应的 node ,然后将node 源设置为淘宝的源,这样编译会快很多。
- 整个编译第一次需要的时间比较长,需要耐心等待