From dbaa5ba3caf6da26289c48cb93ea1fd9496d0076 Mon Sep 17 00:00:00 2001 From: John Crygier Date: Tue, 31 Mar 2015 08:23:17 -0500 Subject: [PATCH 1/3] Dockerize HBase, Collector and Web --- docker/pinpoint-collector/Dockerfile | 21 ++++++++++ docker/pinpoint-collector/hbase.properties | 3 ++ .../pinpoint-collector.properties | 32 +++++++++++++++ docker/pinpoint-collector/start.sh | 20 ++++++++++ docker/pinpoint-hbase/Dockerfile | 40 +++++++++++++++++++ docker/pinpoint-hbase/hbase-site.xml | 18 +++++++++ docker/pinpoint-web/Dockerfile | 21 ++++++++++ docker/pinpoint-web/hbase.properties | 3 ++ docker/pinpoint-web/pinpoint-web.properties | 14 +++++++ docker/pinpoint-web/start.sh | 14 +++++++ 10 files changed, 186 insertions(+) create mode 100644 docker/pinpoint-collector/Dockerfile create mode 100644 docker/pinpoint-collector/hbase.properties create mode 100644 docker/pinpoint-collector/pinpoint-collector.properties create mode 100644 docker/pinpoint-collector/start.sh create mode 100644 docker/pinpoint-hbase/Dockerfile create mode 100644 docker/pinpoint-hbase/hbase-site.xml create mode 100644 docker/pinpoint-web/Dockerfile create mode 100644 docker/pinpoint-web/hbase.properties create mode 100644 docker/pinpoint-web/pinpoint-web.properties create mode 100644 docker/pinpoint-web/start.sh diff --git a/docker/pinpoint-collector/Dockerfile b/docker/pinpoint-collector/Dockerfile new file mode 100644 index 000000000..339a5074d --- /dev/null +++ b/docker/pinpoint-collector/Dockerfile @@ -0,0 +1,21 @@ +# DESCRIPTION Pinpoint APM Collector +# TO_BUILD docker build -t pinpoint-collector . +# TO_RUN docker run -d -e HBASE_HOST=192.168.59.103 -e HBASE_PORT=2181 -e COLLECTOR_TCP_PORT=9994 -e COLLECTOR_UDP_STAT_LISTEN_PORT=9995 -e COLLECTOR_UDP_SPAN_LISTEN_PORT=9996 -p 9994:9994 -p 9995:9995/udp -p 9996:9996/udp --name=pinpoint-collector pinpoint-collector + +FROM tomcat:8-jre8 +MAINTAINER John Crygier + +ENV PINPOINT_VERSION 1.0.4 + +RUN curl -SL "https://github.com/naver/pinpoint/releases/download/$PINPOINT_VERSION/pinpoint-collector-$PINPOINT_VERSION.war" -o pinpoint-collector.war && \ + rm -rf /usr/local/tomcat/webapps/ROOT && \ + unzip pinpoint-collector.war -d /usr/local/tomcat/webapps/ROOT && \ + rm -rf pinpoint-collector.war + +ADD start.sh /usr/local/tomcat/start.sh +RUN chmod a+x /usr/local/tomcat/start.sh + +ADD hbase.properties /assets/hbase.properties +ADD pinpoint-collector.properties /assets/pinpoint-collector.properties + +CMD ["/usr/local/tomcat/start.sh"] \ No newline at end of file diff --git a/docker/pinpoint-collector/hbase.properties b/docker/pinpoint-collector/hbase.properties new file mode 100644 index 000000000..ab80251d5 --- /dev/null +++ b/docker/pinpoint-collector/hbase.properties @@ -0,0 +1,3 @@ +hbase.client.host=HBASE_HOST +hbase.client.port=HBASE_PORT +hbase.htable.threads.max=4 \ No newline at end of file diff --git a/docker/pinpoint-collector/pinpoint-collector.properties b/docker/pinpoint-collector/pinpoint-collector.properties new file mode 100644 index 000000000..2befb7307 --- /dev/null +++ b/docker/pinpoint-collector/pinpoint-collector.properties @@ -0,0 +1,32 @@ +hbase.hTablePoolSize=1024 + +# tcp listen ip +collector.tcpListenIp=0.0.0.0 +collector.tcpListenPort=COLLECTOR_TCP_PORT + +# udp listen ip +collector.udpStatListenIp=0.0.0.0 +collector.udpStatListenPort=COLLECTOR_UDP_STAT_LISTEN_PORT + +collector.l4.ip= + +collector.udpStatWorkerThread=16 +collector.udpStatWorkerQueueSize=512 + +collector.udpStatSocketReceiveBufferSize=4194304 + + +# span listen port --------------------------------------------------------------------- +collector.udpSpanListenIp=0.0.0.0 +collector.udpSpanListenPort=COLLECTOR_UDP_SPAN_LISTEN_PORT + +collector.udpSpanWorkerThread=32 +collector.udpSpanWorkerQueueSize=1024 + +collector.udpSpanSocketReceiveBufferSize=4194304 + +statistics.flushPeriod=1000 + +cluster.enable=false +cluster.zookeeper.address= +cluster.zookeeper.sessiontimeout= \ No newline at end of file diff --git a/docker/pinpoint-collector/start.sh b/docker/pinpoint-collector/start.sh new file mode 100644 index 000000000..e7858e822 --- /dev/null +++ b/docker/pinpoint-collector/start.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e +set -x + +COLLECTOR_TCP_PORT=${COLLECTOR_TCP_PORT:-} +COLLECTOR_UDP_STAT_LISTEN_PORT=${COLLECTOR_UDP_STAT_LISTEN_PORT:-} +COLLECTOR_UDP_SPAN_LISTEN_PORT=${COLLECTOR_UDP_SPAN_LISTEN_PORT:-} +HBASE_HOST=${HBASE_HOST:-} +HBASE_PORT=${HBASE_PORT:-} + +cp /assets/pinpoint-collector.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties +cp /assets/hbase.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties + +sed 's/COLLECTOR_TCP_PORT/'"${COLLECTOR_TCP_PORT}"'/g' -i /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties +sed 's/COLLECTOR_UDP_STAT_LISTEN_PORT/'"${COLLECTOR_UDP_STAT_LISTEN_PORT}"'/g' -i /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties +sed 's/COLLECTOR_UDP_SPAN_LISTEN_PORT/'"${COLLECTOR_UDP_SPAN_LISTEN_PORT}"'/g' -i /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties +sed 's/HBASE_HOST/'"${HBASE_HOST}"'/g' -i /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties +sed 's/HBASE_PORT/'"${HBASE_PORT}"'/g' -i /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties + +/usr/local/tomcat/bin/catalina.sh run \ No newline at end of file diff --git a/docker/pinpoint-hbase/Dockerfile b/docker/pinpoint-hbase/Dockerfile new file mode 100644 index 000000000..698894eee --- /dev/null +++ b/docker/pinpoint-hbase/Dockerfile @@ -0,0 +1,40 @@ +# DESCRIPTION Pinpoint APM HBase (Data Storage) +# TO_BUILD docker build -t pinpoint-hbase . +# TO_RUN docker run -d -p 2181:2181 -p 60000:60000 -p 60010:60010 -p 60020:60020 -p 60030:60030 --name=pinpoint-hbase pinpoint-hbase + +FROM java:7-jdk +MAINTAINER John Crygier + +ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64/ +ENV HBASE_VERSION 0.94.27 +ENV HBASE_HOME /opt/hbase/hbase-$HBASE_VERSION + +RUN mkdir -p /opt/hbase && \ + cd /opt/hbase && \ + curl -SL "http://apache.mirrors.pair.com/hbase/hbase-$HBASE_VERSION/hbase-$HBASE_VERSION.tar.gz" -o hbase.tar.gz && \ + tar xfvz hbase.tar.gz && \ + rm -rf hbase.tar.gz + +ADD hbase-site.xml /opt/hbase/hbase-$HBASE_VERSION/conf/hbase-site.xml + +RUN curl -SL "https://raw.githubusercontent.com/naver/pinpoint/master/scripts/hbase-create.hbase" -o /opt/hbase/hbase-create.hbase && \ + $HBASE_HOME/bin/start-hbase.sh && \ + sleep 10 && \ + $HBASE_HOME/bin/hbase shell /opt/hbase/hbase-create.hbase && \ + $HBASE_HOME/bin/stop-hbase.sh + +VOLUME /home/pinpoint/hbase +VOLUME /home/pinpoint/zookeeper + +# zookeeper +EXPOSE 2181 +# HBase Master API port +EXPOSE 60000 +# HBase Master Web UI +EXPOSE 60010 +# Regionserver API port +EXPOSE 60020 +# HBase Regionserver web UI +EXPOSE 60030 + +CMD /opt/hbase/hbase-0.94.27/bin/hbase master start \ No newline at end of file diff --git a/docker/pinpoint-hbase/hbase-site.xml b/docker/pinpoint-hbase/hbase-site.xml new file mode 100644 index 000000000..99d11dd0b --- /dev/null +++ b/docker/pinpoint-hbase/hbase-site.xml @@ -0,0 +1,18 @@ + + + hbase.rootdir + file:///home/pinpoint/hbase + + + hbase.zookeeper.property.dataDir + /home/pinpoint/zookeeper + + + hbase.master.port + 60000 + + + hbase.regionserver.port + 60020 + + \ No newline at end of file diff --git a/docker/pinpoint-web/Dockerfile b/docker/pinpoint-web/Dockerfile new file mode 100644 index 000000000..cd271da45 --- /dev/null +++ b/docker/pinpoint-web/Dockerfile @@ -0,0 +1,21 @@ +# DESCRIPTION Pinpoint APM Web (User Interface) +# TO_BUILD docker build -t pinpoint-web . +# TO_RUN docker run -d -p 8080:8080 -e HBASE_HOST=192.168.59.103 -e HBASE_PORT=2181 --name=pinpoint-web pinpoint-web + +FROM tomcat:8-jre8 +MAINTAINER John Crygier + +ENV PINPOINT_VERSION 1.0.4 + +RUN curl -SL "https://github.com/naver/pinpoint/releases/download/$PINPOINT_VERSION/pinpoint-web-$PINPOINT_VERSION.war" -o pinpoint-web.war && \ + rm -rf /usr/local/tomcat/webapps/ROOT && \ + unzip pinpoint-web.war -d /usr/local/tomcat/webapps/ROOT && \ + rm -rf pinpoint-web.war + +ADD start.sh /usr/local/tomcat/start.sh +RUN chmod a+x /usr/local/tomcat/start.sh + +ADD hbase.properties /assets/hbase.properties +ADD pinpoint-web.properties /assets/pinpoint-web.properties + +CMD ["/usr/local/tomcat/start.sh"] \ No newline at end of file diff --git a/docker/pinpoint-web/hbase.properties b/docker/pinpoint-web/hbase.properties new file mode 100644 index 000000000..ab80251d5 --- /dev/null +++ b/docker/pinpoint-web/hbase.properties @@ -0,0 +1,3 @@ +hbase.client.host=HBASE_HOST +hbase.client.port=HBASE_PORT +hbase.htable.threads.max=4 \ No newline at end of file diff --git a/docker/pinpoint-web/pinpoint-web.properties b/docker/pinpoint-web/pinpoint-web.properties new file mode 100644 index 000000000..b61c3472b --- /dev/null +++ b/docker/pinpoint-web/pinpoint-web.properties @@ -0,0 +1,14 @@ +# local +cluster.enable=false +cluster.web.tcp.port=9995 +cluster.zookeeper.address=127.0.0.1:22213 +cluster.zookeeper.sessiontimeout=3000 +cluster.zookeeper.retry.interval=5000 + +# FIXME - should be removed for proper authentication +admin.password=admin + +#log site link +#log.enable=false +#log.page.url= +#log.button.name= \ No newline at end of file diff --git a/docker/pinpoint-web/start.sh b/docker/pinpoint-web/start.sh new file mode 100644 index 000000000..056e046ca --- /dev/null +++ b/docker/pinpoint-web/start.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -e +set -x + +HBASE_HOST=${HBASE_HOST:-} +HBASE_PORT=${HBASE_PORT:-} + +cp /assets/pinpoint-web.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/pinpoint-web.properties +cp /assets/hbase.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties + +sed 's/HBASE_HOST/'"${HBASE_HOST}"'/g' -i /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties +sed 's/HBASE_PORT/'"${HBASE_PORT}"'/g' -i /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/hbase.properties + +/usr/local/tomcat/bin/catalina.sh run \ No newline at end of file From 5827db3999d558cc0250d4375eae422b7c6fee71 Mon Sep 17 00:00:00 2001 From: Hoonmin Kim Date: Wed, 6 May 2015 17:14:04 +0900 Subject: [PATCH 2/3] Removed useless default applications --- docker/pinpoint-collector/Dockerfile | 5 +++-- docker/pinpoint-web/Dockerfile | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docker/pinpoint-collector/Dockerfile b/docker/pinpoint-collector/Dockerfile index 339a5074d..7ccadf839 100644 --- a/docker/pinpoint-collector/Dockerfile +++ b/docker/pinpoint-collector/Dockerfile @@ -8,7 +8,8 @@ MAINTAINER John Crygier ENV PINPOINT_VERSION 1.0.4 RUN curl -SL "https://github.com/naver/pinpoint/releases/download/$PINPOINT_VERSION/pinpoint-collector-$PINPOINT_VERSION.war" -o pinpoint-collector.war && \ - rm -rf /usr/local/tomcat/webapps/ROOT && \ + rm -rf /usr/local/tomcat/webapps && \ + mkdir -p /usr/local/tomcat/webapps && \ unzip pinpoint-collector.war -d /usr/local/tomcat/webapps/ROOT && \ rm -rf pinpoint-collector.war @@ -18,4 +19,4 @@ RUN chmod a+x /usr/local/tomcat/start.sh ADD hbase.properties /assets/hbase.properties ADD pinpoint-collector.properties /assets/pinpoint-collector.properties -CMD ["/usr/local/tomcat/start.sh"] \ No newline at end of file +CMD ["/usr/local/tomcat/start.sh"] diff --git a/docker/pinpoint-web/Dockerfile b/docker/pinpoint-web/Dockerfile index cd271da45..39a3261d8 100644 --- a/docker/pinpoint-web/Dockerfile +++ b/docker/pinpoint-web/Dockerfile @@ -8,7 +8,8 @@ MAINTAINER John Crygier ENV PINPOINT_VERSION 1.0.4 RUN curl -SL "https://github.com/naver/pinpoint/releases/download/$PINPOINT_VERSION/pinpoint-web-$PINPOINT_VERSION.war" -o pinpoint-web.war && \ - rm -rf /usr/local/tomcat/webapps/ROOT && \ + rm -rf /usr/local/tomcat/webapps && \ + mkdir -p /usr/local/tomcat/webapps && \ unzip pinpoint-web.war -d /usr/local/tomcat/webapps/ROOT && \ rm -rf pinpoint-web.war @@ -18,4 +19,4 @@ RUN chmod a+x /usr/local/tomcat/start.sh ADD hbase.properties /assets/hbase.properties ADD pinpoint-web.properties /assets/pinpoint-web.properties -CMD ["/usr/local/tomcat/start.sh"] \ No newline at end of file +CMD ["/usr/local/tomcat/start.sh"] From bef1cb278440d376d45365c1add7379b1244f97a Mon Sep 17 00:00:00 2001 From: Hoonmin Kim Date: Wed, 6 May 2015 17:17:01 +0900 Subject: [PATCH 3/3] Added "--net=host" option to run dockerized HBase --- docker/pinpoint-collector/Dockerfile | 2 +- docker/pinpoint-hbase/Dockerfile | 4 ++-- docker/pinpoint-web/Dockerfile | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/pinpoint-collector/Dockerfile b/docker/pinpoint-collector/Dockerfile index 7ccadf839..e2b98fd15 100644 --- a/docker/pinpoint-collector/Dockerfile +++ b/docker/pinpoint-collector/Dockerfile @@ -1,6 +1,6 @@ # DESCRIPTION Pinpoint APM Collector # TO_BUILD docker build -t pinpoint-collector . -# TO_RUN docker run -d -e HBASE_HOST=192.168.59.103 -e HBASE_PORT=2181 -e COLLECTOR_TCP_PORT=9994 -e COLLECTOR_UDP_STAT_LISTEN_PORT=9995 -e COLLECTOR_UDP_SPAN_LISTEN_PORT=9996 -p 9994:9994 -p 9995:9995/udp -p 9996:9996/udp --name=pinpoint-collector pinpoint-collector +# TO_RUN docker run -d --net=host -e HBASE_HOST= -e HBASE_PORT=2181 -e COLLECTOR_TCP_PORT=9994 -e COLLECTOR_UDP_STAT_LISTEN_PORT=9995 -e COLLECTOR_UDP_SPAN_LISTEN_PORT=9996 -p 9994:9994 -p 9995:9995/udp -p 9996:9996/udp --name=pinpoint-collector pinpoint-collector FROM tomcat:8-jre8 MAINTAINER John Crygier diff --git a/docker/pinpoint-hbase/Dockerfile b/docker/pinpoint-hbase/Dockerfile index 698894eee..d4bc7833b 100644 --- a/docker/pinpoint-hbase/Dockerfile +++ b/docker/pinpoint-hbase/Dockerfile @@ -1,6 +1,6 @@ # DESCRIPTION Pinpoint APM HBase (Data Storage) # TO_BUILD docker build -t pinpoint-hbase . -# TO_RUN docker run -d -p 2181:2181 -p 60000:60000 -p 60010:60010 -p 60020:60020 -p 60030:60030 --name=pinpoint-hbase pinpoint-hbase +# TO_RUN docker run -d --net=host -p 2181:2181 -p 60000:60000 -p 60010:60010 -p 60020:60020 -p 60030:60030 --name=pinpoint-hbase pinpoint-hbase FROM java:7-jdk MAINTAINER John Crygier @@ -37,4 +37,4 @@ EXPOSE 60020 # HBase Regionserver web UI EXPOSE 60030 -CMD /opt/hbase/hbase-0.94.27/bin/hbase master start \ No newline at end of file +CMD /opt/hbase/hbase-0.94.27/bin/hbase master start diff --git a/docker/pinpoint-web/Dockerfile b/docker/pinpoint-web/Dockerfile index 39a3261d8..1a820d4fe 100644 --- a/docker/pinpoint-web/Dockerfile +++ b/docker/pinpoint-web/Dockerfile @@ -1,6 +1,6 @@ # DESCRIPTION Pinpoint APM Web (User Interface) # TO_BUILD docker build -t pinpoint-web . -# TO_RUN docker run -d -p 8080:8080 -e HBASE_HOST=192.168.59.103 -e HBASE_PORT=2181 --name=pinpoint-web pinpoint-web +# TO_RUN docker run -d -p 8080:8080 --net=host -e HBASE_HOST= -e HBASE_PORT=2181 --name=pinpoint-web pinpoint-web FROM tomcat:8-jre8 MAINTAINER John Crygier