本文基於 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 源設定為淘寶的源,這樣編譯會快很多。
- 整個編譯第一次需要的時間比較長,需要耐心等待