1
2
mirror of https://github.com/vimagick/dockerfiles synced 2024-06-16 03:48:44 +00:00

add ambari

This commit is contained in:
kev 2019-09-29 08:59:17 +08:00
parent c2da934d2b
commit d15c9a23a6
10 changed files with 377 additions and 0 deletions

@ -44,6 +44,7 @@ A collection of delicious docker recipes.
## Big Data
- [x] airflow
- [x] ambari
- [x] kafka-arm
- [x] kafka-manager
- [x] presto

31
ambari/Dockerfile Normal file

@ -0,0 +1,31 @@
#
# Dockerfile for ambari
#
FROM ubuntu:18.04
MAINTAINER EasyPi Software Foundation
ENV AMBARI_VERSION=2.7.4.0
ENV AMBARI_SOURCE=http://public-repo-1.hortonworks.com/ambari/ubuntu18/2.x/updates/${AMBARI_VERSION}/ambari.list
ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
RUN set -xe \
&& apt-get update \
&& apt-get install -y curl gnupg libpostgresql-jdbc-java openjdk-8-jdk openssh-client supervisor \
&& mkdir -m 700 /root/.ssh \
&& curl -sSL ${AMBARI_SOURCE} > /etc/apt/sources.list.d/ambari.list \
&& apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD \
&& apt-get update \
&& apt-get install -y ambari-server \
&& ambari-server setup --jdbc-db=postgres --jdbc-driver=/usr/share/java/postgresql.jar \
&& rm -rf /var/lib/apt/lists/*
VOLUME /etc/ambari-server/conf/ /root/.ssh/
EXPOSE 8080
CMD ["sleep", "inf"]
#
# ambari-server setup --jdbc-db=postgres --jdbc-driver=/usr/share/java/postgresql.jar
#

10
ambari/README.md Normal file

@ -0,0 +1,10 @@
ambari
======
The [Apache Ambari][1] project is aimed at making Hadoop management simpler by
developing software for provisioning, managing, and monitoring Apache Hadoop
clusters. Ambari provides an intuitive, easy-to-use Hadoop management web UI
backed by its RESTful APIs.
[1]: https://ambari.apache.org/

@ -0,0 +1,118 @@
#
# Copyright 2011 The Apache Software Foundation
#
# 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.
agent.package.install.task.timeout=1800
agent.stack.retry.on_repo_unavailability=false
agent.stack.retry.tries=5
agent.task.timeout=900
agent.threadpool.size.max=25
ambari-server.user=root
ambari.python.wrap=ambari-python-wrap
bootstrap.dir=/var/run/ambari-server/bootstrap
bootstrap.script=/usr/lib/ambari-server/lib/ambari_server/bootstrap.py
bootstrap.setup_agent.script=/usr/lib/ambari-server/lib/ambari_server/setupAgent.py
client.threadpool.size.max=25
common.services.path=/var/lib/ambari-server/resources/common-services
custom.action.definitions=/var/lib/ambari-server/resources/custom_action_definitions
custom.postgres.jdbc.name=postgresql.jar
extensions.path=/var/lib/ambari-server/resources/extensions
gpl.license.accepted=true
http.cache-control=no-store
http.charset=utf-8
http.pragma=no-cache
http.strict-transport-security=max-age=31536000
http.x-content-type-options=nosniff
http.x-frame-options=DENY
http.x-xss-protection=1; mode=block
java.home=/usr/lib/jvm/java-8-openjdk-amd64
java.releases=jdk1.8
java.releases.ppc64le=
jce.download.supported=true
jdk.download.supported=true
jdk1.8.desc=Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
jdk1.8.dest-file=jdk-8u112-linux-x64.tar.gz
jdk1.8.home=/usr/jdk64/
jdk1.8.jcpol-file=jce_policy-8.zip
jdk1.8.jcpol-url=http://public-repo-1.hortonworks.com/ARTIFACTS/jce_policy-8.zip
jdk1.8.re=(jdk.*)/jre
jdk1.8.url=http://public-repo-1.hortonworks.com/ARTIFACTS/jdk-8u112-linux-x64.tar.gz
kerberos.keytab.cache.dir=/var/lib/ambari-server/data/cache
kerberos.operation.verify.kdc.trust=true
local.database.user=postgres
metadata.path=/var/lib/ambari-server/resources/stacks
mpacks.staging.path=/var/lib/ambari-server/resources/mpacks
pid.dir=/var/run/ambari-server
recommendations.artifacts.lifetime=1w
recommendations.dir=/var/run/ambari-server/stack-recommendations
resources.dir=/var/lib/ambari-server/resources
rolling.upgrade.skip.packages.prefixes=
security.server.disabled.ciphers=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384|TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384|TLS_RSA_WITH_AES_256_CBC_SHA256|TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384|TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384|TLS_DHE_RSA_WITH_AES_256_CBC_SHA256|TLS_DHE_DSS_WITH_AES_256_CBC_SHA256|TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA|TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA|TLS_RSA_WITH_AES_256_CBC_SHA|TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA|TLS_ECDH_RSA_WITH_AES_256_CBC_SHA|TLS_DHE_RSA_WITH_AES_256_CBC_SHA|TLS_DHE_DSS_WITH_AES_256_CBC_SHA|TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256|TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256|TLS_RSA_WITH_AES_128_CBC_SHA256|TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256|TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256|TLS_DHE_RSA_WITH_AES_128_CBC_SHA256|TLS_DHE_DSS_WITH_AES_128_CBC_SHA256|TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA|TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA|TLS_RSA_WITH_AES_128_CBC_SHA|TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA|TLS_ECDH_RSA_WITH_AES_128_CBC_SHA|TLS_DHE_RSA_WITH_AES_128_CBC_SHA|TLS_DHE_DSS_WITH_AES_128_CBC_SHA|TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA|TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA|TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA|TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA|SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA|SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA|TLS_EMPTY_RENEGOTIATION_INFO_SCSV|TLS_DH_anon_WITH_AES_256_CBC_SHA256|TLS_ECDH_anon_WITH_AES_256_CBC_SHA|TLS_DH_anon_WITH_AES_256_CBC_SHA|TLS_DH_anon_WITH_AES_128_CBC_SHA256|TLS_ECDH_anon_WITH_AES_128_CBC_SHA|TLS_DH_anon_WITH_AES_128_CBC_SHA|TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA|SSL_DH_anon_WITH_3DES_EDE_CBC_SHA|SSL_RSA_WITH_DES_CBC_SHA|SSL_DHE_RSA_WITH_DES_CBC_SHA|SSL_DHE_DSS_WITH_DES_CBC_SHA|SSL_DH_anon_WITH_DES_CBC_SHA|SSL_RSA_EXPORT_WITH_DES40_CBC_SHA|SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA|SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA|SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA|TLS_RSA_WITH_NULL_SHA256|TLS_ECDHE_ECDSA_WITH_NULL_SHA|TLS_ECDHE_RSA_WITH_NULL_SHA|SSL_RSA_WITH_NULL_SHA|TLS_ECDH_ECDSA_WITH_NULL_SHA|TLS_ECDH_RSA_WITH_NULL_SHA|TLS_ECDH_anon_WITH_NULL_SHA|SSL_RSA_WITH_NULL_MD5|TLS_KRB5_WITH_3DES_EDE_CBC_SHA|TLS_KRB5_WITH_3DES_EDE_CBC_MD5|TLS_KRB5_WITH_DES_CBC_SHA|TLS_KRB5_WITH_DES_CBC_MD5|TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA|TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
security.server.keys_dir=/var/lib/ambari-server/keys
server.connection.max.idle.millis=900000
server.execution.scheduler.isClustered=false
server.execution.scheduler.maxDbConnections=5
server.execution.scheduler.maxThreads=5
server.execution.scheduler.misfire.toleration.minutes=480
server.fqdn.service.url=http://169.254.169.254/latest/meta-data/public-hostname
server.http.session.inactive_timeout=1800
server.jdbc.connection-pool=internal
server.jdbc.database=postgres
server.jdbc.database_name=ambari
server.jdbc.driver=org.postgresql.Driver
server.jdbc.hostname=postgres
server.jdbc.port=5432
server.jdbc.postgres.schema=public
server.jdbc.rca.driver=org.postgresql.Driver
server.jdbc.rca.url=jdbc:postgresql://postgres:5432/ambari
server.jdbc.rca.user.name=ambari
server.jdbc.rca.user.passwd=/etc/ambari-server/conf/password.dat
server.jdbc.url=jdbc:postgresql://postgres:5432/ambari
server.jdbc.user.name=ambari
server.jdbc.user.passwd=/etc/ambari-server/conf/password.dat
server.os_family=ubuntu18
server.os_type=ubuntu18
server.persistence.type=remote
server.python.log.level=INFO
server.python.log.name=ambari-server-command.log
server.stages.parallel=true
server.task.timeout=1200
server.tmp.dir=/var/lib/ambari-server/data/tmp
server.version.file=/var/lib/ambari-server/resources/version
shared.resources.dir=/usr/lib/ambari-server/lib/ambari_commons/resources
skip.service.checks=false
stack.java.home=/usr/lib/jvm/java-8-openjdk-amd64
stackadvisor.script=/var/lib/ambari-server/resources/scripts/stack_advisor.py
ulimit.open.files=65536
upgrade.parameter.convert.hive.tables.timeout=86400
upgrade.parameter.move.hive.tables.timeout=86400
user.inactivity.timeout.default=0
user.inactivity.timeout.role.readonly.default=0
views.ambari.request.connect.timeout.millis=30000
views.ambari.request.read.timeout.millis=45000
views.http.cache-control=no-store
views.http.charset=utf-8
views.http.pragma=no-cache
views.http.strict-transport-security=max-age=31536000
views.http.x-content-type-options=nosniff
views.http.x-frame-options=SAMEORIGIN
views.http.x-xss-protection=1; mode=block
views.request.connect.timeout.millis=5000
views.request.read.timeout.millis=10000
views.skip.home-directory-check.file-system.list=wasb,adls,adl
webapp.dir=/usr/lib/ambari-server/web

@ -0,0 +1,10 @@
com.sun.security.jgss.krb5.initiate {
com.sun.security.auth.module.Krb5LoginModule required
renewTGT=false
doNotPrompt=true
useKeyTab=true
keyTab="/etc/security/keytabs/ambari.keytab"
principal="ambari@EXAMPLE.COM"
storeKey=true
useTicketCache=false;
};

@ -0,0 +1,116 @@
# Copyright 2011 The Apache Software Foundation
#
# 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.
# Define some default values that can be overridden by system properties
# Root logger option
ambari.root.dir=
ambari.log.dir=${ambari.root.dir}/var/log/ambari-server
ambari.log.file=ambari-server.log
ambari.config-changes.file=ambari-config-changes.log
ambari.alerts.file=ambari-alerts.log
ambari.eclipselink.file=ambari-eclipselink.log
ambari.audit.file=ambari-audit.log
ambari.dbcheck.file=ambari-server-check-database.log
ambari.stackmerger.file=ambari-stack-merger.log
log4j.rootLogger=INFO,file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${ambari.log.dir}/${ambari.log.file}
log4j.appender.file.MaxFileSize=80MB
log4j.appender.file.MaxBackupIndex=60
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %5p [%t] %c{1}:%L - %m%n
# Log config changes
log4j.logger.configchange=INFO,configchange
log4j.additivity.configchange=false
log4j.appender.configchange=org.apache.log4j.FileAppender
log4j.appender.configchange.File=${ambari.log.dir}/${ambari.config-changes.file}
log4j.appender.configchange.layout=org.apache.log4j.PatternLayout
log4j.appender.configchange.layout.ConversionPattern=%d{ISO8601} %5p - %m%n
# Log alert state changes
log4j.logger.alerts=INFO,alerts
log4j.additivity.alerts=false
log4j.appender.alerts=org.apache.log4j.FileAppender
log4j.appender.alerts.File=${ambari.log.dir}/${ambari.alerts.file}
log4j.appender.alerts.layout=org.apache.log4j.PatternLayout
log4j.appender.alerts.layout.ConversionPattern=%d{ISO8601} %m%n
# Log database check process
log4j.logger.org.apache.ambari.server.checks.DatabaseConsistencyChecker=INFO, dbcheck
log4j.additivity.org.apache.ambari.server.checks.DatabaseConsistencyChecker=false
log4j.appender.dbcheck=org.apache.log4j.FileAppender
log4j.appender.dbcheck.File=${ambari.log.dir}/${ambari.dbcheck.file}
log4j.appender.dbcheck.layout=org.apache.log4j.PatternLayout
log4j.appender.dbcheck.layout.ConversionPattern=%d{ISO8601} %5p - %m%n
log4j.logger.org.apache.ambari.server.checks.DatabaseConsistencyCheckHelper=INFO, dbcheckhelper
log4j.additivity.org.apache.ambari.server.checks.DatabaseConsistencyCheckHelper=false
log4j.appender.dbcheckhelper=org.apache.log4j.FileAppender
log4j.appender.dbcheckhelper.File=${ambari.log.dir}/${ambari.dbcheck.file}
log4j.appender.dbcheckhelper.layout=org.apache.log4j.PatternLayout
log4j.appender.dbcheckhelper.layout.ConversionPattern=%d{ISO8601} %5p - %m%n
# Log stack merger
log4j.logger.org.apache.ambari.server.stack.StackMerger=INFO,stackmerger,console-stackmerger
log4j.additivity.org.apache.ambari.server.stack.StackMerger=false
log4j.appender.console-stackmerger=org.apache.log4j.ConsoleAppender
log4j.appender.console-stackmerger.layout=org.apache.log4j.PatternLayout
log4j.appender.stackmerger=org.apache.log4j.FileAppender
log4j.appender.stackmerger.File=${ambari.log.dir}/${ambari.stackmerger.file}
log4j.appender.stackmerger.layout=org.apache.log4j.PatternLayout
log4j.appender.stackmerger.layout.ConversionPattern=%d{ISO8601} %5p - %m%n
# EclipsLink -> slf4j bridge
log4j.logger.eclipselink=TRACE,eclipselink
log4j.additivity.eclipselink=false
log4j.appender.eclipselink=org.apache.log4j.RollingFileAppender
log4j.appender.eclipselink.File=${ambari.log.dir}/${ambari.eclipselink.file}
log4j.appender.eclipselink.MaxFileSize=50MB
log4j.appender.eclipselink.MaxBackupIndex=10
log4j.appender.eclipselink.layout=org.apache.log4j.PatternLayout
log4j.appender.eclipselink.layout.ConversionPattern=%m%n
# Jersey
log4j.logger.com.sun.jersey=WARN,file
log4j.logger.org.glassfish.jersey=WARN,file
# Jetty
log4j.logger.org.eclipse.jetty=WARN,file
# Audit logging
log4j.logger.audit=INFO,audit
log4j.additivity.audit=false
log4j.appender.audit=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.audit.rollingPolicy=org.apache.log4j.rolling.FixedWindowRollingPolicy
log4j.appender.audit.rollingPolicy.ActiveFileName=${ambari.log.dir}/${ambari.audit.file}
log4j.appender.audit.rollingPolicy.FileNamePattern=${ambari.log.dir}/${ambari.audit.file}-%i.log.gz
log4j.appender.audit.rollingPolicy.maxIndex=13
log4j.appender.audit.triggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.audit.triggeringPolicy.maxFileSize=50000000
log4j.appender.audit.layout=org.apache.log4j.PatternLayout
log4j.appender.audit.layout.ConversionPattern=%m%n
log4j.logger.org.apache.hadoop.yarn.client=WARN
log4j.logger.org.apache.ambari.server.security.authorization=WARN
log4j.logger.org.apache.ambari.server.security.authorization.AuthorizationHelper=INFO
log4j.logger.org.apache.ambari.server.security.authorization.AmbariLdapBindAuthenticator=INFO

@ -0,0 +1,65 @@
# Copyright 2011 The Apache Software Foundation
#
# 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.
#################### Metrics Source Configs #####################
#Metric sources : jvm,database
metric.sources=jvm,event
#### JVM Source Configs ###
source.jvm.class=org.apache.ambari.server.metrics.system.impl.JvmMetricsSource
source.event.class=org.apache.ambari.server.metrics.system.impl.StompEventsMetricsSource
source.jvm.interval=10
#### Database Source Configs ###
# Note : To enable Database metrics source completely, add the following property to ambari.properties as well
# server.persistence.properties.eclipselink.profiler=org.apache.ambari.server.metrics.system.impl.AmbariPerformanceMonitor
source.database.class=org.apache.ambari.server.metrics.system.impl.DatabaseMetricsSource
# Ambari performance monitor granularity : NONE / NORMAL / HEAVY / ALL
source.database.performance.monitor.query.weight=HEAVY
# Collection interval in milliseconds
source.database.monitor.dumptime=60000
# Include entities to be tracked.
source.database.monitor.entities=Cluster(.*)Entity,Host(.*)Entity,ExecutionCommandEntity,ServiceComponentDesiredStateEntity,Alert(.*)Entity,StackEntity,StageEntity
# Include some metrics which have the keyword even if they are not part of requested Entities.
# Examples
# Query Types
# ReadAllQuery,ReadObjectQuery,UpdateObjectQuery,ReportQuery,InsertObjectQuery,ValueReadQuery,DataModifyQuery,DoesExistQuery
# Query stages
# ObjectBuilding,QueryPreparation,SqlPrepare,SqlGeneration,StatementExecute,RowFetch,ConnectCalls,UnitOfWorkCommit,ClientSessionReleases,ConnectionManagement,CacheHits
# Sequences
# host_role_command_id_seq,alert_history_id_seq
source.database.monitor.query.keywords.include=CacheMisses
################################################################
############## General Metrics Service Configs #################
#ambariserver.hostname.override=
################################################################

@ -0,0 +1 @@
ambari

0
ambari/data/ssh/.gitkeep Normal file

25
ambari/docker-compose.yml Normal file

@ -0,0 +1,25 @@
ambari:
image: vimagick/ambari
hostname: ambari-server
ports:
- "8080:8080"
volumes:
- ./data/ssh:/root/.ssh
- ./data/ambari:/etc/ambari-server/conf
extra_hosts:
- ambari-agent1:172.16.1.101
- ambari-agent2:172.16.1.102
- ambari-agent3:172.16.1.103
restart: unless-stopped
postgres:
image: postgres:alpine
ports:
- "5432:5432"
volumes:
- /data/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_USER=ambari
- POSTGRES_PASSWORD=ambari
- POSTGRES_DB=ambari
restart: unless-stopped