Pinpoint 編譯環境搭建(Pinpoint系列一)

自由早晚亂餘生發表於2020-11-23

本文基於 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. 整個編譯第一次需要的時間比較長,需要耐心等待

相關文章