blob: 5f9793444bd8265ef0403d2d6e833439f20d1a48 [file] [log] [blame]
# 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.
# This defines a basic Impala service with a single Impala Daemon and the minimal set of
# services required to support it. A Hive MetaStore service is used to manage metadata.
# All filesystem data is stored in Docker volumes. The default storage location for tables
# is in the impala-quickstart-warehouse volume, i.e. if you create a table in Impala, it
# will be stored in that volume by default.
#
# See README.md in this directory for usage instructions.
version: "3"
services:
hms:
image: ${IMPALA_QUICKSTART_IMAGE_PREFIX:-}impala_quickstart_hms
# Give the HMS an explicit hostname to avoid issues with docker-compose-generated
# hostnames including underscore, which is rejected by Java's URL parser.
container_name: quickstart-hive-metastore
command: ["hms"]
volumes:
# Volume used to store Apache Derby database.
- impala-quickstart-warehouse:/var/lib/hive
# Warehouse directory. HMS does file operations so needs access to the
# shared volume.
- impala-quickstart-warehouse:/user/hive/warehouse
- ./quickstart_conf:/opt/hive/conf:ro
networks:
- quickstart-network
statestored:
image: ${IMPALA_QUICKSTART_IMAGE_PREFIX:-}statestored
ports:
# Web debug UI
- "${QUICKSTART_LISTEN_ADDR:?Please set QUICKSTART_LISTEN_ADDR environment variable}:25010:25010"
command: ["-redirect_stdout_stderr=false", "-logtostderr", "-v=1"]
volumes:
- ./quickstart_conf:/opt/impala/conf:ro
networks:
- quickstart-network
catalogd:
depends_on:
- statestored
- hms
image: ${IMPALA_QUICKSTART_IMAGE_PREFIX:-}catalogd
ports:
# Web debug UI
- "${QUICKSTART_LISTEN_ADDR:?Please set QUICKSTART_LISTEN_ADDR environment variable}:25020:25020"
command: ["-redirect_stdout_stderr=false", "-logtostderr", "-v=1",
"-hms_event_polling_interval_s=1", "-invalidate_tables_timeout_s=999999"]
volumes:
# Warehouse directory. Catalog does file operations so needs access to the
# shared volume.
- impala-quickstart-warehouse:/user/hive/warehouse
- ./quickstart_conf:/opt/impala/conf:ro
networks:
- quickstart-network
impalad-1:
image: ${IMPALA_QUICKSTART_IMAGE_PREFIX:-}impalad_coord_exec
depends_on:
- statestored
- catalogd
ports:
# Beeswax endpoint (deprecated)
- "${QUICKSTART_LISTEN_ADDR:?Please set QUICKSTART_LISTEN_ADDR environment variable}:21000:21000"
# HS2 endpoint
- "${QUICKSTART_LISTEN_ADDR:?Please set QUICKSTART_LISTEN_ADDR environment variable}:21050:21050"
# Web debug UI
- "${QUICKSTART_LISTEN_ADDR:?Please set QUICKSTART_LISTEN_ADDR environment variable}:25000:25000"
# HS2 over HTTP endpoint.
- "${QUICKSTART_LISTEN_ADDR:?Please set QUICKSTART_LISTEN_ADDR environment variable}:28000:28000"
command: [ "-v=1",
"-redirect_stdout_stderr=false", "-logtostderr",
"-kudu_master_hosts=kudu-master-1:7051",
"-mt_dop_auto_fallback=true",
"-default_query_options=mt_dop=4,default_file_format=parquet,default_transactional_type=insert_only",
"-mem_limit=4gb"]
environment:
# Keep the Java heap small to preserve memory for query execution.
- JAVA_TOOL_OPTIONS="-Xmx1g"
volumes:
- impala-quickstart-warehouse:/user/hive/warehouse
- ./quickstart_conf:/opt/impala/conf:ro
networks:
- quickstart-network
volumes:
impala-quickstart-hms:
impala-quickstart-warehouse:
networks:
quickstart-network:
external: true