Merge pull request #283 from jcrygier/master

Dockerize HBase, Collector and Web
This commit is contained in:
Hoonmin Kim
2015-05-07 09:40:17 +09:00
10 changed files with 188 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
# DESCRIPTION Pinpoint APM Collector
# TO_BUILD docker build -t pinpoint-collector .
# TO_RUN docker run -d --net=host -e HBASE_HOST=<HOST_IP> -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 <john.crygier@ventivtech.com>
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 && \
mkdir -p /usr/local/tomcat/webapps && \
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"]
@@ -0,0 +1,3 @@
hbase.client.host=HBASE_HOST
hbase.client.port=HBASE_PORT
hbase.htable.threads.max=4
@@ -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=
+20
View File
@@ -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
+40
View File
@@ -0,0 +1,40 @@
# DESCRIPTION Pinpoint APM HBase (Data Storage)
# TO_BUILD docker build -t 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 <john.crygier@ventivtech.com>
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
+18
View File
@@ -0,0 +1,18 @@
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/pinpoint/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/pinpoint/zookeeper</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<property>
<name>hbase.regionserver.port</name>
<value>60020</value>
</property>
</configuration>
+22
View File
@@ -0,0 +1,22 @@
# DESCRIPTION Pinpoint APM Web (User Interface)
# TO_BUILD docker build -t pinpoint-web .
# TO_RUN docker run -d -p 8080:8080 --net=host -e HBASE_HOST=<HOST_IP> -e HBASE_PORT=2181 --name=pinpoint-web pinpoint-web
FROM tomcat:8-jre8
MAINTAINER John Crygier <john.crygier@ventivtech.com>
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 && \
mkdir -p /usr/local/tomcat/webapps && \
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"]
+3
View File
@@ -0,0 +1,3 @@
hbase.client.host=HBASE_HOST
hbase.client.port=HBASE_PORT
hbase.htable.threads.max=4
@@ -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=
+14
View File
@@ -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