1.设置java的版本,我这里统一用jdk8,当然在这之前肯定是要安装好mvn的
export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
2.拉取代码 安装整个pinpoint
git clone https://github.com/naver/pinpoint.git
cd pinpoint
mvn clean install
执行之后 会有一大推信息输出到终端
3.安装pinpoint-hbase
➜ pinpoint git:(master) ✗ cd hbase
➜ hbase git:(master) ✗ export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
➜ hbase git:(master) ✗ mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pinpoint-hbase-distribution -SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-pinpoint-build-requirements) @ pinpoint-hbase ---
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.15:check (ensure-java-1.6-class-library) @ pinpoint-hbase ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java16:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: s
[INFO] Finished at: --T18::+:
[INFO] Final Memory: M/M
[INFO] ------------------------------------------------------------------------
//这一步会创建docker 镜像 Building image naver/pinpoint-hbase:-SNAPSHOT
➜ hbase git:(master) ✗ mvn docker:build
hbase Dockerfile
➜ docker git:(master) ✗ pwd
/Users/xinzhiyun/pinpoint/hbase/target/docker
➜ docker git:(master) ✗ cat Dockerfile
FROM java:-jdk
ENV HBASE_HOME /opt/hbase/hbase-
ENV HBASE_REPOSITORY http://apache.mirrors.pair.com/hbase
ENV HBASE_SUB_REPOSITORY http://archive.apache.org/dist/hbase
ENV HBASE_VERSION
ENV JAVA_HOME /usr/lib/jvm/java--openjdk-amd64
ADD /opt/hbase/hbase-create.hbase /opt/hbase/
ADD /opt/hbase/hbase-site.xml /opt/hbase/
RUN curl -fSL "$HBASE_REPOSITORY/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz" -o hbase.tar.gz || curl -fSL "$HBASE_SUB_REPOSITORY/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz" -o hbase.tar.gz
RUN tar xfvz hbase.tar.gz -C /opt/hbase
RUN rm -rf hbase.tar.gz
RUN cp /opt/hbase/hbase-site.xml /opt/hbase/hbase-$HBASE_VERSION/conf/hbase-site.xml
RUN $HBASE_HOME/bin/start-hbase.sh; sleep ; $HBASE_HOME/bin/hbase shell /opt/hbase/hbase-create.hbase; $HBASE_HOME/bin/stop-hbase.sh
EXPOSE
ENTRYPOINT /opt/hbase/hbase-$HBASE_VERSION/bin/hbase master start
4.安装pinpoint-collector
➜ pinpoint git:(master) ✗ cd collector
➜ collector git:(master) ✗ export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
➜ collector git:(master) ✗ mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pinpoint-collector -SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-pinpoint-build-requirements) @ pinpoint-collector ---
....
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.15:check (ensure-java-1.8-class-library) @ pinpoint-collector ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java18:
[INFO]
[INFO] --- maven-war-plugin:2.6:war (default-war) @ pinpoint-collector ---
[INFO] Packaging webapp
[INFO] Assembling webapp [pinpoint-collector] in [/Users/xinzhiyun/pinpoint/collector/target/deploy]
[INFO] Processing war project
[INFO] Copying webapp resources [/Users/xinzhiyun/pinpoint/collector/src/main/webapp]
[INFO] Webapp assembled in [ msecs]
[INFO] Building war: /Users/xinzhiyun/pinpoint/collector/target/pinpoint-collector--SNAPSHOT.war
[INFO] Packaging classes
[INFO] Building jar: /Users/xinzhiyun/pinpoint/collector/target/pinpoint-collector--SNAPSHOT-classes.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: s
[INFO] Finished at: --T19::+:
[INFO] Final Memory: M/M
[INFO] ------------------------------------------------------------------------
....
mvn docker:build
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pinpoint-collector -SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- docker-maven-plugin:0.4.3:build (default-cli) @ pinpoint-collector ---
[INFO] Copying /Users/xinzhiyun/pinpoint/collector/target/pinpoint-collector--SNAPSHOT.war -> /Users/xinzhiyun/pinpoint/collector/target/docker/assets/pinpoint-collector--SNAPSHOT.war
[INFO] Copying /Users/xinzhiyun/pinpoint/collector/target/deploy/WEB-INF/classes/hbase.properties -> /Users/xinzhiyun/pinpoint/collector/target/docker/assets/hbase.properties
[INFO] Copying /Users/xinzhiyun/pinpoint/collector/target/deploy/WEB-INF/classes/pinpoint-collector.properties -> /Users/xinzhiyun/pinpoint/collector/target/docker/assets/pinpoint-collector.properties
[INFO] Copying /Users/xinzhiyun/pinpoint/collector/start-collector.sh -> /Users/xinzhiyun/pinpoint/collector/target/docker/usr/local/bin/start-collector.sh
[INFO] Building image naver/pinpoint-collector:-SNAPSHOT
Step / : FROM tomcat:-jre8
collector Dockerfile
➜ docker git:(master) ✗ pwd
/Users/xinzhiyun/pinpoint/collector/target/docker
➜ docker git:(master) ✗ cat Dockerfile
FROM tomcat:8-jre8
ADD /assets/pinpoint-collector-1.7.0-SNAPSHOT.war /assets/
ADD /assets/hbase.properties /assets/
ADD /assets/pinpoint-collector.properties /assets/
ADD /usr/local/bin/start-collector.sh /usr/local/bin/
RUN chmod a+x /usr/local/bin/start-collector.sh
RUN rm -rf /usr/local/tomcat/webapps/*
RUN sed -i -e 's/8005/9005/' /usr/local/tomcat/conf/server.xml
RUN sed -i -e 's/8080/9080/' /usr/local/tomcat/conf/server.xml
RUN sed -i -e 's/8009/9009/' /usr/local/tomcat/conf/server.xml
RUN sed -i -e 's/8443/9443/' /usr/local/tomcat/conf/server.xml
RUN unzip /assets/pinpoint-collector--SNAPSHOT.war -d /usr/local/tomcat/webapps/ROOT
RUN rm -rf /assets/pinpoint-collector--SNAPSHOT.war
EXPOSE
ENTRYPOINT ["/usr/local/bin/start-collector.sh"]
5.安装pinpoint-web
➜ collector git:(master) ✗ export JAVA_6_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
➜ cd web
➜ mvn package
...
Tests run: , Failures: , Errors: , Skipped:
[INFO]
[INFO] --- animal-sniffer-maven-plugin::check (ensure-java--class-library) @ pinpoint-web ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java18:
[INFO]
[INFO] --- maven-war-plugin::war (default-war) @ pinpoint-web ---
[INFO] Packaging webapp
[INFO] Assembling webapp [pinpoint-web] in [/Users/xinzhiyun/pinpoint/web/target/deploy]
[INFO] Processing war project
[INFO] Copying webapp webResources [/Users/xinzhiyun/pinpoint/web/target/main/webapp] to [/Users/xinzhiyun/pinpoint/web/target/deploy]
[INFO] Copying webapp resources [/Users/xinzhiyun/pinpoint/web/src/main/webapp]
[INFO] Webapp assembled in [ msecs]
[INFO] Building war: /Users/xinzhiyun/pinpoint/web/target/pinpoint-web--SNAPSHOT.war
[INFO] Packaging classes
[INFO] Building jar: /Users/xinzhiyun/pinpoint/web/target/pinpoint-web--SNAPSHOT-classes.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: s
[INFO] Finished at: --09T19::+:
[INFO] Final Memory: 29M/650M
[INFO] ------------------------------------------------------------------------
➜ mvn docker:build
web Dockerfile
➜ docker git:(master) ✗ pwd
/Users/xinzhiyun/pinpoint/web/target/docker
➜ docker git:(master) ✗ cat Dockerfile
FROM tomcat:-jre8
ADD /assets/pinpoint-web--SNAPSHOT.war /assets/
ADD /assets/hbase.properties /assets/
ADD /assets/pinpoint-web.properties /assets/
ADD /usr/local/bin/start-web.sh /usr/local/bin/
RUN chmod a+x /usr/local/bin/start-web.sh
RUN rm -rf /usr/local/tomcat/webapps/*
RUN unzip /assets/pinpoint-web-1.7.0-SNAPSHOT.war -d /usr/local/tomcat/webapps/ROOT
RUN rm -rf /assets/pinpoint-web-1.7.0-SNAPSHOT.war
EXPOSE 8080
ENTRYPOINT ["/usr/local/bin/start-web.sh"]```
6.安装pinpoint-agent
cd agent
mvn package
mvn docker:build
agent Dockerfile
➜ docker git:(master) ✗ pwd
/Users/xinzhiyun/pinpoint/agent/target/docker
➜ docker git:(master) ✗ ll
total
-rw-r--r-- xinzhiyun staff B : Dockerfile
drwxr-xr-x xinzhiyun staff B : assets
drwxr-xr-x xinzhiyun staff B : usr
➜ docker git:(master) ✗ cat Dockerfile
FROM alpine:
ADD /assets/pinpoint-agent/pinpoint-agent--SNAPSHOT.tar.gz /assets/pinpoint-agent/
ADD /usr/local/bin/configure-agent.sh /usr/local/bin/
RUN apk add --update bash
RUN cp -v /assets/pinpoint-agent/pinpoint.config /assets/pinpoint.config
RUN chmod a+x /usr/local/bin/configure-agent.sh
RUN rm /var/cache/apk/*
ENTRYPOINT ["/usr/local/bin/configure-agent.sh"]
VOLUME /assets/pinpoint-agent
7.最后一步
docker images
➜ docker git:(master) ✗ sudo docker images
Password:
REPOSITORY TAG IMAGE ID CREATED SIZE
:/pinpoint/pinpoint-hbase v1 b650010075 minutes ago GB
:/pinpoint/pinpoint-agent v1 b0d73916 minutes ago MB
:/pinpoint/pinpoint-web v1 bf08ed422 minutes ago MB
:/pinpoint/pinpoint-collector v1 d2ea3982bf4c minutes ago MB
tomcat -jre8 a2fbbcebd67e days ago MB
alpine be345c901f days ago MB
mysql a8e1a5c0b2 weeks ago MB
java -jdk d23bdf5b1b1b months ago MB
➜ pinpoint git:(master) ✗ sudo docker-compose up -d
pinpoint_pinpoint-agent_1 is up-to-date
pinpoint-mysql is up-to-date
pinpoint-hbase is up-to-date
Starting pinpoint-collector
pinpoint-web is up-to-date
➜ pinpoint git:(master) ✗ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac62808f403 :/pinpoint/pinpoint-agent:v1 "/usr/local/bin/co..." minutes ago Up minutes pinpoint_pinpoint-agent_1
ad9fc99b0d :/pinpoint/pinpoint-web:v1 "/usr/local/bin/st..." minutes ago Up minutes :->/tcp pinpoint-web
cce95c095ff :/pinpoint/pinpoint-collector:v1 "/usr/local/bin/st..." minutes ago Up seconds /tcp, :-->-/tcp, :-->-/udp pinpoint-collector
b6b4fe99825f mysql: "docker-entrypoint..." minutes ago Up minutes :->/tcp pinpoint-mysql
fddb80b011a6 :/pinpoint/pinpoint-hbase:v1 "/bin/sh -c '/opt/..." minutes ago Up minutes :->/tcp, /tcp, /tcp, :->/tcp, /tcp pinpoint-hbase
有图有真相