Docker Container Build and Run setup with foundations for adding docker integration tests. Docker images built with Hadoop 2.8.4 Hive 2.3.3 and Spark 2.3.1 and published to docker-hub
Look at quickstart document for how to setup docker and run demo
This commit is contained in:
committed by
vinoth chandar
parent
9710b5a3a6
commit
f3418e4718
@@ -0,0 +1,45 @@
|
||||
# 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.
|
||||
|
||||
status = INFO
|
||||
name = BeelineLog4j2
|
||||
packages = org.apache.hadoop.hive.ql.log
|
||||
|
||||
# list of properties
|
||||
property.hive.log.level = WARN
|
||||
property.hive.root.logger = console
|
||||
|
||||
# list of all appenders
|
||||
appenders = console
|
||||
|
||||
# console appender
|
||||
appender.console.type = Console
|
||||
appender.console.name = console
|
||||
appender.console.target = SYSTEM_ERR
|
||||
appender.console.layout.type = PatternLayout
|
||||
appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} [%t]: %p %c{2}: %m%n
|
||||
|
||||
# list of all loggers
|
||||
loggers = HiveConnection
|
||||
|
||||
# HiveConnection logs useful info for dynamic service discovery
|
||||
logger.HiveConnection.name = org.apache.hive.jdbc.HiveConnection
|
||||
logger.HiveConnection.level = INFO
|
||||
|
||||
# root logger
|
||||
rootLogger.level = ${sys:hive.log.level}
|
||||
rootLogger.appenderRefs = root
|
||||
rootLogger.appenderRef.root.ref = ${sys:hive.root.logger}
|
||||
54
docker/hoodie/hadoop/hive_base/conf/hive-env.sh
Normal file
54
docker/hoodie/hadoop/hive_base/conf/hive-env.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
# 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 Hive and Hadoop environment variables here. These variables can be used
|
||||
# to control the execution of Hive. It should be used by admins to configure
|
||||
# the Hive installation (so that users do not have to set environment variables
|
||||
# or set command line parameters to get correct behavior).
|
||||
#
|
||||
# The hive service being invoked (CLI/HWI etc.) is available via the environment
|
||||
# variable SERVICE
|
||||
|
||||
|
||||
# Hive Client memory usage can be an issue if a large number of clients
|
||||
# are running at the same time. The flags below have been useful in
|
||||
# reducing memory usage:
|
||||
#
|
||||
# if [ "$SERVICE" = "cli" ]; then
|
||||
# if [ -z "$DEBUG" ]; then
|
||||
# export HADOOP_OPTS="$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseParNewGC -XX:-UseGCOverheadLimit"
|
||||
# else
|
||||
# export HADOOP_OPTS="$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit"
|
||||
# fi
|
||||
# fi
|
||||
|
||||
# The heap size of the jvm stared by hive shell script can be controlled via:
|
||||
#
|
||||
# export HADOOP_HEAPSIZE=1024
|
||||
#
|
||||
# Larger heap size may be required when running queries over large number of files or partitions.
|
||||
# By default hive shell scripts use a heap size of 256 (MB). Larger heap size would also be
|
||||
# appropriate for hive server (hwi etc).
|
||||
|
||||
|
||||
# Set HADOOP_HOME to point to a specific hadoop install directory
|
||||
# HADOOP_HOME=${bin}/../../hadoop
|
||||
|
||||
# Hive Configuration Directory can be controlled by:
|
||||
# export HIVE_CONF_DIR=
|
||||
|
||||
# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
|
||||
# export HIVE_AUX_JARS_PATH=
|
||||
@@ -0,0 +1,66 @@
|
||||
# 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.
|
||||
|
||||
status = INFO
|
||||
name = HiveExecLog4j2
|
||||
packages = org.apache.hadoop.hive.ql.log
|
||||
|
||||
# list of properties
|
||||
property.hive.log.level = INFO
|
||||
property.hive.root.logger = FA
|
||||
property.hive.query.id = hadoop
|
||||
property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}
|
||||
property.hive.log.file = ${sys:hive.query.id}.log
|
||||
|
||||
# list of all appenders
|
||||
appenders = console, FA
|
||||
|
||||
# console appender
|
||||
appender.console.type = Console
|
||||
appender.console.name = console
|
||||
appender.console.target = SYSTEM_ERR
|
||||
appender.console.layout.type = PatternLayout
|
||||
appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} [%t]: %p %c{2}: %m%n
|
||||
|
||||
# simple file appender
|
||||
appender.FA.type = File
|
||||
appender.FA.name = FA
|
||||
appender.FA.fileName = ${sys:hive.log.dir}/${sys:hive.log.file}
|
||||
appender.FA.layout.type = PatternLayout
|
||||
appender.FA.layout.pattern = %d{ISO8601} %-5p [%t]: %c{2} (%F:%M(%L)) - %m%n
|
||||
|
||||
# list of all loggers
|
||||
loggers = NIOServerCnxn, ClientCnxnSocketNIO, DataNucleus, Datastore, JPOX
|
||||
|
||||
logger.NIOServerCnxn.name = org.apache.zookeeper.server.NIOServerCnxn
|
||||
logger.NIOServerCnxn.level = WARN
|
||||
|
||||
logger.ClientCnxnSocketNIO.name = org.apache.zookeeper.ClientCnxnSocketNIO
|
||||
logger.ClientCnxnSocketNIO.level = WARN
|
||||
|
||||
logger.DataNucleus.name = DataNucleus
|
||||
logger.DataNucleus.level = ERROR
|
||||
|
||||
logger.Datastore.name = Datastore
|
||||
logger.Datastore.level = ERROR
|
||||
|
||||
logger.JPOX.name = JPOX
|
||||
logger.JPOX.level = ERROR
|
||||
|
||||
# root logger
|
||||
rootLogger.level = ${sys:hive.log.level}
|
||||
rootLogger.appenderRefs = root
|
||||
rootLogger.appenderRef.root.ref = ${sys:hive.root.logger}
|
||||
73
docker/hoodie/hadoop/hive_base/conf/hive-log4j2.properties
Normal file
73
docker/hoodie/hadoop/hive_base/conf/hive-log4j2.properties
Normal file
@@ -0,0 +1,73 @@
|
||||
# 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.
|
||||
|
||||
status = INFO
|
||||
name = HiveLog4j2
|
||||
packages = org.apache.hadoop.hive.ql.log
|
||||
|
||||
# list of properties
|
||||
property.hive.log.level = INFO
|
||||
property.hive.root.logger = DRFA
|
||||
property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}
|
||||
property.hive.log.file = hive.log
|
||||
|
||||
# list of all appenders
|
||||
appenders = console, DRFA
|
||||
|
||||
# console appender
|
||||
appender.console.type = Console
|
||||
appender.console.name = console
|
||||
appender.console.target = SYSTEM_ERR
|
||||
appender.console.layout.type = PatternLayout
|
||||
appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} [%t]: %p %c{2}: %m%n
|
||||
|
||||
# daily rolling file appender
|
||||
appender.DRFA.type = RollingFile
|
||||
appender.DRFA.name = DRFA
|
||||
appender.DRFA.fileName = ${sys:hive.log.dir}/${sys:hive.log.file}
|
||||
# Use %pid in the filePattern to append <process-id>@<host-name> to the filename if you want separate log files for different CLI session
|
||||
appender.DRFA.filePattern = ${sys:hive.log.dir}/${sys:hive.log.file}.%d{yyyy-MM-dd}
|
||||
appender.DRFA.layout.type = PatternLayout
|
||||
appender.DRFA.layout.pattern = %d{ISO8601} %-5p [%t]: %c{2} (%F:%M(%L)) - %m%n
|
||||
appender.DRFA.policies.type = Policies
|
||||
appender.DRFA.policies.time.type = TimeBasedTriggeringPolicy
|
||||
appender.DRFA.policies.time.interval = 1
|
||||
appender.DRFA.policies.time.modulate = true
|
||||
appender.DRFA.strategy.type = DefaultRolloverStrategy
|
||||
appender.DRFA.strategy.max = 30
|
||||
|
||||
# list of all loggers
|
||||
loggers = NIOServerCnxn, ClientCnxnSocketNIO, DataNucleus, Datastore, JPOX
|
||||
|
||||
logger.NIOServerCnxn.name = org.apache.zookeeper.server.NIOServerCnxn
|
||||
logger.NIOServerCnxn.level = WARN
|
||||
|
||||
logger.ClientCnxnSocketNIO.name = org.apache.zookeeper.ClientCnxnSocketNIO
|
||||
logger.ClientCnxnSocketNIO.level = WARN
|
||||
|
||||
logger.DataNucleus.name = DataNucleus
|
||||
logger.DataNucleus.level = ERROR
|
||||
|
||||
logger.Datastore.name = Datastore
|
||||
logger.Datastore.level = ERROR
|
||||
|
||||
logger.JPOX.name = JPOX
|
||||
logger.JPOX.level = ERROR
|
||||
|
||||
# root logger
|
||||
rootLogger.level = ${sys:hive.log.level}
|
||||
rootLogger.appenderRefs = root
|
||||
rootLogger.appenderRef.root.ref = ${sys:hive.root.logger}
|
||||
18
docker/hoodie/hadoop/hive_base/conf/hive-site.xml
Normal file
18
docker/hoodie/hadoop/hive_base/conf/hive-site.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!--
|
||||
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.
|
||||
--><configuration>
|
||||
</configuration>
|
||||
45
docker/hoodie/hadoop/hive_base/conf/ivysettings.xml
Normal file
45
docker/hoodie/hadoop/hive_base/conf/ivysettings.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<!--
|
||||
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 file is used by grapes to download dependencies from a maven repository.
|
||||
This is just a template and can be edited to add more repositories.
|
||||
-->
|
||||
|
||||
<ivysettings>
|
||||
<!--name of the defaultResolver should always be 'downloadGrapes'. -->
|
||||
<settings defaultResolver="downloadGrapes"/>
|
||||
<!-- Only set maven.local.repository if not already set -->
|
||||
<property name="maven.local.repository" value="${user.home}/.m2/repository" override="false" />
|
||||
<property name="m2-pattern"
|
||||
value="file:${maven.local.repository}/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]"
|
||||
override="false"/>
|
||||
<resolvers>
|
||||
<!-- more resolvers can be added here -->
|
||||
<chain name="downloadGrapes">
|
||||
<!-- This resolver uses ibiblio to find artifacts, compatible with maven2 repository -->
|
||||
<ibiblio name="central" m2compatible="true"/>
|
||||
<url name="local-maven2" m2compatible="true">
|
||||
<artifact pattern="${m2-pattern}"/>
|
||||
</url>
|
||||
<!-- File resolver to add jars from the local system. -->
|
||||
<filesystem name="test" checkmodified="true">
|
||||
<artifact pattern="/tmp/[module]-[revision](-[classifier]).jar"/>
|
||||
</filesystem>
|
||||
|
||||
</chain>
|
||||
</resolvers>
|
||||
</ivysettings>
|
||||
@@ -0,0 +1,93 @@
|
||||
# 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.
|
||||
|
||||
status = INFO
|
||||
name = LlapDaemonLog4j2
|
||||
packages = org.apache.hadoop.hive.ql.log
|
||||
|
||||
# list of properties
|
||||
property.llap.daemon.log.level = INFO
|
||||
property.llap.daemon.root.logger = console
|
||||
property.llap.daemon.log.dir = .
|
||||
property.llap.daemon.log.file = llapdaemon.log
|
||||
property.llap.daemon.historylog.file = llapdaemon_history.log
|
||||
property.llap.daemon.log.maxfilesize = 256MB
|
||||
property.llap.daemon.log.maxbackupindex = 20
|
||||
|
||||
# list of all appenders
|
||||
appenders = console, RFA, HISTORYAPPENDER
|
||||
|
||||
# console appender
|
||||
appender.console.type = Console
|
||||
appender.console.name = console
|
||||
appender.console.target = SYSTEM_ERR
|
||||
appender.console.layout.type = PatternLayout
|
||||
appender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} [%t%x] %p %c{2} : %m%n
|
||||
|
||||
# rolling file appender
|
||||
appender.RFA.type = RollingFile
|
||||
appender.RFA.name = RFA
|
||||
appender.RFA.fileName = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.log.file}
|
||||
appender.RFA.filePattern = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.log.file}_%i
|
||||
appender.RFA.layout.type = PatternLayout
|
||||
appender.RFA.layout.pattern = %d{ISO8601} %-5p [%t%x]: %c{2} (%F:%M(%L)) - %m%n
|
||||
appender.RFA.policies.type = Policies
|
||||
appender.RFA.policies.size.type = SizeBasedTriggeringPolicy
|
||||
appender.RFA.policies.size.size = ${sys:llap.daemon.log.maxfilesize}
|
||||
appender.RFA.strategy.type = DefaultRolloverStrategy
|
||||
appender.RFA.strategy.max = ${sys:llap.daemon.log.maxbackupindex}
|
||||
|
||||
# history file appender
|
||||
appender.HISTORYAPPENDER.type = RollingFile
|
||||
appender.HISTORYAPPENDER.name = HISTORYAPPENDER
|
||||
appender.HISTORYAPPENDER.fileName = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.historylog.file}
|
||||
appender.HISTORYAPPENDER.filePattern = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.historylog.file}_%i
|
||||
appender.HISTORYAPPENDER.layout.type = PatternLayout
|
||||
appender.HISTORYAPPENDER.layout.pattern = %m%n
|
||||
appender.HISTORYAPPENDER.policies.type = Policies
|
||||
appender.HISTORYAPPENDER.policies.size.type = SizeBasedTriggeringPolicy
|
||||
appender.HISTORYAPPENDER.policies.size.size = ${sys:llap.daemon.log.maxfilesize}
|
||||
appender.HISTORYAPPENDER.strategy.type = DefaultRolloverStrategy
|
||||
appender.HISTORYAPPENDER.strategy.max = ${sys:llap.daemon.log.maxbackupindex}
|
||||
|
||||
# list of all loggers
|
||||
loggers = NIOServerCnxn, ClientCnxnSocketNIO, DataNucleus, Datastore, JPOX, HistoryLogger
|
||||
|
||||
logger.NIOServerCnxn.name = org.apache.zookeeper.server.NIOServerCnxn
|
||||
logger.NIOServerCnxn.level = WARN
|
||||
|
||||
logger.ClientCnxnSocketNIO.name = org.apache.zookeeper.ClientCnxnSocketNIO
|
||||
logger.ClientCnxnSocketNIO.level = WARN
|
||||
|
||||
logger.DataNucleus.name = DataNucleus
|
||||
logger.DataNucleus.level = ERROR
|
||||
|
||||
logger.Datastore.name = Datastore
|
||||
logger.Datastore.level = ERROR
|
||||
|
||||
logger.JPOX.name = JPOX
|
||||
logger.JPOX.level = ERROR
|
||||
|
||||
logger.HistoryLogger.name = org.apache.hadoop.hive.llap.daemon.HistoryLogger
|
||||
logger.HistoryLogger.level = INFO
|
||||
logger.HistoryLogger.additivity = false
|
||||
logger.HistoryLogger.appenderRefs = HistoryAppender
|
||||
logger.HistoryLogger.appenderRef.HistoryAppender.ref = HISTORYAPPENDER
|
||||
|
||||
# root logger
|
||||
rootLogger.level = ${sys:llap.daemon.log.level}
|
||||
rootLogger.appenderRefs = root
|
||||
rootLogger.appenderRef.root.ref = ${sys:llap.daemon.root.logger}
|
||||
Reference in New Issue
Block a user