hbase/dev-support/apache_hbase_topology/configurations.cfg

81 lines
3.1 KiB
INI

# 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 configuration file is used by the apache-hbase clusterdock topology to populate configuration
# files for an HBase cluster. Section names denote the filenames (e.g. [hadoop/core-site.xml]) with
# the section's corresponding items denoting properties.
#
# Filenames ending with .xml will have items run through an XML parser. That is,
#
# [hbase/hbase-site.xml]
# hbase.cluster.distributed = true
#
# would lead to the creation of an hbase-site.xml file containing:
#
# <property>
# <name>hbase.cluster.distributed</name>
# <value>true</value>
# </property>
#
# Note, also, that items in non-xml files can be copied verbatim by with using the "body:" item (be
# sure to include leading whitespace must be used for the following lines). For example:
#
# [hbase/hbase-env.sh]
# body:
# COMMON_HBASE_OPTS="$COMMON_HBASE_OPTS -XX:+UseG1GC"
# COMMON_HBASE_OPTS="$COMMON_HBASE_OPTS -XX:+PrintGCDetails"
#
# would result in an hbase-env.sh file with:
#
# COMMON_HBASE_OPTS="$COMMON_HBASE_OPTS -XX:+UseG1GC"
# COMMON_HBASE_OPTS="$COMMON_HBASE_OPTS -XX:+PrintGCDetails"
#
# Two last notes:
# 1. Items starting with +++ will be eval'd with Python directly.
# 2. As defined in action.py, some wildcards are processed at cluster start time (e.g. {network}).
[hadoop/slaves]
+++ '\n'.join(["{{0}}.{network}".format(node) for node in {secondary_nodes}])
[hadoop/core-site.xml]
fs.default.name = hdfs://{primary_node[0]}.{network}:8020
[hadoop/mapred-site.xml]
mapreduce.framework.name = yarn
[hadoop/yarn-site.xml]
yarn.resourcemanager.hostname = {primary_node[0]}.{network}
yarn.nodemanager.aux-services = mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce_shuffle.class = org.apache.hadoop.mapred.ShuffleHandler
yarn.nodemanager.vmem-check-enabled = false
[hbase/regionservers]
+++ '\n'.join(["{{0}}.{network}".format(node) for node in {secondary_nodes}])
[hbase/backup-masters]
{secondary_nodes[0]}.{network}
[hbase/hbase-site.xml]
hbase.cluster.distributed = true
hbase.rootdir = hdfs://{primary_node[0]}.{network}/hbase
hbase.zookeeper.quorum = {primary_node[0]}.{network}
hbase.zookeeper.property.dataDir = /usr/local/zookeeper
# For now, set service users for Chaos Monkey to be root.
hbase.it.clustermanager.hadoop.hdfs.user = root
hbase.it.clustermanager.zookeeper.user = root
hbase.it.clustermanager.hbase.user = root