# 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