From 8b44bbe769dc28e0803f8f6b06ad58d3b99e7841 Mon Sep 17 00:00:00 2001 From: Kevin Liew Date: Fri, 4 Dec 2015 13:52:45 -0800 Subject: [PATCH 01/10] -Expose ZooKeeper port so the container can be accessible to the 'psql' bulk loader tool -Add JAVA_HOME configuration to remove HBase warning -Reorder instructions for configuration files to take place last (better use of cached images) --- Dockerfile | 15 ++++-- hbase-env.sh | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 147 insertions(+), 5 deletions(-) create mode 100644 hbase-env.sh diff --git a/Dockerfile b/Dockerfile index 1bbd031..ee6885e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM sequenceiq/hadoop-docker:2.7.0 MAINTAINER SequenceIQ -# zookeeper +# Zookeeper ENV ZOOKEEPER_VERSION 3.4.6 RUN curl -s http://mirror.csclub.uwaterloo.ca/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz | tar -xz -C /usr/local/ RUN cd /usr/local && ln -s ./zookeeper-$ZOOKEEPER_VERSION zookeeper @@ -10,7 +10,7 @@ ENV PATH $PATH:$ZOO_HOME/bin RUN mv $ZOO_HOME/conf/zoo_sample.cfg $ZOO_HOME/conf/zoo.cfg RUN mkdir /tmp/zookeeper -# hbase +# HBase ENV HBASE_MAJOR 1.1 ENV HBASE_MINOR 2 ENV HBASE_VERSION "${HBASE_MAJOR}.${HBASE_MINOR}" @@ -18,8 +18,6 @@ RUN curl -s http://apache.mirror.gtcomm.net/hbase/$HBASE_VERSION/hbase-$HBASE_VE RUN cd /usr/local && ln -s ./hbase-$HBASE_VERSION hbase ENV HBASE_HOME /usr/local/hbase ENV PATH $PATH:$HBASE_HOME/bin -RUN rm $HBASE_HOME/conf/hbase-site.xml -ADD hbase-site.xml $HBASE_HOME/conf/hbase-site.xml # phoenix ENV PHOENIX_VERSION 4.6.0 @@ -30,6 +28,12 @@ ENV PATH $PATH:$PHOENIX_HOME/bin RUN cp $PHOENIX_HOME/phoenix-core-$PHOENIX_VERSION-HBase-$HBASE_MAJOR.jar $HBASE_HOME/lib/phoenix.jar RUN cp $PHOENIX_HOME/phoenix-server-$PHOENIX_VERSION-HBase-$HBASE_MAJOR.jar $HBASE_HOME/lib/phoenix-server.jar +# HBase and Phoenix configuration files +RUN rm $HBASE_HOME/conf/hbase-site.xml +RUN rm $HBASE_HOME/conf/hbase-env.sh +ADD hbase-site.xml $HBASE_HOME/conf/hbase-site.xml +ADD hbase-env.sh $HBASE_HOME/conf/hbase-env.sh + # bootstrap-phoenix ADD bootstrap-phoenix.sh /etc/bootstrap-phoenix.sh RUN chown root:root /etc/bootstrap-phoenix.sh @@ -37,4 +41,5 @@ RUN chmod 700 /etc/bootstrap-phoenix.sh CMD ["/etc/bootstrap-phoenix.sh", "-bash"] -EXPOSE 8765 +# expose Zookeeper and Phoenix queryserver ports +EXPOSE 2181 8765 diff --git a/hbase-env.sh b/hbase-env.sh new file mode 100644 index 0000000..5f96788 --- /dev/null +++ b/hbase-env.sh @@ -0,0 +1,137 @@ +# +#/** +# * Licensed to the Apache Software Foundation (ASF) under one +# * or more contributor license agreements. See the NOTICE file +# * distributed with this work for additional information +# * regarding copyright ownership. The ASF licenses this file +# * to you under the Apache License, Version 2.0 (the +# * "License"); you may not use this file except in compliance +# * with the License. You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# */ + +# Set environment variables here. + +# This script sets variables multiple times over the course of starting an hbase process, +# so try to keep things idempotent unless you want to take an even deeper look +# into the startup scripts (bin/hbase, etc.) + +# The java implementation to use. Java 1.7+ required. +export JAVA_HOME=/usr/java/default + +# Extra Java CLASSPATH elements. Optional. +# export HBASE_CLASSPATH= + +# The maximum amount of heap to use. Default is left to JVM default. +# export HBASE_HEAPSIZE=1G + +# Uncomment below if you intend to use off heap cache. For example, to allocate 8G of +# offheap, set the value to "8G". +# export HBASE_OFFHEAPSIZE=1G + +# Extra Java runtime options. +# Below are what we set by default. May only work with SUN JVM. +# For more on why as well as other possible settings, +# see http://wiki.apache.org/hadoop/PerformanceTuning +export HBASE_OPTS="-XX:+UseConcMarkSweepGC" + +# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+ +export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m" +export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m" + +# Uncomment one of the below three options to enable java garbage collection logging for the server-side processes. + +# This enables basic gc logging to the .out file. +# export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps" + +# This enables basic gc logging to its own file. +# If FILE-PATH is not replaced, the log file(.gc) would still be generated in the HBASE_LOG_DIR . +# export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:" + +# This enables basic GC logging to its own file with automatic log rolling. Only applies to jdk 1.6.0_34+ and 1.7.0_2+. +# If FILE-PATH is not replaced, the log file(.gc) would still be generated in the HBASE_LOG_DIR . +# export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc: -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=512M" + +# Uncomment one of the below three options to enable java garbage collection logging for the client processes. + +# This enables basic gc logging to the .out file. +# export CLIENT_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps" + +# This enables basic gc logging to its own file. +# If FILE-PATH is not replaced, the log file(.gc) would still be generated in the HBASE_LOG_DIR . +# export CLIENT_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:" + +# This enables basic GC logging to its own file with automatic log rolling. Only applies to jdk 1.6.0_34+ and 1.7.0_2+. +# If FILE-PATH is not replaced, the log file(.gc) would still be generated in the HBASE_LOG_DIR . +# export CLIENT_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc: -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=512M" + +# See the package documentation for org.apache.hadoop.hbase.io.hfile for other configurations +# needed setting up off-heap block caching. + +# Uncomment and adjust to enable JMX exporting +# See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access. +# More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html +# NOTE: HBase provides an alternative JMX implementation to fix the random ports issue, please see JMX +# section in HBase Reference Guide for instructions. + +# export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" +# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10101" +# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10102" +# export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103" +# export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104" +# export HBASE_REST_OPTS="$HBASE_REST_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10105" + +# File naming hosts on which HRegionServers will run. $HBASE_HOME/conf/regionservers by default. +# export HBASE_REGIONSERVERS=${HBASE_HOME}/conf/regionservers + +# Uncomment and adjust to keep all the Region Server pages mapped to be memory resident +#HBASE_REGIONSERVER_MLOCK=true +#HBASE_REGIONSERVER_UID="hbase" + +# File naming hosts on which backup HMaster will run. $HBASE_HOME/conf/backup-masters by default. +# export HBASE_BACKUP_MASTERS=${HBASE_HOME}/conf/backup-masters + +# Extra ssh options. Empty by default. +# export HBASE_SSH_OPTS="-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR" + +# Where log files are stored. $HBASE_HOME/logs by default. +# export HBASE_LOG_DIR=${HBASE_HOME}/logs + +# Enable remote JDWP debugging of major HBase processes. Meant for Core Developers +# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8070" +# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8071" +# export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8072" +# export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8073" + +# A string representing this instance of hbase. $USER by default. +# export HBASE_IDENT_STRING=$USER + +# The scheduling priority for daemon processes. See 'man nice'. +# export HBASE_NICENESS=10 + +# The directory where pid files are stored. /tmp by default. +# export HBASE_PID_DIR=/var/hadoop/pids + +# Seconds to sleep between slave commands. Unset by default. This +# can be useful in large clusters, where, e.g., slave rsyncs can +# otherwise arrive faster than the master can service them. +# export HBASE_SLAVE_SLEEP=0.1 + +# Tell HBase whether it should manage it's own instance of Zookeeper or not. +# export HBASE_MANAGES_ZK=true + +# The default log rolling policy is RFA, where the log file is rolled as per the size defined for the +# RFA appender. Please refer to the log4j.properties file to see more details on this appender. +# In case one needs to do log rolling on a date change, one should set the environment property +# HBASE_ROOT_LOGGER to ",DRFA". +# For example: +# HBASE_ROOT_LOGGER=INFO,DRFA +# The reason for changing default to RFA is to avoid the boundary case of filling out disk space as +# DRFA doesn't put any cap on the log size. Please refer to HBase-5655 for more context. From fe7bce2b51a90b7af018a047418fb791b6b4abc3 Mon Sep 17 00:00:00 2001 From: Kevin Liew Date: Wed, 9 Dec 2015 13:14:21 -0800 Subject: [PATCH 02/10] Fix issue with JOIN queries due to using the wrong jar for the Phoenix Avatica queryserver --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ee6885e..0e335cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,7 +26,7 @@ RUN cd /usr/local && ln -s ./phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-bin pho ENV PHOENIX_HOME /usr/local/phoenix ENV PATH $PATH:$PHOENIX_HOME/bin RUN cp $PHOENIX_HOME/phoenix-core-$PHOENIX_VERSION-HBase-$HBASE_MAJOR.jar $HBASE_HOME/lib/phoenix.jar -RUN cp $PHOENIX_HOME/phoenix-server-$PHOENIX_VERSION-HBase-$HBASE_MAJOR.jar $HBASE_HOME/lib/phoenix-server.jar +RUN cp $PHOENIX_HOME/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-server.jar $HBASE_HOME/lib/phoenix-server.jar # HBase and Phoenix configuration files RUN rm $HBASE_HOME/conf/hbase-site.xml From 82b5b7777edd7cb1353d71cd97638c2661e2db29 Mon Sep 17 00:00:00 2001 From: Kevin Liew Date: Wed, 9 Dec 2015 13:24:06 -0800 Subject: [PATCH 03/10] Add support for HBase versions --- Dockerfile | 16 ++++++++++++---- README.md | 9 +++++---- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0e335cf..5e7408a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM sequenceiq/hadoop-docker:2.7.0 MAINTAINER SequenceIQ # Zookeeper -ENV ZOOKEEPER_VERSION 3.4.6 +ENV ZOOKEEPER_VERSION 3.4.7 RUN curl -s http://mirror.csclub.uwaterloo.ca/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz | tar -xz -C /usr/local/ RUN cd /usr/local && ln -s ./zookeeper-$ZOOKEEPER_VERSION zookeeper ENV ZOO_HOME /usr/local/zookeeper @@ -14,12 +14,20 @@ RUN mkdir /tmp/zookeeper ENV HBASE_MAJOR 1.1 ENV HBASE_MINOR 2 ENV HBASE_VERSION "${HBASE_MAJOR}.${HBASE_MINOR}" -RUN curl -s http://apache.mirror.gtcomm.net/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz | tar -xz -C /usr/local/ -RUN cd /usr/local && ln -s ./hbase-$HBASE_VERSION hbase +RUN if [ $HBASE_MAJOR == 0.98 ]; then \ + curl -s http://apache.mirror.gtcomm.net/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-hadoop2-bin.tar.gz | tar -xz -C /usr/local/ && \ + cd /usr/local && ln -s ./hbase-$HBASE_VERSION-hadoop2 hbase; \ + elif [ $HBASE_MAJOR == 1.0 ]; then \ + curl -s http://apache.mirror.gtcomm.net/hbase/hbase-$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz | tar -xz -C /usr/local/ && \ + cd /usr/local && ln -s ./hbase-$HBASE_VERSION hbase; \ + else \ + curl -s http://apache.mirror.gtcomm.net/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz | tar -xz -C /usr/local/ && \ + cd /usr/local && ln -s ./hbase-$HBASE_VERSION hbase; \ + fi ENV HBASE_HOME /usr/local/hbase ENV PATH $PATH:$HBASE_HOME/bin -# phoenix +# Phoenix ENV PHOENIX_VERSION 4.6.0 RUN curl -s http://apache.mirror.vexxhost.com/phoenix/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR/bin/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-bin.tar.gz | tar -xz -C /usr/local/ RUN cd /usr/local && ln -s ./phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-bin phoenix diff --git a/README.md b/README.md index 0bd277d..53333f9 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,13 @@ Apache Phoenix is a SQL skin over HBase delivered as a client-embedded JDBC driv ###Versions Apache Hadoop - 2.7.0 -Apache HBase - 1.1.2 +Apache HBase - 0.98.x, 1.0.x, 1.1.x Apache Phoenix - 4.4.0+ ###Launch -`docker run -it sequenceiq/phoenix:v4.1onHbase-0.98.5` -> to normal launch +`docker run -it sequenceiq/phoenix` -> to normal launch +`queryserver.py` -> to launch the Phoenix Avatica queryserver to handle REST requests over wire protocol +or `queryserver.py start` -> to launch in the background ###Alternative launch -`docker run -it sequenceiq/phoenix:v4.1onHbase-0.98.5 /etc/bootstrap-phoenix.sh -sqlline` -> to launch directly the sqlline for phoenix - +`docker run -it sequenceiq/phoenix /etc/bootstrap-phoenix.sh -sqlline` -> to launch directly the sqlline for phoenix From ac7cb7e66e166cd2c1e3a9303eaf749d2f508aab Mon Sep 17 00:00:00 2001 From: Kevin Liew Date: Wed, 9 Dec 2015 13:27:31 -0800 Subject: [PATCH 04/10] start-hbase.sh launches ZooKeeper. Remove redundant line --- bootstrap-phoenix.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/bootstrap-phoenix.sh b/bootstrap-phoenix.sh index a48d337..6df3326 100644 --- a/bootstrap-phoenix.sh +++ b/bootstrap-phoenix.sh @@ -12,7 +12,6 @@ cd $HADOOP_PREFIX/share/hadoop/common ; for cp in ${ACP//,/ }; do echo == $cp; service sshd start $HADOOP_PREFIX/sbin/start-dfs.sh $HADOOP_PREFIX/sbin/start-yarn.sh -$ZOO_HOME/bin/zkServer.sh start $HBASE_HOME/bin/start-hbase.sh if [[ $1 == "-d" ]]; then From afe14c3c015396b9817b2fae862a8339afc248d5 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 19 Dec 2015 22:15:31 -0800 Subject: [PATCH 05/10] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 53333f9..73e5227 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ -docker-phoenix +Apache Phoenix on Docker ============== +[![DockerPulls](https://img.shields.io/docker/pulls/sequenceiq/phoenix.svg)](https://registry.hub.docker.com/u/sequenceiq/phoenix/) +[![DockerStars](https://img.shields.io/docker/stars/sequenceiq/phoenix.svg)](https://registry.hub.docker.com/u/sequenceiq/phoenix/) A Docker image to quick start [Apache Phoenix](http://phoenix.apache.org/) on [Apache HBase](https://hbase.apache.org/) to provide an SQL interface. From c6177a37be842df7d027c85db6f0734753c6a736 Mon Sep 17 00:00:00 2001 From: Kevin Liew Date: Mon, 11 Jan 2016 17:20:43 -0800 Subject: [PATCH 06/10] Symbolic link Phoenix jars instead of copying them --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5e7408a..3730b30 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,8 +33,8 @@ RUN curl -s http://apache.mirror.vexxhost.com/phoenix/phoenix-$PHOENIX_VERSION-H RUN cd /usr/local && ln -s ./phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-bin phoenix ENV PHOENIX_HOME /usr/local/phoenix ENV PATH $PATH:$PHOENIX_HOME/bin -RUN cp $PHOENIX_HOME/phoenix-core-$PHOENIX_VERSION-HBase-$HBASE_MAJOR.jar $HBASE_HOME/lib/phoenix.jar -RUN cp $PHOENIX_HOME/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-server.jar $HBASE_HOME/lib/phoenix-server.jar +RUN ln -s $PHOENIX_HOME/phoenix-core-$PHOENIX_VERSION-HBase-$HBASE_MAJOR.jar $HBASE_HOME/lib/phoenix.jar +RUN ln -s $PHOENIX_HOME/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-server.jar $HBASE_HOME/lib/phoenix-server.jar # HBase and Phoenix configuration files RUN rm $HBASE_HOME/conf/hbase-site.xml From 24bdb8aee5a00740f7c295450f8185eaf799c62a Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 13 Jan 2016 10:21:55 -0800 Subject: [PATCH 07/10] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 73e5227..07b3892 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,9 @@ Apache Phoenix - 4.4.0+ ###Launch `docker run -it sequenceiq/phoenix` -> to normal launch + `queryserver.py` -> to launch the Phoenix Avatica queryserver to handle REST requests over wire protocol + or `queryserver.py start` -> to launch in the background ###Alternative launch From 7a15e6999bbea11301bdb26d8957afc9f29c6c45 Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 13 Jan 2016 10:23:11 -0800 Subject: [PATCH 08/10] Update Dockerfile Fix Zookeeper link --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3730b30..151a0fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM sequenceiq/hadoop-docker:2.7.0 MAINTAINER SequenceIQ # Zookeeper -ENV ZOOKEEPER_VERSION 3.4.7 +ENV ZOOKEEPER_VERSION 3.4.6 RUN curl -s http://mirror.csclub.uwaterloo.ca/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz | tar -xz -C /usr/local/ RUN cd /usr/local && ln -s ./zookeeper-$ZOOKEEPER_VERSION zookeeper ENV ZOO_HOME /usr/local/zookeeper From 76f7057f4934f449cf4e75568cccb2db5f7bdebe Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 14 Jan 2016 20:33:24 -0800 Subject: [PATCH 09/10] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 07b3892..58b077e 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,8 @@ Apache Phoenix - 4.4.0+ ###Launch `docker run -it sequenceiq/phoenix` -> to normal launch +`docker run -it -p 8765:8765 sequenceiq/phoenix` -> if you want to use the queryserver + `queryserver.py` -> to launch the Phoenix Avatica queryserver to handle REST requests over wire protocol or `queryserver.py start` -> to launch in the background From 982963d9b810390956dd61b7b266203f0e4bfe85 Mon Sep 17 00:00:00 2001 From: Kevin Liew Date: Mon, 21 Mar 2016 09:55:38 -0700 Subject: [PATCH 10/10] Add bootstrap option to start Avatica REST API queryserver. Update links. --- Dockerfile | 12 ++++++------ bootstrap-phoenix.sh | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 151a0fb..0c94096 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,8 @@ FROM sequenceiq/hadoop-docker:2.7.0 MAINTAINER SequenceIQ # Zookeeper -ENV ZOOKEEPER_VERSION 3.4.6 -RUN curl -s http://mirror.csclub.uwaterloo.ca/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz | tar -xz -C /usr/local/ +ENV ZOOKEEPER_VERSION 3.4.8 +RUN curl -s https://archive.apache.org/dist/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz | tar -xz -C /usr/local/ RUN cd /usr/local && ln -s ./zookeeper-$ZOOKEEPER_VERSION zookeeper ENV ZOO_HOME /usr/local/zookeeper ENV PATH $PATH:$ZOO_HOME/bin @@ -15,13 +15,13 @@ ENV HBASE_MAJOR 1.1 ENV HBASE_MINOR 2 ENV HBASE_VERSION "${HBASE_MAJOR}.${HBASE_MINOR}" RUN if [ $HBASE_MAJOR == 0.98 ]; then \ - curl -s http://apache.mirror.gtcomm.net/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-hadoop2-bin.tar.gz | tar -xz -C /usr/local/ && \ + curl -s https://archive.apache.org/dist/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-hadoop2-bin.tar.gz | tar -xz -C /usr/local/ && \ cd /usr/local && ln -s ./hbase-$HBASE_VERSION-hadoop2 hbase; \ elif [ $HBASE_MAJOR == 1.0 ]; then \ - curl -s http://apache.mirror.gtcomm.net/hbase/hbase-$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz | tar -xz -C /usr/local/ && \ + curl -s https://archive.apache.org/dist/hbase/hbase-$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz | tar -xz -C /usr/local/ && \ cd /usr/local && ln -s ./hbase-$HBASE_VERSION hbase; \ else \ - curl -s http://apache.mirror.gtcomm.net/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz | tar -xz -C /usr/local/ && \ + curl -s https://archive.apache.org/dist/hbase/$HBASE_VERSION/hbase-$HBASE_VERSION-bin.tar.gz | tar -xz -C /usr/local/ && \ cd /usr/local && ln -s ./hbase-$HBASE_VERSION hbase; \ fi ENV HBASE_HOME /usr/local/hbase @@ -29,7 +29,7 @@ ENV PATH $PATH:$HBASE_HOME/bin # Phoenix ENV PHOENIX_VERSION 4.6.0 -RUN curl -s http://apache.mirror.vexxhost.com/phoenix/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR/bin/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-bin.tar.gz | tar -xz -C /usr/local/ +RUN curl -s https://archive.apache.org/dist/phoenix/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR/bin/phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-bin.tar.gz | tar -xz -C /usr/local/ RUN cd /usr/local && ln -s ./phoenix-$PHOENIX_VERSION-HBase-$HBASE_MAJOR-bin phoenix ENV PHOENIX_HOME /usr/local/phoenix ENV PATH $PATH:$PHOENIX_HOME/bin diff --git a/bootstrap-phoenix.sh b/bootstrap-phoenix.sh index 6df3326..0b264c1 100644 --- a/bootstrap-phoenix.sh +++ b/bootstrap-phoenix.sh @@ -25,3 +25,8 @@ fi if [[ $1 == "-sqlline" ]]; then /usr/local/phoenix/hadoop2/bin/sqlline.py localhost fi + +if [[ $1 == "-qs" ]]; then + echo "Starting queryserver" + /usr/local/phoenix/bin/queryserver.py +fi