diff --git a/MANIFEST.in b/MANIFEST.in index 1d4e23d6..11fff5ae 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -14,6 +14,7 @@ recursive-include sahara/locale * recursive-include sahara/db/migration/alembic_migrations * recursive-include sahara/plugins/default_templates *.json +include sahara/plugins/ambari/resources/*.json include sahara/plugins/default_templates/template.conf include sahara/plugins/cdh/v5/resources/cdh_config.py include sahara/plugins/cdh/v5/resources/*.sh diff --git a/etc/scenario/sahara-ci/ambari-2.3.yaml.mako b/etc/scenario/sahara-ci/ambari-2.3.yaml.mako new file mode 100644 index 00000000..671be4a1 --- /dev/null +++ b/etc/scenario/sahara-ci/ambari-2.3.yaml.mako @@ -0,0 +1,36 @@ +clusters: + - plugin_name: ambari + plugin_version: '2.3' + image: ${ambari_2_1_image} + node_group_templates: + - name: master + flavor: ${medium_flavor_id} + node_processes: + - Ambari + - MapReduce History Server + - NameNode + - ResourceManager + - SecondaryNameNode + - YARN Timeline Server + - ZooKeeper + auto_security_group: true + - name: worker + flavor: ${ci_flavor_id} + node_processes: + - DataNode + - NodeManager + volumes_per_node: 2 + volumes_size: 2 + auto_security_group: true + cluster_template: + name: ambari21 + node_group_templates: + master: 1 + worker: 3 + cluster_configs: + HDFS: + dfs.datanode.du.reserved: 0 + cluster: + name: ${cluster_name} + scenario: + - cinder diff --git a/sahara/plugins/ambari/client.py b/sahara/plugins/ambari/client.py index eca97ae7..436b4d65 100644 --- a/sahara/plugins/ambari/client.py +++ b/sahara/plugins/ambari/client.py @@ -70,6 +70,12 @@ class AmbariClient(object): data = self.check_response(resp) return data.get("items", []) + def get_host_info(self, host): + url = self._base_url + "/hosts/%s" % host + resp = self.get(url) + data = self.check_response(resp) + return data.get("Hosts", {}) + def update_user_password(self, user, old_password, new_password): url = self._base_url + "/users/%s" % user data = jsonutils.dumps({ @@ -80,3 +86,32 @@ class AmbariClient(object): }) resp = self.put(url, data=data) self.check_response(resp) + + def create_blueprint(self, name, data): + url = self._base_url + "/blueprints/%s" % name + resp = self.post(url, data=jsonutils.dumps(data)) + self.check_response(resp) + + def create_cluster(self, name, data): + url = self._base_url + "/clusters/%s" % name + resp = self.post(url, data=jsonutils.dumps(data)) + return self.check_response(resp).get("Requests") + + def check_request_status(self, cluster_name, req_id): + url = self._base_url + "/clusters/%s/requests/%d" % (cluster_name, + req_id) + resp = self.get(url) + return self.check_response(resp).get("Requests") + + def set_up_mirror(self, stack_version, os_type, repo_id, repo_url): + url = self._base_url + ( + "/stacks/HDP/versions/%s/operating_systems/%s/repositories/%s") % ( + stack_version, os_type, repo_id) + data = { + "Repositories": { + "base_url": repo_url, + "verify_base_url": True + } + } + resp = self.put(url, data=jsonutils.dumps(data)) + self.check_response(resp) diff --git a/sahara/plugins/ambari/common.py b/sahara/plugins/ambari/common.py index 242d0e67..1787d378 100644 --- a/sahara/plugins/ambari/common.py +++ b/sahara/plugins/ambari/common.py @@ -16,4 +16,66 @@ # define service names +AMBARI_SERVICE = "Ambari" +HDFS_SERVICE = "HDFS" +RANGER_SERVICE = "Ranger" +YARN_SERVICE = "YARN" +ZOOKEEPER_SERVICE = "ZooKeeper" + +# define process names + AMBARI_SERVER = "Ambari" +APP_TIMELINE_SERVER = "YARN Timeline Server" +DATANODE = "DataNode" +HISTORYSERVER = "MapReduce History Server" +NAMENODE = "NameNode" +NODEMANAGER = "NodeManager" +RESOURCEMANAGER = "ResourceManager" +SECONDARY_NAMENODE = "SecondaryNameNode" +ZOOKEEPER_SERVER = "ZooKeeper" + + +PROC_MAP = { + AMBARI_SERVER: ["METRICS_COLLECTOR"], + APP_TIMELINE_SERVER: ["APP_TIMELINE_SERVER"], + DATANODE: ["DATANODE"], + HISTORYSERVER: ["HISTORYSERVER"], + NAMENODE: ["NAMENODE"], + NODEMANAGER: ["NODEMANAGER"], + RESOURCEMANAGER: ["RESOURCEMANAGER"], + SECONDARY_NAMENODE: ["SECONDARY_NAMENODE"], + ZOOKEEPER_SERVER: ["ZOOKEEPER_SERVER"] +} + +CLIENT_MAP = { + APP_TIMELINE_SERVER: ["MAPREDUCE2_CLIENT", "YARN_CLIENT"], + DATANODE: ["HDFS_CLIENT"], + HISTORYSERVER: ["MAPREDUCE2_CLIENT", "YARN_CLIENT"], + NAMENODE: ["HDFS_CLIENT"], + NODEMANAGER: ["MAPREDUCE2_CLIENT", "YARN_CLIENT"], + RESOURCEMANAGER: ["MAPREDUCE2_CLIENT", "YARN_CLIENT"], + SECONDARY_NAMENODE: ["HDFS_CLIENT"], + ZOOKEEPER_SERVER: ["ZOOKEEPER_CLIENT"] +} + +ALL_LIST = ["METRICS_MONITOR"] + + +def get_ambari_proc_list(node_group): + procs = [] + for sp in node_group.node_processes: + procs.extend(PROC_MAP.get(sp, [])) + return procs + + +def get_clients(cluster): + procs = [] + for ng in cluster.node_groups: + procs.extend(ng.node_processes) + + clients = [] + for proc in procs: + clients.extend(CLIENT_MAP.get(proc, [])) + clients = list(set(clients)) + clients.extend(ALL_LIST) + return clients diff --git a/sahara/plugins/ambari/configs.py b/sahara/plugins/ambari/configs.py new file mode 100644 index 00000000..af43a187 --- /dev/null +++ b/sahara/plugins/ambari/configs.py @@ -0,0 +1,171 @@ +# Copyright (c) 2015 Mirantis Inc. +# +# Licensed 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. + + +from oslo_serialization import jsonutils +import six + +from sahara.plugins.ambari import common +from sahara.plugins import provisioning +from sahara.swift import swift_helper +from sahara.utils import files + + +configs = {} +obj_configs = {} +cfg_process_map = { + "ams-env": common.AMBARI_SERVICE, + "ams-hbase-env": common.AMBARI_SERVICE, + "ams-hbase-policy": common.AMBARI_SERVICE, + "ams-hbase-security-site": common.AMBARI_SERVICE, + "ams-hbase-site": common.AMBARI_SERVICE, + "ams-site": common.AMBARI_SERVICE, + "capacity-scheduler": common.YARN_SERVICE, + "cluster-env": "general", + "core-site": common.HDFS_SERVICE, + "hadoop-env": common.HDFS_SERVICE, + "hadoop-policy": common.HDFS_SERVICE, + "hdfs-site": common.HDFS_SERVICE, + "mapred-env": common.YARN_SERVICE, + "mapred-site": common.YARN_SERVICE, + "ranger-hdfs-plugin-properties": common.RANGER_SERVICE, + "yarn-env": common.YARN_SERVICE, + "yarn-site": common.YARN_SERVICE, + "zoo.cfg": common.ZOOKEEPER_SERVICE, + "zookeeper-env": common.ZOOKEEPER_SERVICE +} + + +ng_confs = [ + "dfs.datanode.data.dir", + "dtnode_heapsize", + "mapreduce.map.java.opts", + "mapreduce.map.memory.mb", + "mapreduce.reduce.java.opts", + "mapreduce.reduce.memory.mb", + "mapreduce.task.io.sort.mb", + "nodemanager_heapsize", + "yarn.app.mapreduce.am.command-opts", + "yarn.app.mapreduce.am.resource.mb", + "yarn.nodemanager.resource.cpu-vcores", + "yarn.nodemanager.resource.memory-mb", + "yarn.scheduler.maximum-allocation-mb", + "yarn.scheduler.minimum-allocation-mb" +] + + +hdp_repo_cfg = provisioning.Config( + "HDP repo URL", "general", "cluster", priority=1, default_value="") +hdp_utils_repo_cfg = provisioning.Config( + "HDP-UTILS repo URL", "general", "cluster", priority=1, default_value="") + + +def _get_service_name(service): + return cfg_process_map.get(service, service) + + +def _get_config_group(group, param, plugin_version): + for section, process in six.iteritems(cfg_process_map): + if process == group and param in configs[plugin_version][section]: + return section + + +def _get_param_scope(param): + if param in ng_confs: + return "node" + else: + return "cluster" + + +def load_configs(version): + if obj_configs.get(version): + return obj_configs[version] + cfg_path = "plugins/ambari/resources/configs-%s.json" % version + vanilla_cfg = jsonutils.loads(files.get_file_text(cfg_path)) + configs[version] = vanilla_cfg + sahara_cfg = [hdp_repo_cfg, hdp_utils_repo_cfg] + for service, confs in vanilla_cfg.items(): + for k, v in confs.items(): + sahara_cfg.append(provisioning.Config( + k, _get_service_name(service), _get_param_scope(k), + default_value=v)) + obj_configs[version] = sahara_cfg + return sahara_cfg + + +def _get_config_value(cluster, key): + return cluster.cluster_configs.get("general", {}).get(key.name, + key.default_value) + + +def get_hdp_repo_url(cluster): + return _get_config_value(cluster, hdp_repo_cfg) + + +def get_hdp_utils_repo_url(cluster): + return _get_config_value(cluster, hdp_utils_repo_cfg) + + +def _serialize_ambari_configs(configs): + return list(map(lambda x: {x: configs[x]}, configs)) + + +def _create_ambari_configs(sahara_configs, plugin_version): + configs = {} + for service, params in six.iteritems(sahara_configs): + for k, v in six.iteritems(params): + group = _get_config_group(service, k, plugin_version) + configs.setdefault(group, {}) + configs[group].update({k: v}) + return configs + + +def _make_paths(dirs, suffix): + return ",".join([d + suffix for d in dirs]) + + +def get_ng_params(node_group): + configs = _create_ambari_configs(node_group.node_configs, + node_group.cluster.hadoop_version) + storage_paths = node_group.storage_paths() + configs.setdefault("hdfs-site", {}) + configs["hdfs-site"]["dfs.datanode.data.dir"] = _make_paths( + storage_paths, "/hdfs/data") + configs["hdfs-site"]["dfs.journalnode.edits.dir"] = _make_paths( + storage_paths, "/hdfs/journalnode") + configs["hdfs-site"]["dfs.namenode.checkpoint.dir"] = _make_paths( + storage_paths, "/hdfs/namesecondary") + configs["hdfs-site"]["dfs.namenode.name.dir"] = _make_paths( + storage_paths, "/hdfs/namenode") + configs.setdefault("yarn-site", {}) + configs["yarn-site"]["yarn.nodemanager.local-dirs"] = _make_paths( + storage_paths, "/yarn/local") + configs["yarn-site"]["yarn.nodemanager.log-dirs"] = _make_paths( + storage_paths, "/yarn/log") + configs["yarn-site"][ + "yarn.timeline-service.leveldb-timeline-store.path"] = _make_paths( + storage_paths, "/yarn/timeline") + + return _serialize_ambari_configs(configs) + + +def get_cluster_params(cluster): + configs = _create_ambari_configs(cluster.cluster_configs, + cluster.hadoop_version) + swift_configs = {x["name"]: x["value"] + for x in swift_helper.get_swift_configs()} + configs.setdefault("core-site", {}) + configs["core-site"].update(swift_configs) + return _serialize_ambari_configs(configs) diff --git a/sahara/plugins/ambari/deploy.py b/sahara/plugins/ambari/deploy.py index 1fd00cd5..7c049360 100644 --- a/sahara/plugins/ambari/deploy.py +++ b/sahara/plugins/ambari/deploy.py @@ -25,6 +25,7 @@ from sahara import context from sahara.i18n import _ from sahara.plugins.ambari import client as ambari_client from sahara.plugins.ambari import common as p_common +from sahara.plugins.ambari import configs from sahara.plugins import exceptions as p_exc from sahara.plugins import utils as plugin_utils from sahara.utils import poll_utils @@ -34,6 +35,23 @@ LOG = logging.getLogger(__name__) conductor = conductor.API +repo_id_map = { + "2.2": { + "HDP": "HDP-2.2", + "HDP-UTILS": "HDP-UTILS-1.1.0.20" + }, + "2.3": { + "HDP": "HDP-2.3", + "HDP-UTILS": "HDP-UTILS-1.1.0.20" + } +} + +os_type_map = { + "centos6": "redhat6", + "redhat6": "redhat6" +} + + def setup_ambari(cluster): LOG.debug("Set up Ambari management console") ambari = plugin_utils.get_instance(cluster, p_common.AMBARI_SERVER) @@ -111,3 +129,77 @@ def wait_host_registration(cluster): def _check_host_registration(client, num_hosts): hosts = client.get_registered_hosts() return len(hosts) == num_hosts + + +def set_up_hdp_repos(cluster): + hdp_repo = configs.get_hdp_repo_url(cluster) + hdp_utils_repo = configs.get_hdp_utils_repo_url(cluster) + if not hdp_repo and not hdp_utils_repo: + return + ambari = plugin_utils.get_instance(cluster, p_common.AMBARI_SERVER) + password = cluster.extra["ambari_password"] + pv = cluster.hadoop_version + repos = repo_id_map[pv] + with ambari_client.AmbariClient(ambari, password=password) as client: + os_type = os_type_map[client.get_host_info(ambari.fqdn())["os_type"]] + if hdp_repo: + client.set_up_mirror(pv, os_type, repos["HDP"], hdp_repo) + if hdp_utils_repo: + client.set_up_mirror(pv, os_type, repos["HDP-UTILS"], + hdp_utils_repo) + + +def create_blueprint(cluster): + host_groups = [] + for ng in cluster.node_groups: + hg = { + "name": ng.name, + "configurations": configs.get_ng_params(ng), + "components": [] + } + procs = p_common.get_ambari_proc_list(ng) + procs.extend(p_common.get_clients(cluster)) + for proc in procs: + hg["components"].append({"name": proc}) + host_groups.append(hg) + bp = { + "Blueprints": { + "stack_name": "HDP", + "stack_version": cluster.hadoop_version + }, + "host_groups": host_groups, + "configurations": configs.get_cluster_params(cluster) + } + ambari = plugin_utils.get_instance(cluster, p_common.AMBARI_SERVER) + password = cluster.extra["ambari_password"] + with ambari_client.AmbariClient(ambari, password=password) as client: + client.create_blueprint(cluster.name, bp) + + +def start_cluster(cluster): + cl_tmpl = { + "blueprint": cluster.name, + "default_password": uuidutils.generate_uuid(), + "host_groups": [] + } + for ng in cluster.node_groups: + cl_tmpl["host_groups"].append({ + "name": ng.name, + "hosts": map(lambda x: {"fqdn": x.fqdn()}, ng.instances) + }) + ambari = plugin_utils.get_instance(cluster, p_common.AMBARI_SERVER) + password = cluster.extra["ambari_password"] + with ambari_client.AmbariClient(ambari, password=password) as client: + req_id = client.create_cluster(cluster.name, cl_tmpl)["id"] + while True: + status = client.check_request_status(cluster.name, req_id) + LOG.debug("Task %s in %s state. Completed %.1f%%" % ( + status["request_context"], status["request_status"], + status["progress_percent"])) + if status["request_status"] == "COMPLETED": + return + if status["request_status"] in ["IN_PROGRESS", "PENDING"]: + context.sleep(5) + else: + raise p_exc.HadoopProvisionError( + _("Ambari request in %s state") % status["request_status"]) diff --git a/sahara/plugins/ambari/plugin.py b/sahara/plugins/ambari/plugin.py index 8f57a30e..d646acb9 100644 --- a/sahara/plugins/ambari/plugin.py +++ b/sahara/plugins/ambari/plugin.py @@ -18,6 +18,7 @@ from sahara import conductor from sahara import context from sahara.i18n import _ from sahara.plugins.ambari import common as p_common +from sahara.plugins.ambari import configs from sahara.plugins.ambari import deploy from sahara.plugins.ambari import validation from sahara.plugins import provisioning as p @@ -40,11 +41,17 @@ class AmbariPluginProvider(p.ProvisioningPluginBase): def get_node_processes(self, hadoop_version): return { - "Ambari": [p_common.AMBARI_SERVER] + p_common.AMBARI_SERVICE: [p_common.AMBARI_SERVER], + p_common.HDFS_SERVICE: [p_common.DATANODE, p_common.NAMENODE, + p_common.SECONDARY_NAMENODE], + p_common.YARN_SERVICE: [ + p_common.APP_TIMELINE_SERVER, p_common.HISTORYSERVER, + p_common.NODEMANAGER, p_common.RESOURCEMANAGER], + p_common.ZOOKEEPER_SERVICE: [p_common.ZOOKEEPER_SERVER] } def get_configs(self, hadoop_version): - return [] + return configs.load_configs(hadoop_version) def configure_cluster(self, cluster): deploy.setup_ambari(cluster) @@ -53,9 +60,12 @@ class AmbariPluginProvider(p.ProvisioningPluginBase): deploy.update_default_ambari_password(cluster) cluster = conductor.cluster_get(context.ctx(), cluster.id) deploy.wait_host_registration(cluster) + deploy.set_up_hdp_repos(cluster) + deploy.create_blueprint(cluster) def start_cluster(self, cluster): self._set_cluster_info(cluster) + deploy.start_cluster(cluster) def _set_cluster_info(self, cluster): ambari_ip = plugin_utils.get_instance( @@ -69,6 +79,29 @@ class AmbariPluginProvider(p.ProvisioningPluginBase): "Password": cluster.extra["ambari_password"] } } + namenode = plugin_utils.get_instance(cluster, p_common.NAMENODE) + if namenode: + info[p_common.NAMENODE] = { + "Web UI": "http://%s:50070" % namenode.management_ip + } + resourcemanager = plugin_utils.get_instance(cluster, + p_common.RESOURCEMANAGER) + if resourcemanager: + info[p_common.RESOURCEMANAGER] = { + "Web UI": "http://%s:8088" % resourcemanager.management_ip + } + historyserver = plugin_utils.get_instance(cluster, + p_common.HISTORYSERVER) + if historyserver: + info[p_common.HISTORYSERVER] = { + "Web UI": "http://%s:19888" % historyserver.management_ip + } + atlserver = plugin_utils.get_instance(cluster, + p_common.APP_TIMELINE_SERVER) + if atlserver: + info[p_common.APP_TIMELINE_SERVER] = { + "Web UI": "http://%s:8188" % atlserver.management_ip + } info.update(cluster.info.to_dict()) ctx = context.ctx() conductor.cluster_update(ctx, cluster, {"info": info}) @@ -97,7 +130,14 @@ class AmbariPluginProvider(p.ProvisioningPluginBase): def get_open_ports(self, node_group): ports_map = { - p_common.AMBARI_SERVER: [8080] + p_common.AMBARI_SERVER: [8080], + p_common.APP_TIMELINE_SERVER: [8188, 8190, 10200], + p_common.DATANODE: [50075, 50475], + p_common.HISTORYSERVER: [10020, 19888], + p_common.NAMENODE: [8020, 9000, 50070, 50470], + p_common.NODEMANAGER: [8042, 8044, 45454], + p_common.RESOURCEMANAGER: [8025, 8030, 8050, 8088, 8141], + p_common.SECONDARY_NAMENODE: [50090] } ports = [] for service in node_group.node_processes: diff --git a/sahara/plugins/ambari/resources/configs-2.2.json b/sahara/plugins/ambari/resources/configs-2.2.json new file mode 100644 index 00000000..c0b0a110 --- /dev/null +++ b/sahara/plugins/ambari/resources/configs-2.2.json @@ -0,0 +1,1180 @@ +{ + "ams-env": { + "ambari_metrics_user": "ams", + "metrics_collector_heapsize": "512m", + "metrics_collector_log_dir": "/var/log/ambari-metrics-collector", + "metrics_collector_pid_dir": "/var/run/ambari-metrics-collector", + "metrics_monitor_log_dir": "/var/log/ambari-metrics-monitor", + "metrics_monitor_pid_dir": "/var/run/ambari-metrics-monitor" + }, + "ams-hbase-env": { + "hbase_log_dir": "/var/log/ambari-metrics-collector", + "hbase_master_heapsize": "1024m", + "hbase_master_maxperm_size": "128m", + "hbase_master_xmn_size": "128m", + "hbase_pid_dir": "/var/run/ambari-metrics-collector/", + "hbase_regionserver_heapsize": "1024m", + "hbase_regionserver_xmn_max": "512m", + "hbase_regionserver_xmn_ratio": "0.2", + "regionserver_xmn_size": "256m" + }, + "ams-hbase-policy": { + "security.admin.protocol.acl": "*", + "security.client.protocol.acl": "*", + "security.masterregion.protocol.acl": "*" + }, + "ams-hbase-security-site": { + "ams.zookeeper.keytab": "", + "ams.zookeeper.principal": "", + "hadoop.security.authentication": "", + "hbase.coprocessor.master.classes": "", + "hbase.coprocessor.region.classes": "", + "hbase.master.kerberos.principal": "", + "hbase.master.keytab.file": "", + "hbase.myclient.keytab": "", + "hbase.myclient.principal": "", + "hbase.regionserver.kerberos.principal": "", + "hbase.regionserver.keytab.file": "", + "hbase.security.authentication": "", + "hbase.security.authorization": "", + "hbase.zookeeper.property.authProvider.1": "", + "hbase.zookeeper.property.jaasLoginRenew": "", + "hbase.zookeeper.property.kerberos.removeHostFromPrincipal": "", + "hbase.zookeeper.property.kerberos.removeRealmFromPrincipal": "", + "zookeeper.znode.parent": "" + }, + "ams-hbase-site": { + "hbase.client.scanner.caching": "10000", + "hbase.client.scanner.timeout.period": "900000", + "hbase.cluster.distributed": "false", + "hbase.hregion.majorcompaction": "0", + "hbase.hregion.memstore.block.multiplier": "4", + "hbase.hregion.memstore.flush.size": "134217728", + "hbase.hstore.blockingStoreFiles": "200", + "hbase.hstore.flusher.count": "2", + "hbase.local.dir": "${hbase.tmp.dir}/local", + "hbase.master.info.bindAddress": "0.0.0.0", + "hbase.master.info.port": "61310", + "hbase.master.port": "61300", + "hbase.master.wait.on.regionservers.mintostart": "1", + "hbase.regionserver.global.memstore.lowerLimit": "0.3", + "hbase.regionserver.global.memstore.upperLimit": "0.35", + "hbase.regionserver.info.port": "61330", + "hbase.regionserver.port": "61320", + "hbase.regionserver.thread.compaction.large": "2", + "hbase.regionserver.thread.compaction.small": "3", + "hbase.replication": "false", + "hbase.rootdir": "file:///var/lib/ambari-metrics-collector/hbase", + "hbase.snapshot.enabled": "false", + "hbase.tmp.dir": "/var/lib/ambari-metrics-collector/hbase-tmp", + "hbase.zookeeper.leaderport": "61388", + "hbase.zookeeper.peerport": "61288", + "hbase.zookeeper.property.clientPort": "61181", + "hbase.zookeeper.property.dataDir": "${hbase.tmp.dir}/zookeeper", + "hbase.zookeeper.quorum": "{{zookeeper_quorum_hosts}}", + "hfile.block.cache.size": "0.3", + "phoenix.groupby.maxCacheSize": "307200000", + "phoenix.query.maxGlobalMemoryPercentage": "15", + "phoenix.query.spoolThresholdBytes": "12582912", + "phoenix.query.timeoutMs": "1200000", + "phoenix.sequence.saltBuckets": "2", + "phoenix.spool.directory": "${hbase.tmp.dir}/phoenix-spool", + "zookeeper.session.timeout": "120000", + "zookeeper.session.timeout.localHBaseCluster": "20000" + }, + "ams-site": { + "phoenix.query.maxGlobalMemoryPercentage": "25", + "phoenix.spool.directory": "/tmp", + "timeline.metrics.aggregator.checkpoint.dir": "/var/lib/ambari-metrics-collector/checkpoint", + "timeline.metrics.cluster.aggregator.hourly.checkpointCutOffMultiplier": "2", + "timeline.metrics.cluster.aggregator.hourly.disabled": "false", + "timeline.metrics.cluster.aggregator.hourly.interval": "3600", + "timeline.metrics.cluster.aggregator.hourly.ttl": "31536000", + "timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier": "2", + "timeline.metrics.cluster.aggregator.minute.disabled": "false", + "timeline.metrics.cluster.aggregator.minute.interval": "120", + "timeline.metrics.cluster.aggregator.minute.timeslice.interval": "15", + "timeline.metrics.cluster.aggregator.minute.ttl": "2592000", + "timeline.metrics.hbase.compression.scheme": "SNAPPY", + "timeline.metrics.hbase.data.block.encoding": "FAST_DIFF", + "timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier": "2", + "timeline.metrics.host.aggregator.hourly.disabled": "false", + "timeline.metrics.host.aggregator.hourly.interval": "3600", + "timeline.metrics.host.aggregator.hourly.ttl": "2592000", + "timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier": "2", + "timeline.metrics.host.aggregator.minute.disabled": "false", + "timeline.metrics.host.aggregator.minute.interval": "120", + "timeline.metrics.host.aggregator.minute.ttl": "604800", + "timeline.metrics.host.aggregator.ttl": "86400", + "timeline.metrics.service.checkpointDelay": "60", + "timeline.metrics.service.default.result.limit": "5760", + "timeline.metrics.service.operation.mode": "embedded", + "timeline.metrics.service.resultset.fetchSize": "2000", + "timeline.metrics.service.rpc.address": "0.0.0.0:60200", + "timeline.metrics.service.webapp.address": "0.0.0.0:6188" + }, + "capacity-scheduler": { + "yarn.scheduler.capacity.default.minimum-user-limit-percent": "100", + "yarn.scheduler.capacity.maximum-am-resource-percent": "0.2", + "yarn.scheduler.capacity.maximum-applications": "10000", + "yarn.scheduler.capacity.node-locality-delay": "40", + "yarn.scheduler.capacity.resource-calculator": "org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator", + "yarn.scheduler.capacity.root.accessible-node-labels": "*", + "yarn.scheduler.capacity.root.accessible-node-labels.default.capacity": "-1", + "yarn.scheduler.capacity.root.accessible-node-labels.default.maximum-capacity": "-1", + "yarn.scheduler.capacity.root.acl_administer_queue": "*", + "yarn.scheduler.capacity.root.capacity": "100", + "yarn.scheduler.capacity.root.default-node-label-expression": "", + "yarn.scheduler.capacity.root.default.acl_administer_jobs": "*", + "yarn.scheduler.capacity.root.default.acl_submit_applications": "*", + "yarn.scheduler.capacity.root.default.capacity": "100", + "yarn.scheduler.capacity.root.default.maximum-capacity": "100", + "yarn.scheduler.capacity.root.default.state": "RUNNING", + "yarn.scheduler.capacity.root.default.user-limit-factor": "1", + "yarn.scheduler.capacity.root.queues": "default" + }, + "cluster-env": { + "hadoop-streaming_tar_destination_folder": "hdfs:///hdp/apps/{{ hdp_stack_version }}/mapreduce/", + "hadoop-streaming_tar_source": "/usr/hdp/current/hadoop-mapreduce-client/hadoop-streaming.jar", + "hive_tar_destination_folder": "hdfs:///hdp/apps/{{ hdp_stack_version }}/hive/", + "hive_tar_source": "/usr/hdp/current/hive-client/hive.tar.gz", + "ignore_groupsusers_create": "false", + "kerberos_domain": "EXAMPLE.COM", + "mapreduce_tar_destination_folder": "hdfs:///hdp/apps/{{ hdp_stack_version }}/mapreduce/", + "mapreduce_tar_source": "/usr/hdp/current/hadoop-client/mapreduce.tar.gz", + "pig_tar_destination_folder": "hdfs:///hdp/apps/{{ hdp_stack_version }}/pig/", + "pig_tar_source": "/usr/hdp/current/pig-client/pig.tar.gz", + "security_enabled": "false", + "smokeuser": "ambari-qa", + "smokeuser_keytab": "/etc/security/keytabs/smokeuser.headless.keytab", + "sqoop_tar_destination_folder": "hdfs:///hdp/apps/{{ hdp_stack_version }}/sqoop/", + "sqoop_tar_source": "/usr/hdp/current/sqoop-client/sqoop.tar.gz", + "tez_tar_destination_folder": "hdfs:///hdp/apps/{{ hdp_stack_version }}/tez/", + "tez_tar_source": "/usr/hdp/current/tez-client/lib/tez.tar.gz", + "user_group": "hadoop" + }, + "core-site": { + "fs.defaultFS": "hdfs://%HOSTGROUP::host_group_1%:8020", + "fs.trash.interval": "360", + "ha.failover-controller.active-standby-elector.zk.op.retries": "120", + "hadoop.http.authentication.simple.anonymous.allowed": "true", + "hadoop.proxyuser.falcon.groups": "users", + "hadoop.proxyuser.falcon.hosts": "*", + "hadoop.proxyuser.hcat.groups": "users", + "hadoop.proxyuser.hcat.hosts": "%HOSTGROUP::host_group_2%", + "hadoop.proxyuser.hive.groups": "users", + "hadoop.proxyuser.hive.hosts": "%HOSTGROUP::host_group_2%", + "hadoop.proxyuser.oozie.groups": "*", + "hadoop.proxyuser.oozie.hosts": "%HOSTGROUP::host_group_2%", + "hadoop.security.auth_to_local": "DEFAULT", + "hadoop.security.authentication": "simple", + "hadoop.security.authorization": "false", + "io.compression.codecs": "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec", + "io.file.buffer.size": "131072", + "io.serializations": "org.apache.hadoop.io.serializer.WritableSerialization", + "ipc.client.connect.max.retries": "50", + "ipc.client.connection.maxidletime": "30000", + "ipc.client.idlethreshold": "8000", + "ipc.server.tcpnodelay": "true", + "mapreduce.jobtracker.webinterface.trusted": "false", + "proxyuser_group": "users" + }, + "falcon-env": { + "falcon.embeddedmq": "true", + "falcon.embeddedmq.data": "/hadoop/falcon/embeddedmq/data", + "falcon.emeddedmq.port": "61616", + "falcon_local_dir": "/hadoop/falcon", + "falcon_log_dir": "/var/log/falcon", + "falcon_pid_dir": "/var/run/falcon", + "falcon_port": "15000", + "falcon_store_uri": "file:///hadoop/falcon/store", + "falcon_user": "falcon" + }, + "falcon-runtime.properties": { + "*.domain": "${falcon.app.type}", + "*.log.cleanup.frequency.days.retention": "days(7)", + "*.log.cleanup.frequency.hours.retention": "minutes(1)", + "*.log.cleanup.frequency.minutes.retention": "hours(6)", + "*.log.cleanup.frequency.months.retention": "months(3)" + }, + "falcon-startup.properties": { + "*.ConfigSyncService.impl": "org.apache.falcon.resource.ConfigSyncService", + "*.ProcessInstanceManager.impl": "org.apache.falcon.resource.InstanceManager", + "*.SchedulableEntityManager.impl": "org.apache.falcon.resource.SchedulableEntityManager", + "*.application.services": "org.apache.falcon.security.AuthenticationInitializationService,\\ org.apache.falcon.workflow.WorkflowJobEndNotificationService, \\ org.apache.falcon.service.ProcessSubscriberService,\\ org.apache.falcon.entity.store.ConfigurationStore,\\ org.apache.falcon.rerun.service.RetryService,\\ org.apache.falcon.rerun.service.LateRunService,\\ org.apache.falcon.service.LogCleanupService,\\ org.apache.falcon.metadata.MetadataMappingService", + "*.broker.impl.class": "org.apache.activemq.ActiveMQConnectionFactory", + "*.broker.ttlInMins": "4320", + "*.broker.url": "tcp://%HOSTGROUP::host_group_2%:61616", + "*.catalog.service.impl": "org.apache.falcon.catalog.HiveCatalogService", + "*.config.store.uri": "file:///hadoop/falcon/store", + "*.configstore.listeners": "org.apache.falcon.entity.v0.EntityGraph,\\ org.apache.falcon.entity.ColoClusterRelation,\\ org.apache.falcon.group.FeedGroupMap,\\ org.apache.falcon.service.SharedLibraryHostingService", + "*.dfs.namenode.kerberos.principal": "nn/_HOST@EXAMPLE.COM", + "*.domain": "${falcon.app.type}", + "*.entity.topic": "FALCON.ENTITY.TOPIC", + "*.falcon.authentication.type": "simple", + "*.falcon.cleanup.service.frequency": "days(1)", + "*.falcon.enableTLS": "false", + "*.falcon.graph.blueprints.graph": "com.thinkaurelius.titan.core.TitanFactory", + "*.falcon.graph.preserve.history": "false", + "*.falcon.graph.serialize.path": "/hadoop/falcon/data/lineage", + "*.falcon.graph.storage.backend": "berkeleyje", + "*.falcon.graph.storage.directory": "/hadoop/falcon/data/lineage/graphdb", + "*.falcon.http.authentication.blacklisted.users": "", + "*.falcon.http.authentication.cookie.domain": "EXAMPLE.COM", + "*.falcon.http.authentication.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab", + "*.falcon.http.authentication.kerberos.name.rules": "DEFAULT", + "*.falcon.http.authentication.signature.secret": "falcon", + "*.falcon.http.authentication.simple.anonymous.allowed": "true", + "*.falcon.http.authentication.token.validity": "36000", + "*.falcon.http.authentication.type": "simple", + "*.falcon.security.authorization.admin.groups": "falcon", + "*.falcon.security.authorization.admin.users": "falcon,ambari-qa", + "*.falcon.security.authorization.enabled": "false", + "*.falcon.security.authorization.provider": "org.apache.falcon.security.DefaultAuthorizationProvider", + "*.falcon.security.authorization.superusergroup": "falcon", + "*.falcon.service.authentication.kerberos.keytab": "/etc/security/keytabs/falcon.service.keytab", + "*.internal.queue.size": "1000", + "*.journal.impl": "org.apache.falcon.transaction.SharedFileSystemJournal", + "*.max.retry.failure.count": "1", + "*.oozie.feed.workflow.builder": "org.apache.falcon.workflow.OozieFeedWorkflowBuilder", + "*.oozie.process.workflow.builder": "org.apache.falcon.workflow.OozieProcessWorkflowBuilder", + "*.retry.recorder.path": "${falcon.log.dir}/retry", + "*.shared.libs": "activemq-core,ant,geronimo-j2ee-management,hadoop-distcp,jms,json-simple,oozie-client,spring-jms", + "*.system.lib.location": "${falcon.home}/server/webapp/${falcon.app.type}/WEB-INF/lib", + "*.workflow.engine.impl": "org.apache.falcon.workflow.engine.OozieWorkflowEngine", + "prism.application.services": "org.apache.falcon.entity.store.ConfigurationStore", + "prism.configstore.listeners": "org.apache.falcon.entity.v0.EntityGraph,\\ org.apache.falcon.entity.ColoClusterRelation,\\ org.apache.falcon.group.FeedGroupMap" + }, + "flume-env": { + "flume_conf_dir": "/etc/flume/conf", + "flume_log_dir": "/var/log/flume", + "flume_user": "flume" + }, + "gateway-site": { + "gateway.gateway.conf.dir": "deployments", + "gateway.hadoop.kerberos.secured": "false", + "gateway.path": "gateway", + "gateway.port": "8443", + "java.security.auth.login.config": "/etc/knox/conf/krb5JAASLogin.conf", + "java.security.krb5.conf": "/etc/knox/conf/krb5.conf", + "sun.security.krb5.debug": "true" + }, + "hadoop-env": { + "dfs.datanode.data.dir.mount.file": "/etc/hadoop/conf/dfs_data_dir_mount.hist", + "dtnode_heapsize": "1024m", + "hadoop_heapsize": "1024", + "hadoop_pid_dir_prefix": "/var/run/hadoop", + "hadoop_root_logger": "INFO,RFA", + "hdfs_log_dir_prefix": "/var/log/hadoop", + "hdfs_user": "hdfs", + "namenode_heapsize": "2048m", + "namenode_opt_maxnewsize": "512m", + "namenode_opt_maxpermsize": "256m", + "namenode_opt_newsize": "512m", + "namenode_opt_permsize": "128m", + "proxyuser_group": "users" + }, + "hadoop-policy": { + "security.admin.operations.protocol.acl": "hadoop", + "security.client.datanode.protocol.acl": "*", + "security.client.protocol.acl": "*", + "security.datanode.protocol.acl": "*", + "security.inter.datanode.protocol.acl": "*", + "security.inter.tracker.protocol.acl": "*", + "security.job.client.protocol.acl": "*", + "security.job.task.protocol.acl": "*", + "security.namenode.protocol.acl": "*", + "security.refresh.policy.protocol.acl": "hadoop", + "security.refresh.usertogroups.mappings.protocol.acl": "hadoop" + }, + "hbase-env": { + "hbase_log_dir": "/var/log/hbase", + "hbase_master_heapsize": "1024m", + "hbase_pid_dir": "/var/run/hbase", + "hbase_regionserver_heapsize": "1024m", + "hbase_regionserver_xmn_max": "512", + "hbase_regionserver_xmn_ratio": "0.2", + "hbase_user": "hbase" + }, + "hbase-policy": { + "security.admin.protocol.acl": "*", + "security.client.protocol.acl": "*", + "security.masterregion.protocol.acl": "*" + }, + "hbase-site": { + "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket", + "hbase.client.keyvalue.maxsize": "10485760", + "hbase.client.scanner.caching": "100", + "hbase.cluster.distributed": "true", + "hbase.coprocessor.master.classes": "", + "hbase.coprocessor.region.classes": "", + "hbase.defaults.for.version.skip": "true", + "hbase.hregion.majorcompaction": "604800000", + "hbase.hregion.majorcompaction.jitter": "0.50", + "hbase.hregion.max.filesize": "10737418240", + "hbase.hregion.memstore.block.multiplier": "4", + "hbase.hregion.memstore.flush.size": "134217728", + "hbase.hregion.memstore.mslab.enabled": "true", + "hbase.hstore.blockingStoreFiles": "10", + "hbase.hstore.compactionThreshold": "3", + "hbase.local.dir": "${hbase.tmp.dir}/local", + "hbase.master.info.bindAddress": "0.0.0.0", + "hbase.master.info.port": "60010", + "hbase.master.port": "60000", + "hbase.regionserver.global.memstore.lowerLimit": "0.38", + "hbase.regionserver.global.memstore.upperLimit": "0.4", + "hbase.regionserver.handler.count": "60", + "hbase.regionserver.info.port": "60030", + "hbase.rootdir": "hdfs://%HOSTGROUP::host_group_1%:8020/apps/hbase/data", + "hbase.rpc.protection": "authentication", + "hbase.security.authentication": "simple", + "hbase.security.authorization": "false", + "hbase.superuser": "hbase", + "hbase.tmp.dir": "/volumes/disk1/hadoop/hbase", + "hbase.zookeeper.property.clientPort": "2181", + "hbase.zookeeper.quorum": "%HOSTGROUP::host_group_1%,%HOSTGROUP::host_group_3%,%HOSTGROUP::host_group_2%", + "hbase.zookeeper.useMulti": "true", + "hfile.block.cache.size": "0.40", + "zookeeper.session.timeout": "30000", + "zookeeper.znode.parent": "/hbase-unsecure" + }, + "hdfs-site": { + "dfs.block.access.token.enable": "true", + "dfs.blockreport.initialDelay": "120", + "dfs.blocksize": "134217728", + "dfs.client.read.shortcircuit": "true", + "dfs.client.read.shortcircuit.streams.cache.size": "4096", + "dfs.cluster.administrators": "hdfs", + "dfs.datanode.address": "0.0.0.0:50010", + "dfs.datanode.balance.bandwidthPerSec": "6250000", + "dfs.datanode.data.dir": "/volumes/disk1/hadoop/hdfs/data,/volumes/disk2/hadoop/hdfs/data,/volumes/disk3/hadoop/hdfs/data", + "dfs.datanode.data.dir.perm": "750", + "dfs.datanode.du.reserved": "1073741824", + "dfs.datanode.failed.volumes.tolerated": "0", + "dfs.datanode.http.address": "0.0.0.0:50075", + "dfs.datanode.https.address": "0.0.0.0:50475", + "dfs.datanode.ipc.address": "0.0.0.0:8010", + "dfs.datanode.max.transfer.threads": "16384", + "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket", + "dfs.heartbeat.interval": "3", + "dfs.hosts.exclude": "/etc/hadoop/conf/dfs.exclude", + "dfs.http.policy": "HTTP_ONLY", + "dfs.https.port": "50470", + "dfs.journalnode.edits.dir": "/hadoop/hdfs/journalnode", + "dfs.journalnode.http-address": "0.0.0.0:8480", + "dfs.journalnode.https-address": "0.0.0.0:8481", + "dfs.namenode.accesstime.precision": "0", + "dfs.namenode.avoid.read.stale.datanode": "true", + "dfs.namenode.avoid.write.stale.datanode": "true", + "dfs.namenode.checkpoint.dir": "/hadoop/hdfs/namesecondary", + "dfs.namenode.checkpoint.edits.dir": "${dfs.namenode.checkpoint.dir}", + "dfs.namenode.checkpoint.period": "21600", + "dfs.namenode.checkpoint.txns": "1000000", + "dfs.namenode.handler.count": "100", + "dfs.namenode.http-address": "%HOSTGROUP::host_group_1%:50070", + "dfs.namenode.https-address": "%HOSTGROUP::host_group_1%:50470", + "dfs.namenode.name.dir": "/hadoop/hdfs/namenode", + "dfs.namenode.name.dir.restore": "true", + "dfs.namenode.safemode.threshold-pct": "1.0f", + "dfs.namenode.secondary.http-address": "%HOSTGROUP::host_group_2%:50090", + "dfs.namenode.stale.datanode.interval": "30000", + "dfs.namenode.startup.delay.block.deletion.sec": "3600", + "dfs.namenode.write.stale.datanode.ratio": "1.0f", + "dfs.permissions.enabled": "true", + "dfs.permissions.superusergroup": "hdfs", + "dfs.replication": "3", + "dfs.replication.max": "50", + "dfs.support.append": "true", + "dfs.webhdfs.enabled": "true", + "fs.permissions.umask-mode": "022" + }, + "hive-env": { + "hcat_log_dir": "/var/log/webhcat", + "hcat_pid_dir": "/var/run/webhcat", + "hcat_user": "hcat", + "hive_ambari_database": "MySQL", + "hive_ambari_host": "sr-a16-master-add-001.novalocal", + "hive_database": "New MySQL Database", + "hive_database_name": "hive", + "hive_database_type": "mysql", + "hive_existing_mssql_server_2_host": "sr-a16-master-add-001.novalocal", + "hive_existing_mssql_server_host": "sr-a16-master-add-001.novalocal", + "hive_existing_mysql_host": "sr-a16-master-add-001.novalocal", + "hive_existing_oracle_host": "sr-a16-master-add-001.novalocal", + "hive_existing_postgresql_host": "sr-a16-master-add-001.novalocal", + "hive_hostname": "%HOSTGROUP::host_group_2%", + "hive_log_dir": "/var/log/hive", + "hive_metastore_port": "9083", + "hive_pid_dir": "/var/run/hive", + "hive_user": "hive", + "webhcat_user": "hcat" + }, + "hive-site": { + "ambari.hive.db.schema.name": "hive", + "datanucleus.cache.level2.type": "none", + "hive.auto.convert.join": "true", + "hive.auto.convert.join.noconditionaltask": "true", + "hive.auto.convert.join.noconditionaltask.size": "357564416", + "hive.auto.convert.sortmerge.join": "true", + "hive.auto.convert.sortmerge.join.to.mapjoin": "false", + "hive.cbo.enable": "true", + "hive.cli.print.header": "false", + "hive.cluster.delegation.token.store.class": "org.apache.hadoop.hive.thrift.ZooKeeperTokenStore", + "hive.cluster.delegation.token.store.zookeeper.connectString": "%HOSTGROUP::host_group_1%:2181,%HOSTGROUP::host_group_3%:2181,%HOSTGROUP::host_group_2%:2181", + "hive.cluster.delegation.token.store.zookeeper.znode": "/hive/cluster/delegation", + "hive.compactor.abortedtxn.threshold": "1000", + "hive.compactor.check.interval": "300L", + "hive.compactor.delta.num.threshold": "10", + "hive.compactor.delta.pct.threshold": "0.1f", + "hive.compactor.initiator.on": "false", + "hive.compactor.worker.threads": "0", + "hive.compactor.worker.timeout": "86400L", + "hive.compute.query.using.stats": "true", + "hive.conf.restricted.list": "hive.security.authenticator.manager,hive.security.authorization.manager,hive.users.in.admin.role", + "hive.convert.join.bucket.mapjoin.tez": "false", + "hive.enforce.bucketing": "true", + "hive.enforce.sorting": "true", + "hive.enforce.sortmergebucketmapjoin": "true", + "hive.exec.compress.intermediate": "false", + "hive.exec.compress.output": "false", + "hive.exec.dynamic.partition": "true", + "hive.exec.dynamic.partition.mode": "nonstrict", + "hive.exec.failure.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook", + "hive.exec.max.created.files": "100000", + "hive.exec.max.dynamic.partitions": "5000", + "hive.exec.max.dynamic.partitions.pernode": "2000", + "hive.exec.orc.compression.strategy": "SPEED", + "hive.exec.orc.default.compress": "ZLIB", + "hive.exec.orc.default.stripe.size": "67108864", + "hive.exec.parallel": "false", + "hive.exec.parallel.thread.number": "8", + "hive.exec.post.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook", + "hive.exec.pre.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook", + "hive.exec.reducers.bytes.per.reducer": "67108864", + "hive.exec.reducers.max": "1009", + "hive.exec.scratchdir": "/tmp/hive", + "hive.exec.submit.local.task.via.child": "true", + "hive.exec.submitviachild": "false", + "hive.execution.engine": "tez", + "hive.fetch.task.aggr": "false", + "hive.fetch.task.conversion": "more", + "hive.fetch.task.conversion.threshold": "1073741824", + "hive.limit.optimize.enable": "true", + "hive.limit.pushdown.memory.usage": "0.04", + "hive.map.aggr": "true", + "hive.map.aggr.hash.force.flush.memory.threshold": "0.9", + "hive.map.aggr.hash.min.reduction": "0.5", + "hive.map.aggr.hash.percentmemory": "0.5", + "hive.mapjoin.bucket.cache.size": "10000", + "hive.mapjoin.optimized.hashtable": "true", + "hive.mapred.reduce.tasks.speculative.execution": "false", + "hive.merge.mapfiles": "true", + "hive.merge.mapredfiles": "false", + "hive.merge.orcfile.stripe.level": "true", + "hive.merge.rcfile.block.level": "true", + "hive.merge.size.per.task": "256000000", + "hive.merge.smallfiles.avgsize": "16000000", + "hive.merge.tezfiles": "false", + "hive.metastore.authorization.storage.checks": "false", + "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order", + "hive.metastore.client.connect.retry.delay": "5s", + "hive.metastore.client.socket.timeout": "1800s", + "hive.metastore.connect.retries": "24", + "hive.metastore.execute.setugi": "true", + "hive.metastore.failure.retries": "24", + "hive.metastore.kerberos.keytab.file": "/etc/security/keytabs/hive.service.keytab", + "hive.metastore.kerberos.principal": "hive/_HOST@EXAMPLE.COM", + "hive.metastore.pre.event.listeners": "org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener", + "hive.metastore.sasl.enabled": "false", + "hive.metastore.server.max.threads": "100000", + "hive.metastore.uris": "thrift://%HOSTGROUP::host_group_2%:9083", + "hive.metastore.warehouse.dir": "/apps/hive/warehouse", + "hive.optimize.bucketmapjoin": "true", + "hive.optimize.bucketmapjoin.sortedmerge": "false", + "hive.optimize.constant.propagation": "true", + "hive.optimize.index.filter": "true", + "hive.optimize.metadataonly": "true", + "hive.optimize.null.scan": "true", + "hive.optimize.reducededuplication": "true", + "hive.optimize.reducededuplication.min.reducer": "4", + "hive.optimize.sort.dynamic.partition": "false", + "hive.orc.compute.splits.num.threads": "10", + "hive.orc.splits.include.file.footer": "false", + "hive.prewarm.enabled": "false", + "hive.prewarm.numcontainers": "10", + "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator", + "hive.security.authorization.enabled": "false", + "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdConfOnlyAuthorizerFactory", + "hive.security.metastore.authenticator.manager": "org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator", + "hive.security.metastore.authorization.auth.reads": "true", + "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider,org.apache.hadoop.hive.ql.security.authorization.MetaStoreAuthzAPIAuthorizerEmbedOnly", + "hive.server2.allow.user.substitution": "true", + "hive.server2.authentication": "NONE", + "hive.server2.authentication.spnego.keytab": "HTTP/_HOST@EXAMPLE.COM", + "hive.server2.authentication.spnego.principal": "/etc/security/keytabs/spnego.service.keytab", + "hive.server2.enable.doAs": "true", + "hive.server2.logging.operation.enabled": "true", + "hive.server2.logging.operation.log.location": "${system:java.io.tmpdir}/${system:user.name}/operation_logs", + "hive.server2.support.dynamic.service.discovery": "true", + "hive.server2.table.type.mapping": "CLASSIC", + "hive.server2.tez.default.queues": "default", + "hive.server2.tez.initialize.default.sessions": "false", + "hive.server2.tez.sessions.per.default.queue": "1", + "hive.server2.thrift.http.path": "cliservice", + "hive.server2.thrift.http.port": "10001", + "hive.server2.thrift.max.worker.threads": "500", + "hive.server2.thrift.port": "10000", + "hive.server2.thrift.sasl.qop": "auth", + "hive.server2.transport.mode": "binary", + "hive.server2.use.SSL": "false", + "hive.server2.zookeeper.namespace": "hiveserver2", + "hive.smbjoin.cache.rows": "10000", + "hive.stats.autogather": "true", + "hive.stats.dbclass": "fs", + "hive.stats.fetch.column.stats": "false", + "hive.stats.fetch.partition.stats": "true", + "hive.support.concurrency": "false", + "hive.tez.auto.reducer.parallelism": "false", + "hive.tez.container.size": "1024", + "hive.tez.cpu.vcores": "-1", + "hive.tez.dynamic.partition.pruning": "true", + "hive.tez.dynamic.partition.pruning.max.data.size": "104857600", + "hive.tez.dynamic.partition.pruning.max.event.size": "1048576", + "hive.tez.input.format": "org.apache.hadoop.hive.ql.io.HiveInputFormat", + "hive.tez.java.opts": "-server -Xmx820m -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseParallelGC -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps", + "hive.tez.log.level": "INFO", + "hive.tez.max.partition.factor": "2.0", + "hive.tez.min.partition.factor": "0.25", + "hive.tez.smb.number.waves": "0.5", + "hive.txn.manager": "org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager", + "hive.txn.max.open.batch": "1000", + "hive.txn.timeout": "300", + "hive.user.install.directory": "/user/", + "hive.vectorized.execution.enabled": "true", + "hive.vectorized.execution.reduce.enabled": "false", + "hive.vectorized.groupby.checkinterval": "4096", + "hive.vectorized.groupby.flush.percent": "0.1", + "hive.vectorized.groupby.maxentries": "100000", + "hive.zookeeper.client.port": "2181", + "hive.zookeeper.namespace": "hive_zookeeper_namespace", + "hive.zookeeper.quorum": "%HOSTGROUP::host_group_1%:2181,%HOSTGROUP::host_group_3%:2181,%HOSTGROUP::host_group_2%:2181", + "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver", + "javax.jdo.option.ConnectionURL": "jdbc:mysql://%HOSTGROUP::host_group_2%/hive?createDatabaseIfNotExist=true", + "javax.jdo.option.ConnectionUserName": "hive" + }, + "hiveserver2-site": { + "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator", + "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory" + }, + "kafka-broker": { + "auto.create.topics.enable": "true", + "controlled.shutdown.enable": "false", + "controlled.shutdown.max.retries": "3", + "controlled.shutdown.retry.backoff.ms": "5000", + "controller.message.queue.size": "10", + "controller.socket.timeout.ms": "30000", + "default.replication.factor": "1", + "fetch.purgatory.purge.interval.requests": "10000", + "kafka.ganglia.metrics.group": "kafka", + "kafka.ganglia.metrics.port": "8671", + "kafka.ganglia.metrics.reporter.enabled": "true", + "kafka.metrics.reporters": "{{kafka_metrics_reporters}}", + "kafka.timeline.metrics.host": "{{metric_collector_host}}", + "kafka.timeline.metrics.maxRowCacheSize": "10000", + "kafka.timeline.metrics.port": "{{metric_collector_port}}", + "kafka.timeline.metrics.reporter.enabled": "true", + "kafka.timeline.metrics.reporter.sendInterval": "5900", + "log.cleanup.interval.mins": "10", + "log.dirs": "/kafka-logs", + "log.flush.interval.messages": "10000", + "log.flush.interval.ms": "3000", + "log.flush.scheduler.interval.ms": "3000", + "log.index.interval.bytes": "4096", + "log.index.size.max.bytes": "10485760", + "log.retention.bytes": "-1", + "log.retention.hours": "168", + "log.roll.hours": "168", + "log.segment.bytes": "1073741824", + "message.max.bytes": "1000000", + "num.io.threads": "8", + "num.network.threads": "3", + "num.partitions": "1", + "num.replica.fetchers": "1", + "port": "6667", + "producer.purgatory.purge.interval.requests": "10000", + "queued.max.requests": "500", + "replica.fetch.max.bytes": "1048576", + "replica.fetch.min.bytes": "1", + "replica.fetch.wait.max.ms": "500", + "replica.high.watermark.checkpoint.interval.ms": "5000", + "replica.lag.max.messages": "4000", + "replica.lag.time.max.ms": "10000", + "replica.socket.receive.buffer.bytes": "65536", + "replica.socket.timeout.ms": "30000", + "socket.receive.buffer.bytes": "102400", + "socket.request.max.bytes": "104857600", + "socket.send.buffer.bytes": "102400", + "zookeeper.connect": "%HOSTGROUP::host_group_1%:2181,%HOSTGROUP::host_group_3%:2181,%HOSTGROUP::host_group_2%:2181", + "zookeeper.connection.timeout.ms": "6000", + "zookeeper.session.timeout.ms": "30000", + "zookeeper.sync.time.ms": "2000" + }, + "kafka-env": { + "kafka_log_dir": "/var/log/kafka", + "kafka_pid_dir": "/var/run/kafka", + "kafka_user": "kafka" + }, + "knox-env": { + "knox_group": "knox", + "knox_pid_dir": "/var/run/knox", + "knox_user": "knox" + }, + "mapred-env": { + "jobhistory_heapsize": "900", + "mapred_log_dir_prefix": "/var/log/hadoop-mapreduce", + "mapred_pid_dir_prefix": "/var/run/hadoop-mapreduce", + "mapred_user": "mapred" + }, + "mapred-site": { + "mapreduce.admin.map.child.java.opts": "-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}", + "mapreduce.admin.reduce.child.java.opts": "-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}", + "mapreduce.admin.user.env": "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64", + "mapreduce.am.max-attempts": "2", + "mapreduce.application.classpath": "$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure", + "mapreduce.application.framework.path": "/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework", + "mapreduce.cluster.administrators": "hadoop", + "mapreduce.framework.name": "yarn", + "mapreduce.job.emit-timeline-data": "false", + "mapreduce.job.reduce.slowstart.completedmaps": "0.05", + "mapreduce.jobhistory.address": "%HOSTGROUP::host_group_2%:10020", + "mapreduce.jobhistory.bind-host": "0.0.0.0", + "mapreduce.jobhistory.done-dir": "/mr-history/done", + "mapreduce.jobhistory.intermediate-done-dir": "/mr-history/tmp", + "mapreduce.jobhistory.webapp.address": "%HOSTGROUP::host_group_2%:19888", + "mapreduce.map.java.opts": "-Xmx819m", + "mapreduce.map.log.level": "INFO", + "mapreduce.map.memory.mb": "1024", + "mapreduce.map.output.compress": "false", + "mapreduce.map.sort.spill.percent": "0.7", + "mapreduce.map.speculative": "false", + "mapreduce.output.fileoutputformat.compress": "false", + "mapreduce.output.fileoutputformat.compress.type": "BLOCK", + "mapreduce.reduce.input.buffer.percent": "0.0", + "mapreduce.reduce.java.opts": "-Xmx819m", + "mapreduce.reduce.log.level": "INFO", + "mapreduce.reduce.memory.mb": "1024", + "mapreduce.reduce.shuffle.fetch.retry.enabled": "1", + "mapreduce.reduce.shuffle.fetch.retry.interval-ms": "1000", + "mapreduce.reduce.shuffle.fetch.retry.timeout-ms": "30000", + "mapreduce.reduce.shuffle.input.buffer.percent": "0.7", + "mapreduce.reduce.shuffle.merge.percent": "0.66", + "mapreduce.reduce.shuffle.parallelcopies": "30", + "mapreduce.reduce.speculative": "false", + "mapreduce.shuffle.port": "13562", + "mapreduce.task.io.sort.factor": "100", + "mapreduce.task.io.sort.mb": "410", + "mapreduce.task.timeout": "300000", + "yarn.app.mapreduce.am.admin-command-opts": "-Dhdp.version=${hdp.version}", + "yarn.app.mapreduce.am.command-opts": "-Xmx819m -Dhdp.version=${hdp.version}", + "yarn.app.mapreduce.am.log.level": "INFO", + "yarn.app.mapreduce.am.resource.mb": "1024", + "yarn.app.mapreduce.am.staging-dir": "/user" + }, + "oozie-env": { + "oozie_admin_port": "11001", + "oozie_data_dir": "/hadoop/oozie/data", + "oozie_database": "New Derby Database", + "oozie_derby_database": "Derby", + "oozie_existing_oracle_host": "sr-a16-master-add-001.novalocal", + "oozie_existing_postgresql_host": "sr-a16-master-add-001.novalocal", + "oozie_heapsize": "2048m", + "oozie_hostname": "%HOSTGROUP::host_group_2%", + "oozie_log_dir": "/var/log/oozie", + "oozie_permsize": "256m", + "oozie_pid_dir": "/var/run/oozie", + "oozie_user": "oozie" + }, + "oozie-site": { + "oozie.authentication.kerberos.name.rules": "RULE:[2:$1@$0]([jt]t@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-MAPREDUSER/ RULE:[2:$1@$0]([nd]n@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HDFSUSER/ RULE:[2:$1@$0](hm@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/ RULE:[2:$1@$0](rs@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/ DEFAULT", + "oozie.authentication.simple.anonymous.allowed": "true", + "oozie.authentication.type": "simple", + "oozie.base.url": "http://%HOSTGROUP::host_group_2%:11000/oozie", + "oozie.credentials.credentialclasses": "hcat=org.apache.oozie.action.hadoop.HCatCredentials", + "oozie.db.schema.name": "oozie", + "oozie.service.ActionService.executor.ext.classes": "org.apache.oozie.action.email.EmailActionExecutor, org.apache.oozie.action.hadoop.HiveActionExecutor, org.apache.oozie.action.hadoop.ShellActionExecutor, org.apache.oozie.action.hadoop.SqoopActionExecutor, org.apache.oozie.action.hadoop.DistcpActionExecutor", + "oozie.service.AuthorizationService.security.enabled": "true", + "oozie.service.CallableQueueService.callable.concurrency": "3", + "oozie.service.CallableQueueService.queue.size": "1000", + "oozie.service.CallableQueueService.threads": "10", + "oozie.service.ELService.ext.functions.coord-action-create": "now=org.apache.oozie.extensions.OozieELExtensions#ph2_now, today=org.apache.oozie.extensions.OozieELExtensions#ph2_today, yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday, currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth, lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth, currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear, lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear, latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo, future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo, formatTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_formatTime, user=org.apache.oozie.coord.CoordELFunctions#coord_user", + "oozie.service.ELService.ext.functions.coord-action-create-inst": "now=org.apache.oozie.extensions.OozieELExtensions#ph2_now_inst, today=org.apache.oozie.extensions.OozieELExtensions#ph2_today_inst, yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday_inst, currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth_inst, lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth_inst, currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear_inst, lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear_inst, latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo, future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo, formatTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_formatTime, user=org.apache.oozie.coord.CoordELFunctions#coord_user", + "oozie.service.ELService.ext.functions.coord-action-start": "now=org.apache.oozie.extensions.OozieELExtensions#ph2_now, today=org.apache.oozie.extensions.OozieELExtensions#ph2_today, yesterday=org.apache.oozie.extensions.OozieELExtensions#ph2_yesterday, currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_currentMonth, lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph2_lastMonth, currentYear=org.apache.oozie.extensions.OozieELExtensions#ph2_currentYear, lastYear=org.apache.oozie.extensions.OozieELExtensions#ph2_lastYear, latest=org.apache.oozie.coord.CoordELFunctions#ph3_coord_latest, future=org.apache.oozie.coord.CoordELFunctions#ph3_coord_future, dataIn=org.apache.oozie.extensions.OozieELExtensions#ph3_dataIn, instanceTime=org.apache.oozie.coord.CoordELFunctions#ph3_coord_nominalTime, dateOffset=org.apache.oozie.coord.CoordELFunctions#ph3_coord_dateOffset, formatTime=org.apache.oozie.coord.CoordELFunctions#ph3_coord_formatTime, user=org.apache.oozie.coord.CoordELFunctions#coord_user", + "oozie.service.ELService.ext.functions.coord-job-submit-data": "now=org.apache.oozie.extensions.OozieELExtensions#ph1_now_echo, today=org.apache.oozie.extensions.OozieELExtensions#ph1_today_echo, yesterday=org.apache.oozie.extensions.OozieELExtensions#ph1_yesterday_echo, currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_currentMonth_echo, lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_lastMonth_echo, currentYear=org.apache.oozie.extensions.OozieELExtensions#ph1_currentYear_echo, lastYear=org.apache.oozie.extensions.OozieELExtensions#ph1_lastYear_echo, dataIn=org.apache.oozie.extensions.OozieELExtensions#ph1_dataIn_echo, instanceTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_nominalTime_echo_wrap, formatTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_formatTime_echo, dateOffset=org.apache.oozie.coord.CoordELFunctions#ph1_coord_dateOffset_echo, user=org.apache.oozie.coord.CoordELFunctions#coord_user", + "oozie.service.ELService.ext.functions.coord-job-submit-instances": "now=org.apache.oozie.extensions.OozieELExtensions#ph1_now_echo, today=org.apache.oozie.extensions.OozieELExtensions#ph1_today_echo, yesterday=org.apache.oozie.extensions.OozieELExtensions#ph1_yesterday_echo, currentMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_currentMonth_echo, lastMonth=org.apache.oozie.extensions.OozieELExtensions#ph1_lastMonth_echo, currentYear=org.apache.oozie.extensions.OozieELExtensions#ph1_currentYear_echo, lastYear=org.apache.oozie.extensions.OozieELExtensions#ph1_lastYear_echo, formatTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_formatTime_echo, latest=org.apache.oozie.coord.CoordELFunctions#ph2_coord_latest_echo, future=org.apache.oozie.coord.CoordELFunctions#ph2_coord_future_echo", + "oozie.service.ELService.ext.functions.coord-sla-create": "instanceTime=org.apache.oozie.coord.CoordELFunctions#ph2_coord_nominalTime, user=org.apache.oozie.coord.CoordELFunctions#coord_user", + "oozie.service.ELService.ext.functions.coord-sla-submit": "instanceTime=org.apache.oozie.coord.CoordELFunctions#ph1_coord_nominalTime_echo_fixed, user=org.apache.oozie.coord.CoordELFunctions#coord_user", + "oozie.service.HadoopAccessorService.hadoop.configurations": "*=/etc/hadoop/conf", + "oozie.service.HadoopAccessorService.kerberos.enabled": "false", + "oozie.service.HadoopAccessorService.supported.filesystems": "*", + "oozie.service.JPAService.create.db.schema": "false", + "oozie.service.JPAService.jdbc.driver": "org.apache.derby.jdbc.EmbeddedDriver", + "oozie.service.JPAService.jdbc.username": "oozie", + "oozie.service.JPAService.pool.max.active.conn": "10", + "oozie.service.ProxyUserService.proxyuser.falcon.groups": "*", + "oozie.service.ProxyUserService.proxyuser.falcon.hosts": "*", + "oozie.service.PurgeService.older.than": "30", + "oozie.service.PurgeService.purge.interval": "3600", + "oozie.service.SchemaService.wf.ext.schemas": "shell-action-0.1.xsd,shell-action-0.2.xsd,shell-action-0.3.xsd,email-action-0.1.xsd,email-action-0.2.xsd,hive-action-0.2.xsd,hive-action-0.3.xsd,hive-action-0.4.xsd,hive-action-0.5.xsd,sqoop-action-0.2.xsd,sqoop-action-0.3.xsd,sqoop-action-0.4.xsd,ssh-action-0.1.xsd,ssh-action-0.2.xsd,distcp-action-0.1.xsd,distcp-action-0.2.xsd,oozie-sla-0.1.xsd,oozie-sla-0.2.xsd", + "oozie.service.URIHandlerService.uri.handlers": "org.apache.oozie.dependency.FSURIHandler,org.apache.oozie.dependency.HCatURIHandler", + "oozie.service.WorkflowAppService.system.libpath": "/user/${user.name}/share/lib", + "oozie.service.coord.check.maximum.frequency": "false", + "oozie.service.coord.normal.default.timeout": "120", + "oozie.service.coord.push.check.requeue.interval": "30000", + "oozie.services": "org.apache.oozie.service.SchedulerService, org.apache.oozie.service.InstrumentationService, org.apache.oozie.service.MemoryLocksService, org.apache.oozie.service.UUIDService, org.apache.oozie.service.ELService, org.apache.oozie.service.AuthorizationService, org.apache.oozie.service.UserGroupInformationService, org.apache.oozie.service.HadoopAccessorService, org.apache.oozie.service.JobsConcurrencyService, org.apache.oozie.service.URIHandlerService, org.apache.oozie.service.DagXLogInfoService, org.apache.oozie.service.SchemaService, org.apache.oozie.service.LiteWorkflowAppService, org.apache.oozie.service.JPAService, org.apache.oozie.service.StoreService, org.apache.oozie.service.CoordinatorStoreService, org.apache.oozie.service.SLAStoreService, org.apache.oozie.service.DBLiteWorkflowStoreService, org.apache.oozie.service.CallbackService, org.apache.oozie.service.ShareLibService, org.apache.oozie.service.CallableQueueService, org.apache.oozie.service.ActionService, org.apache.oozie.service.ActionCheckerService, org.apache.oozie.service.RecoveryService, org.apache.oozie.service.PurgeService, org.apache.oozie.service.CoordinatorEngineService, org.apache.oozie.service.BundleEngineService, org.apache.oozie.service.DagEngineService, org.apache.oozie.service.CoordMaterializeTriggerService, org.apache.oozie.service.StatusTransitService, org.apache.oozie.service.PauseTransitService, org.apache.oozie.service.GroupsService, org.apache.oozie.service.ProxyUserService, org.apache.oozie.service.XLogStreamingService, org.apache.oozie.service.JvmPauseMonitorService", + "oozie.services.ext": "org.apache.oozie.service.JMSAccessorService,org.apache.oozie.service.PartitionDependencyManagerService,org.apache.oozie.service.HCatAccessorService", + "oozie.system.id": "oozie-${user.name}", + "oozie.systemmode": "NORMAL", + "use.system.libpath.for.mapreduce.and.pig.jobs": "false" + }, + "ranger-hbase-plugin-properties": { + "REPOSITORY_CONFIG_PASSWORD": "hbase", + "REPOSITORY_CONFIG_USERNAME": "hbase", + "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks", + "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword", + "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks", + "SSL_TRUSTSTORE_PASSWORD": "changeit", + "UPDATE_XAPOLICIES_ON_GRANT_REVOKE": "true", + "XAAUDIT.DB.IS_ENABLED": "true", + "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", + "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log", + "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", + "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400", + "XAAUDIT.HDFS.IS_ENABLED": "false", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10", + "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit", + "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log", + "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600", + "common.name.for.certificate": "-", + "policy_user": "ambari-qa", + "ranger-hbase-plugin-enabled": "No" + }, + "ranger-hdfs-plugin-properties": { + "REPOSITORY_CONFIG_PASSWORD": "hadoop", + "REPOSITORY_CONFIG_USERNAME": "hadoop", + "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks", + "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword", + "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks", + "SSL_TRUSTSTORE_PASSWORD": "changeit", + "XAAUDIT.DB.IS_ENABLED": "true", + "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", + "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log", + "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", + "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400", + "XAAUDIT.HDFS.IS_ENABLED": "false", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10", + "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit", + "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log", + "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600", + "common.name.for.certificate": "-", + "hadoop.rpc.protection": "-", + "policy_user": "ambari-qa", + "ranger-hdfs-plugin-enabled": "No" + }, + "ranger-hive-plugin-properties": { + "REPOSITORY_CONFIG_PASSWORD": "hive", + "REPOSITORY_CONFIG_USERNAME": "hive", + "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks", + "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword", + "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks", + "SSL_TRUSTSTORE_PASSWORD": "changeit", + "UPDATE_XAPOLICIES_ON_GRANT_REVOKE": "true", + "XAAUDIT.DB.IS_ENABLED": "true", + "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", + "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log", + "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", + "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400", + "XAAUDIT.HDFS.IS_ENABLED": "false", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10", + "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit", + "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log", + "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600", + "common.name.for.certificate": "-", + "jdbc.driverClassName": "org.apache.hive.jdbc.HiveDriver", + "policy_user": "ambari-qa", + "ranger-hive-plugin-enabled": "No" + }, + "ranger-knox-plugin-properties": { + "KNOX_HOME": "/usr/hdp/current/knox-server", + "REPOSITORY_CONFIG_PASSWORD": "admin-password", + "REPOSITORY_CONFIG_USERNAME": "admin", + "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks", + "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword", + "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks", + "SSL_TRUSTSTORE_PASSWORD": "changeit", + "XAAUDIT.DB.IS_ENABLED": "true", + "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", + "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log", + "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", + "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400", + "XAAUDIT.HDFS.IS_ENABLED": "false", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10", + "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit", + "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log", + "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600", + "common.name.for.certificate": "-", + "policy_user": "ambari-qa", + "ranger-knox-plugin-enabled": "No" + }, + "ranger-storm-plugin-properties": { + "REPOSITORY_CONFIG_PASSWORD": "stormtestuser", + "REPOSITORY_CONFIG_USERNAME": "stormtestuser@EXAMPLE.COM", + "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks", + "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword", + "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks", + "SSL_TRUSTSTORE_PASSWORD": "changeit", + "XAAUDIT.DB.IS_ENABLED": "true", + "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%", + "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log", + "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900", + "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400", + "XAAUDIT.HDFS.IS_ENABLED": "false", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive", + "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10", + "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit", + "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log", + "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60", + "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600", + "common.name.for.certificate": "-", + "policy_user": "storm", + "ranger-storm-plugin-enabled": "No" + }, + "spark-defaults": { + "spark.driver.extraJavaOptions": "", + "spark.history.kerberos.keytab": "none", + "spark.history.kerberos.principal": "none", + "spark.history.provider": "org.apache.spark.deploy.yarn.history.YarnHistoryProvider", + "spark.history.ui.port": "18080", + "spark.yarn.am.extraJavaOptions": "", + "spark.yarn.applicationMaster.waitTries": "10", + "spark.yarn.containerLauncherMaxThreads": "25", + "spark.yarn.driver.memoryOverhead": "384", + "spark.yarn.executor.memoryOverhead": "384", + "spark.yarn.max.executor.failures": "3", + "spark.yarn.preserve.staging.files": "false", + "spark.yarn.queue": "default", + "spark.yarn.scheduler.heartbeat.interval-ms": "5000", + "spark.yarn.submit.file.replication": "3" + }, + "spark-env": { + "spark_group": "spark", + "spark_log_dir": "/var/log/spark", + "spark_pid_dir": "/var/run/spark", + "spark_user": "spark" + }, + "sqoop-env": { + "sqoop_user": "sqoop" + }, + "storm-env": { + "storm_log_dir": "/var/log/storm", + "storm_pid_dir": "/var/run/storm", + "storm_user": "storm" + }, + "storm-site": { + "_storm.min.ruid": "null", + "_storm.thrift.nonsecure.transport": "backtype.storm.security.auth.SimpleTransportPlugin", + "_storm.thrift.secure.transport": "backtype.storm.security.auth.kerberos.KerberosSaslTransportPlugin", + "dev.zookeeper.path": "/tmp/dev-storm-zookeeper", + "drpc.childopts": "-Xmx768m _JAAS_PLACEHOLDER", + "drpc.invocations.port": "3773", + "drpc.port": "3772", + "drpc.queue.size": "128", + "drpc.request.timeout.secs": "600", + "drpc.worker.threads": "64", + "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib:/usr/hdp/current/storm-client/lib", + "logviewer.appender.name": "A1", + "logviewer.childopts": "-Xmx128m _JAAS_PLACEHOLDER", + "logviewer.port": "8000", + "nimbus.cleanup.inbox.freq.secs": "600", + "nimbus.file.copy.expiration.secs": "600", + "nimbus.host": "%HOSTGROUP::host_group_2%", + "nimbus.inbox.jar.expiration.secs": "3600", + "nimbus.monitor.freq.secs": "10", + "nimbus.reassign": "true", + "nimbus.supervisor.timeout.secs": "60", + "nimbus.task.launch.secs": "120", + "nimbus.task.timeout.secs": "30", + "nimbus.thrift.max_buffer_size": "1048576", + "nimbus.thrift.port": "6627", + "nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator", + "storm.cluster.mode": "distributed", + "storm.local.dir": "/volumes/disk1/hadoop/storm", + "storm.local.mode.zmq": "false", + "storm.messaging.netty.buffer_size": "5242880", + "storm.messaging.netty.client_worker_threads": "1", + "storm.messaging.netty.max_retries": "30", + "storm.messaging.netty.max_wait_ms": "1000", + "storm.messaging.netty.min_wait_ms": "100", + "storm.messaging.netty.server_worker_threads": "1", + "storm.messaging.transport": "backtype.storm.messaging.netty.Context", + "storm.zookeeper.connection.timeout": "15000", + "storm.zookeeper.port": "2181", + "storm.zookeeper.retry.interval": "1000", + "storm.zookeeper.retry.intervalceiling.millis": "30000", + "storm.zookeeper.retry.times": "5", + "storm.zookeeper.root": "/storm", + "storm.zookeeper.servers": "['%HOSTGROUP::host_group_1%','%HOSTGROUP::host_group_3%','%HOSTGROUP::host_group_2%']", + "storm.zookeeper.session.timeout": "20000", + "supervisor.heartbeat.frequency.secs": "5", + "supervisor.monitor.frequency.secs": "3", + "supervisor.slots.ports": "[6700, 6701]", + "supervisor.worker.start.timeout.secs": "120", + "supervisor.worker.timeout.secs": "30", + "task.heartbeat.frequency.secs": "3", + "task.refresh.poll.secs": "10", + "topology.acker.executors": "null", + "topology.builtin.metrics.bucket.size.secs": "60", + "topology.debug": "false", + "topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy", + "topology.enable.message.timeouts": "true", + "topology.error.throttle.interval.secs": "10", + "topology.executor.receive.buffer.size": "1024", + "topology.executor.send.buffer.size": "1024", + "topology.fall.back.on.java.serialization": "true", + "topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory", + "topology.max.error.report.per.interval": "5", + "topology.max.spout.pending": "null", + "topology.max.task.parallelism": "null", + "topology.message.timeout.secs": "30", + "topology.optimize": "true", + "topology.receiver.buffer.size": "8", + "topology.skip.missing.kryo.registrations": "false", + "topology.sleep.spout.wait.strategy.time.ms": "1", + "topology.spout.wait.strategy": "backtype.storm.spout.SleepSpoutWaitStrategy", + "topology.state.synchronization.timeout.secs": "60", + "topology.stats.sample.rate": "0.05", + "topology.tick.tuple.freq.secs": "null", + "topology.transfer.buffer.size": "1024", + "topology.trident.batch.emit.interval.millis": "500", + "topology.tuple.serializer": "backtype.storm.serialization.types.ListDelegateSerializer", + "topology.worker.childopts": "null", + "topology.worker.shared.thread.pool.size": "4", + "topology.workers": "1", + "transactional.zookeeper.port": "null", + "transactional.zookeeper.root": "/transactional", + "transactional.zookeeper.servers": "null", + "ui.childopts": "-Xmx768m _JAAS_PLACEHOLDER", + "ui.filter": "null", + "ui.port": "8744", + "worker.heartbeat.frequency.secs": "1", + "zmq.hwm": "0", + "zmq.linger.millis": "5000", + "zmq.threads": "1" + }, + "tez-env": { + "tez_user": "tez" + }, + "tez-site": { + "tez.am.am-rm.heartbeat.interval-ms.max": "250", + "tez.am.container.idle.release-timeout-max.millis": "20000", + "tez.am.container.idle.release-timeout-min.millis": "10000", + "tez.am.container.reuse.enabled": "true", + "tez.am.container.reuse.locality.delay-allocation-millis": "250", + "tez.am.container.reuse.non-local-fallback.enabled": "false", + "tez.am.container.reuse.rack-fallback.enabled": "true", + "tez.am.launch.cluster-default.cmd-opts": "-server -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}", + "tez.am.launch.cmd-opts": "-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC", + "tez.am.launch.env": "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64", + "tez.am.log.level": "INFO", + "tez.am.max.app.attempts": "2", + "tez.am.maxtaskfailures.per.node": "10", + "tez.am.resource.memory.mb": "2048", + "tez.am.tez-ui.history-url.template": "__HISTORY_URL_BASE__?viewPath=%2F%23%2Ftez-app%2F__APPLICATION_ID__", + "tez.cluster.additional.classpath.prefix": "/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure", + "tez.counters.max": "2000", + "tez.counters.max.groups": "1000", + "tez.generate.debug.artifacts": "false", + "tez.grouping.max-size": "1073741824", + "tez.grouping.min-size": "16777216", + "tez.grouping.split-waves": "1.7", + "tez.history.logging.service.class": "org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService", + "tez.lib.uris": "/hdp/apps/${hdp.version}/tez/tez.tar.gz", + "tez.runtime.compress": "true", + "tez.runtime.compress.codec": "org.apache.hadoop.io.compress.SnappyCodec", + "tez.runtime.convert.user-payload.to.history-text": "false", + "tez.runtime.io.sort.mb": "409", + "tez.runtime.unordered.output.buffer.size-mb": "76", + "tez.session.am.dag.submit.timeout.secs": "300", + "tez.session.client.timeout.secs": "-1", + "tez.shuffle-vertex-manager.max-src-fraction": "0.4", + "tez.shuffle-vertex-manager.min-src-fraction": "0.2", + "tez.staging-dir": "/tmp/${user.name}/staging", + "tez.task.am.heartbeat.counter.interval-ms.max": "4000", + "tez.task.get-task.sleep.interval-ms.max": "200", + "tez.task.launch.cluster-default.cmd-opts": "-server -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}", + "tez.task.launch.cmd-opts": "-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC", + "tez.task.launch.env": "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64", + "tez.task.max-events-per-heartbeat": "500", + "tez.task.resource.memory.mb": "1024", + "tez.use.cluster.hadoop-libs": "false" + }, + "webhcat-site": { + "templeton.exec.timeout": "60000", + "templeton.hadoop": "/usr/hdp/current/hadoop-client/bin/hadoop", + "templeton.hadoop.conf.dir": "/etc/hadoop/conf", + "templeton.hcat": "/usr/hdp/current/hive-client/bin/hcat", + "templeton.hcat.home": "hive.tar.gz/hive/hcatalog", + "templeton.hive.archive": "hdfs:///hdp/apps/${hdp.version}/hive/hive.tar.gz", + "templeton.hive.home": "hive.tar.gz/hive", + "templeton.hive.path": "hive.tar.gz/hive/bin/hive", + "templeton.hive.properties": "hive.metastore.local=false,hive.metastore.uris=thrift://%HOSTGROUP::host_group_2%:9083,hive.metastore.sasl.enabled=false,hive.metastore.execute.setugi=true", + "templeton.jar": "/usr/hdp/current/hive-webhcat/share/webhcat/svr/lib/hive-webhcat-*.jar", + "templeton.libjars": "/usr/hdp/current/zookeeper-client/zookeeper.jar", + "templeton.override.enabled": "false", + "templeton.pig.archive": "hdfs:///hdp/apps/${hdp.version}/pig/pig.tar.gz", + "templeton.pig.path": "pig.tar.gz/pig/bin/pig", + "templeton.port": "50111", + "templeton.sqoop.archive": "hdfs:///hdp/apps/${hdp.version}/sqoop/sqoop.tar.gz", + "templeton.sqoop.home": "sqoop.tar.gz/sqoop", + "templeton.sqoop.path": "sqoop.tar.gz/sqoop/bin/sqoop", + "templeton.storage.class": "org.apache.hive.hcatalog.templeton.tool.ZooKeeperStorage", + "templeton.streaming.jar": "hdfs:///hdp/apps/${hdp.version}/mapreduce/hadoop-streaming.jar", + "templeton.zookeeper.hosts": "%HOSTGROUP::host_group_1%:2181,%HOSTGROUP::host_group_3%:2181,%HOSTGROUP::host_group_2%:2181" + }, + "yarn-env": { + "apptimelineserver_heapsize": "1024", + "min_user_id": "500", + "nodemanager_heapsize": "1024", + "resourcemanager_heapsize": "1024", + "yarn_heapsize": "1024", + "yarn_log_dir_prefix": "/var/log/hadoop-yarn", + "yarn_pid_dir_prefix": "/var/run/hadoop-yarn", + "yarn_user": "yarn" + }, + "yarn-site": { + "hadoop.registry.rm.enabled": "true", + "hadoop.registry.zk.quorum": "%HOSTGROUP::host_group_1%:2181,%HOSTGROUP::host_group_3%:2181,%HOSTGROUP::host_group_2%:2181", + "yarn.acl.enable": "false", + "yarn.admin.acl": "", + "yarn.application.classpath": "$HADOOP_CONF_DIR,/usr/hdp/current/hadoop-client/*,/usr/hdp/current/hadoop-client/lib/*,/usr/hdp/current/hadoop-hdfs-client/*,/usr/hdp/current/hadoop-hdfs-client/lib/*,/usr/hdp/current/hadoop-yarn-client/*,/usr/hdp/current/hadoop-yarn-client/lib/*", + "yarn.client.nodemanager-connect.max-wait-ms": "60000", + "yarn.client.nodemanager-connect.retry-interval-ms": "10000", + "yarn.http.policy": "HTTP_ONLY", + "yarn.log-aggregation-enable": "true", + "yarn.log-aggregation.retain-seconds": "2592000", + "yarn.log.server.url": "http://%HOSTGROUP::host_group_2%:19888/jobhistory/logs", + "yarn.node-labels.fs-store.retry-policy-spec": "2000, 500", + "yarn.node-labels.fs-store.root-dir": "/system/yarn/node-labels", + "yarn.node-labels.manager-class": "org.apache.hadoop.yarn.server.resourcemanager.nodelabels.MemoryRMNodeLabelsManager", + "yarn.nodemanager.address": "0.0.0.0:45454", + "yarn.nodemanager.admin-env": "MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX", + "yarn.nodemanager.aux-services": "mapreduce_shuffle", + "yarn.nodemanager.aux-services.mapreduce_shuffle.class": "org.apache.hadoop.mapred.ShuffleHandler", + "yarn.nodemanager.bind-host": "0.0.0.0", + "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor", + "yarn.nodemanager.container-monitor.interval-ms": "3000", + "yarn.nodemanager.delete.debug-delay-sec": "0", + "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage": "90", + "yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb": "1000", + "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25", + "yarn.nodemanager.health-checker.interval-ms": "135000", + "yarn.nodemanager.health-checker.script.timeout-ms": "60000", + "yarn.nodemanager.linux-container-executor.cgroups.hierarchy": "hadoop-yarn", + "yarn.nodemanager.linux-container-executor.cgroups.mount": "false", + "yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage": "false", + "yarn.nodemanager.linux-container-executor.group": "hadoop", + "yarn.nodemanager.linux-container-executor.resources-handler.class": "org.apache.hadoop.yarn.server.nodemanager.util.DefaultLCEResourcesHandler", + "yarn.nodemanager.local-dirs": "/volumes/disk1/hadoop/yarn/local,/volumes/disk2/hadoop/yarn/local,/volumes/disk3/hadoop/yarn/local", + "yarn.nodemanager.log-aggregation.compression-type": "gz", + "yarn.nodemanager.log-aggregation.debug-enabled": "false", + "yarn.nodemanager.log-aggregation.num-log-files-per-app": "30", + "yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds": "-1", + "yarn.nodemanager.log-dirs": "/volumes/disk1/hadoop/yarn/log,/volumes/disk2/hadoop/yarn/log,/volumes/disk3/hadoop/yarn/log", + "yarn.nodemanager.log.retain-second": "604800", + "yarn.nodemanager.recovery.dir": "{{yarn_log_dir_prefix}}/nodemanager/recovery-state", + "yarn.nodemanager.recovery.enabled": "true", + "yarn.nodemanager.remote-app-log-dir": "/app-logs", + "yarn.nodemanager.remote-app-log-dir-suffix": "logs", + "yarn.nodemanager.resource.cpu-vcores": "4", + "yarn.nodemanager.resource.memory-mb": "4096", + "yarn.nodemanager.resource.percentage-physical-cpu-limit": "100", + "yarn.nodemanager.vmem-check-enabled": "false", + "yarn.nodemanager.vmem-pmem-ratio": "2.1", + "yarn.resourcemanager.address": "%HOSTGROUP::host_group_2%:8050", + "yarn.resourcemanager.admin.address": "%HOSTGROUP::host_group_2%:8141", + "yarn.resourcemanager.am.max-attempts": "2", + "yarn.resourcemanager.bind-host": "0.0.0.0", + "yarn.resourcemanager.connect.max-wait.ms": "900000", + "yarn.resourcemanager.connect.retry-interval.ms": "30000", + "yarn.resourcemanager.fs.state-store.retry-policy-spec": "2000, 500", + "yarn.resourcemanager.fs.state-store.uri": "", + "yarn.resourcemanager.ha.enabled": "false", + "yarn.resourcemanager.hostname": "%HOSTGROUP::host_group_2%", + "yarn.resourcemanager.nodes.exclude-path": "/etc/hadoop/conf/yarn.exclude", + "yarn.resourcemanager.recovery.enabled": "true", + "yarn.resourcemanager.resource-tracker.address": "%HOSTGROUP::host_group_2%:8025", + "yarn.resourcemanager.scheduler.address": "%HOSTGROUP::host_group_2%:8030", + "yarn.resourcemanager.scheduler.class": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler", + "yarn.resourcemanager.state-store.max-completed-applications": "${yarn.resourcemanager.max-completed-applications}", + "yarn.resourcemanager.store.class": "org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore", + "yarn.resourcemanager.system-metrics-publisher.dispatcher.pool-size": "10", + "yarn.resourcemanager.system-metrics-publisher.enabled": "true", + "yarn.resourcemanager.webapp.address": "%HOSTGROUP::host_group_2%:8088", + "yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled": "false", + "yarn.resourcemanager.webapp.https.address": "sr-a16-master-add-001.novalocal:8090", + "yarn.resourcemanager.work-preserving-recovery.enabled": "true", + "yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms": "10000", + "yarn.resourcemanager.zk-acl": "world:anyone:rwcda", + "yarn.resourcemanager.zk-address": "sr-a16-master-001.novalocal:2181", + "yarn.resourcemanager.zk-num-retries": "1000", + "yarn.resourcemanager.zk-retry-interval-ms": "1000", + "yarn.resourcemanager.zk-state-store.parent-path": "/rmstore", + "yarn.resourcemanager.zk-timeout-ms": "10000", + "yarn.scheduler.maximum-allocation-mb": "4096", + "yarn.scheduler.minimum-allocation-mb": "1024", + "yarn.timeline-service.address": "%HOSTGROUP::host_group_2%:10200", + "yarn.timeline-service.bind-host": "0.0.0.0", + "yarn.timeline-service.client.max-retries": "30", + "yarn.timeline-service.client.retry-interval-ms": "1000", + "yarn.timeline-service.enabled": "true", + "yarn.timeline-service.generic-application-history.store-class": "org.apache.hadoop.yarn.server.applicationhistoryservice.NullApplicationHistoryStore", + "yarn.timeline-service.http-authentication.simple.anonymous.allowed": "true", + "yarn.timeline-service.http-authentication.type": "simple", + "yarn.timeline-service.leveldb-timeline-store.path": "/hadoop/yarn/timeline", + "yarn.timeline-service.leveldb-timeline-store.read-cache-size": "104857600", + "yarn.timeline-service.leveldb-timeline-store.start-time-read-cache-size": "10000", + "yarn.timeline-service.leveldb-timeline-store.start-time-write-cache-size": "10000", + "yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms": "300000", + "yarn.timeline-service.store-class": "org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore", + "yarn.timeline-service.ttl-enable": "true", + "yarn.timeline-service.ttl-ms": "2678400000", + "yarn.timeline-service.webapp.address": "%HOSTGROUP::host_group_2%:8188", + "yarn.timeline-service.webapp.https.address": "%HOSTGROUP::host_group_2%:8190" + }, + "zoo.cfg": { + "autopurge.purgeInterval": "24", + "autopurge.snapRetainCount": "30", + "clientPort": "2181", + "dataDir": "/volumes/disk1/hadoop/zookeeper", + "initLimit": "10", + "syncLimit": "5", + "tickTime": "2000" + }, + "zookeeper-env": { + "zk_log_dir": "/var/log/zookeeper", + "zk_pid_dir": "/var/run/zookeeper", + "zk_user": "zookeeper" + } +} \ No newline at end of file diff --git a/sahara/plugins/ambari/resources/configs-2.3.json b/sahara/plugins/ambari/resources/configs-2.3.json new file mode 100644 index 00000000..1fcc2c8c --- /dev/null +++ b/sahara/plugins/ambari/resources/configs-2.3.json @@ -0,0 +1,1276 @@ +{ + "accumulo-env": { + "accumulo_gc_heapsize": "256", + "accumulo_instance_name": "hdp-accumulo-instance", + "accumulo_log_dir": "/var/log/accumulo", + "accumulo_master_heapsize": "1024", + "accumulo_monitor_bind_all": "false", + "accumulo_monitor_heapsize": "1024", + "accumulo_other_heapsize": "1024", + "accumulo_pid_dir": "/var/run/accumulo", + "accumulo_tserver_heapsize": "1536", + "accumulo_user": "accumulo", + "instance_secret": "pass", + "server_content": "#! /usr/bin/env bash export HADOOP_PREFIX={{hadoop_prefix}} export HADOOP_CONF_DIR={{hadoop_conf_dir}} export JAVA_HOME={{java64_home}} export ZOOKEEPER_HOME={{zookeeper_home}} export ACCUMULO_PID_DIR={{pid_dir}} export ACCUMULO_LOG_DIR={{log_dir}} export ACCUMULO_CONF_DIR={{server_conf_dir}} export ACCUMULO_TSERVER_OPTS=\"-Xmx{{accumulo_tserver_heapsize}}m -Xms{{accumulo_tserver_heapsize}}m\" export ACCUMULO_MASTER_OPTS=\"-Xmx{{accumulo_master_heapsize}}m -Xms{{accumulo_master_heapsize}}m\" export ACCUMULO_MONITOR_OPTS=\"-Xmx{{accumulo_monitor_heapsize}}m -Xms{{accumulo_monitor_heapsize}}m\" export ACCUMULO_GC_OPTS=\"-Xmx{{accumulo_gc_heapsize}}m -Xms{{accumulo_gc_heapsize}}m\" export ACCUMULO_GENERAL_OPTS=\"-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -Djava.net.preferIPv4Stack=true ${ACCUMULO_GENERAL_OPTS}\" export ACCUMULO_OTHER_OPTS=\"-Xmx{{accumulo_other_heapsize}}m -Xms{{accumulo_other_heapsize}}m ${ACCUMULO_OTHER_OPTS}\" export ACCUMULO_MONITOR_BIND_ALL={{monitor_bind_str}} # what do when the JVM runs out of heap memory export ACCUMULO_KILL_CMD='kill -9 %p'" + }, + "accumulo-log4j": { + "audit_log_level": "OFF", + "debug_log_size": "512M", + "debug_num_logs": "10", + "info_log_size": "512M", + "info_num_logs": "10", + "monitor_forwarding_log_level": "WARN" + }, + "accumulo-site": { + "gc.port.client": "50092", + "general.classpaths": "$ACCUMULO_HOME/lib/accumulo-server.jar, $ACCUMULO_HOME/lib/accumulo-core.jar, $ACCUMULO_HOME/lib/accumulo-start.jar, $ACCUMULO_HOME/lib/accumulo-fate.jar, $ACCUMULO_HOME/lib/accumulo-proxy.jar, $ACCUMULO_HOME/lib/[^.].*.jar, $ZOOKEEPER_HOME/zookeeper[^.].*.jar, $HADOOP_CONF_DIR, /usr/hdp/current/hadoop-client/[^.].*.jar, /usr/hdp/current/hadoop-client/lib/(?!slf4j)[^.].*.jar, /usr/hdp/current/hadoop-hdfs-client/[^.].*.jar, /usr/hdp/current/hadoop-mapreduce-client/[^.].*.jar, /usr/hdp/current/hadoop-yarn-client/[^.].*.jar, /usr/hdp/current/hadoop-yarn-client/lib/jersey.*.jar, /usr/hdp/current/hive-client/lib/hive-accumulo-handler.jar,", + "instance.volumes": "hdfs://%HOSTGROUP::host_group_1%:8020/apps/accumulo/data", + "instance.zookeeper.host": "%HOSTGROUP::host_group_1%:2181", + "instance.zookeeper.timeout": "30s", + "master.port.client": "9999", + "monitor.port.client": "50095", + "monitor.port.log4j": "4560", + "trace.port.client": "12234", + "trace.user": "trace", + "tserver.cache.data.size": "128M", + "tserver.cache.index.size": "256M", + "tserver.memory.maps.max": "1G", + "tserver.memory.maps.native.enabled": "true", + "tserver.port.client": "9997", + "tserver.sort.buffer.size": "200M", + "tserver.walog.max.size": "1G" + }, + "ams-env": { + "ambari_metrics_user": "ams", + "metrics_collector_heapsize": "512m", + "metrics_collector_log_dir": "/var/log/ambari-metrics-collector", + "metrics_collector_pid_dir": "/var/run/ambari-metrics-collector", + "metrics_monitor_log_dir": "/var/log/ambari-metrics-monitor", + "metrics_monitor_pid_dir": "/var/run/ambari-metrics-monitor" + }, + "ams-hbase-env": { + "hbase_log_dir": "/var/log/ambari-metrics-collector", + "hbase_master_heapsize": "1024m", + "hbase_master_maxperm_size": "128m", + "hbase_master_xmn_size": "256m", + "hbase_pid_dir": "/var/run/ambari-metrics-collector/", + "hbase_regionserver_heapsize": "1024m", + "hbase_regionserver_xmn_ratio": "0.2", + "max_open_files_limit": "32768", + "regionserver_xmn_size": "256m" + }, + "ams-hbase-policy": { + "security.admin.protocol.acl": "*", + "security.client.protocol.acl": "*", + "security.masterregion.protocol.acl": "*" + }, + "ams-hbase-security-site": { + "ams.zookeeper.keytab": "", + "ams.zookeeper.principal": "", + "hadoop.security.authentication": "", + "hbase.coprocessor.master.classes": "", + "hbase.coprocessor.region.classes": "", + "hbase.master.kerberos.principal": "", + "hbase.master.keytab.file": "", + "hbase.myclient.keytab": "", + "hbase.myclient.principal": "", + "hbase.regionserver.kerberos.principal": "", + "hbase.regionserver.keytab.file": "", + "hbase.security.authentication": "", + "hbase.security.authorization": "", + "hbase.zookeeper.property.authProvider.1": "", + "hbase.zookeeper.property.jaasLoginRenew": "", + "hbase.zookeeper.property.kerberos.removeHostFromPrincipal": "", + "hbase.zookeeper.property.kerberos.removeRealmFromPrincipal": "", + "zookeeper.znode.parent": "" + }, + "ams-hbase-site": { + "hbase.client.scanner.caching": "10000", + "hbase.client.scanner.timeout.period": "900000", + "hbase.cluster.distributed": "false", + "hbase.hregion.majorcompaction": "0", + "hbase.hregion.memstore.block.multiplier": "4", + "hbase.hregion.memstore.flush.size": "134217728", + "hbase.hstore.blockingStoreFiles": "200", + "hbase.hstore.flusher.count": "2", + "hbase.local.dir": "${hbase.tmp.dir}/local", + "hbase.master.info.bindAddress": "0.0.0.0", + "hbase.master.info.port": "61310", + "hbase.master.port": "61300", + "hbase.master.wait.on.regionservers.mintostart": "1", + "hbase.regionserver.global.memstore.lowerLimit": "0.4", + "hbase.regionserver.global.memstore.upperLimit": "0.5", + "hbase.regionserver.info.port": "61330", + "hbase.regionserver.port": "61320", + "hbase.regionserver.thread.compaction.large": "2", + "hbase.regionserver.thread.compaction.small": "3", + "hbase.replication": "false", + "hbase.rootdir": "file:///var/lib/ambari-metrics-collector/hbase", + "hbase.snapshot.enabled": "false", + "hbase.tmp.dir": "/var/lib/ambari-metrics-collector/hbase-tmp", + "hbase.zookeeper.leaderport": "61388", + "hbase.zookeeper.peerport": "61288", + "hbase.zookeeper.property.clientPort": "61181", + "hbase.zookeeper.property.dataDir": "${hbase.tmp.dir}/zookeeper", + "hbase.zookeeper.quorum": "{{zookeeper_quorum_hosts}}", + "hbase_master_xmn_size": "128m", + "hfile.block.cache.size": "0.3", + "phoenix.groupby.maxCacheSize": "307200000", + "phoenix.query.maxGlobalMemoryPercentage": "15", + "phoenix.query.spoolThresholdBytes": "12582912", + "phoenix.query.timeoutMs": "1200000", + "phoenix.sequence.saltBuckets": "2", + "phoenix.spool.directory": "${hbase.tmp.dir}/phoenix-spool", + "zookeeper.session.timeout": "120000", + "zookeeper.session.timeout.localHBaseCluster": "20000" + }, + "ams-site": { + "phoenix.query.maxGlobalMemoryPercentage": "25", + "phoenix.spool.directory": "/tmp", + "timeline.metrics.aggregator.checkpoint.dir": "/var/lib/ambari-metrics-collector/checkpoint", + "timeline.metrics.cluster.aggregator.daily.checkpointCutOffMultiplier": "1", + "timeline.metrics.cluster.aggregator.daily.disabled": "false", + "timeline.metrics.cluster.aggregator.daily.interval": "86400", + "timeline.metrics.cluster.aggregator.daily.ttl": "63072000", + "timeline.metrics.cluster.aggregator.hourly.checkpointCutOffMultiplier": "2", + "timeline.metrics.cluster.aggregator.hourly.disabled": "false", + "timeline.metrics.cluster.aggregator.hourly.interval": "3600", + "timeline.metrics.cluster.aggregator.hourly.ttl": "31536000", + "timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier": "2", + "timeline.metrics.cluster.aggregator.minute.disabled": "false", + "timeline.metrics.cluster.aggregator.minute.interval": "120", + "timeline.metrics.cluster.aggregator.minute.timeslice.interval": "30", + "timeline.metrics.cluster.aggregator.minute.ttl": "2592000", + "timeline.metrics.daily.aggregator.minute.interval": "86400", + "timeline.metrics.hbase.compression.scheme": "SNAPPY", + "timeline.metrics.hbase.data.block.encoding": "FAST_DIFF", + "timeline.metrics.host.aggregator.daily.checkpointCutOffMultiplier": "1", + "timeline.metrics.host.aggregator.daily.disabled": "false", + "timeline.metrics.host.aggregator.daily.ttl": "31536000", + "timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier": "2", + "timeline.metrics.host.aggregator.hourly.disabled": "false", + "timeline.metrics.host.aggregator.hourly.interval": "3600", + "timeline.metrics.host.aggregator.hourly.ttl": "2592000", + "timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier": "2", + "timeline.metrics.host.aggregator.minute.disabled": "false", + "timeline.metrics.host.aggregator.minute.interval": "120", + "timeline.metrics.host.aggregator.minute.ttl": "604800", + "timeline.metrics.host.aggregator.ttl": "86400", + "timeline.metrics.service.checkpointDelay": "60", + "timeline.metrics.service.cluster.aggregator.appIds": "datanode,nodemanager,hbase", + "timeline.metrics.service.default.result.limit": "5760", + "timeline.metrics.service.operation.mode": "embedded", + "timeline.metrics.service.resultset.fetchSize": "2000", + "timeline.metrics.service.rpc.address": "0.0.0.0:60200", + "timeline.metrics.service.webapp.address": "0.0.0.0:6188" + }, + "application-properties": { + "atlas.authentication.keytab": "/etc/security/keytabs/atlas.service.keytab", + "atlas.authentication.method": "simple", + "atlas.authentication.principal": "atlas", + "atlas.enableTLS": "false", + "atlas.graph.index.search.backend": "elasticsearch", + "atlas.graph.index.search.directory": "/var/lib/atlas/data/es", + "atlas.graph.index.search.elasticsearch.client-only": "false", + "atlas.graph.index.search.elasticsearch.local-mode": "true", + "atlas.graph.storage.backend": "berkeleyje", + "atlas.graph.storage.directory": "/var/lib/atlas/data/berkeley", + "atlas.http.authentication.enabled": "false", + "atlas.http.authentication.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab", + "atlas.http.authentication.kerberos.name.rules": "RULE:[1:$1@$0](.*@EXAMPLE.COM)s/@.*// DEFAULT", + "atlas.http.authentication.kerberos.principal": "HTTP/_HOST@EXAMPLE.COM", + "atlas.http.authentication.type": "simple", + "atlas.lineage.hive.process.inputs.name": "inputs", + "atlas.lineage.hive.process.outputs.name": "outputs", + "atlas.lineage.hive.process.type.name": "Process", + "atlas.lineage.hive.table.schema.query.Table": "Table where name='%s'\\, columns", + "atlas.lineage.hive.table.schema.query.hive_table": "hive_table where name='%s'\\, columns", + "atlas.lineage.hive.table.type.name": "DataSet", + "atlas.server.bind.address": "localhost" + }, + "atlas-env": { + "metadata_classpath": "", + "metadata_data_dir": "/var/lib/atlas/data", + "metadata_expanded_war_dir": "./server/webapp", + "metadata_log_dir": "/var/log/atlas", + "metadata_opts": "-Xmx1024m", + "metadata_pid_dir": "/var/run/atlas", + "metadata_port": "21000", + "metadata_user": "atlas" + }, + "capacity-scheduler": { + "yarn.scheduler.capacity.default.minimum-user-limit-percent": "100", + "yarn.scheduler.capacity.maximum-am-resource-percent": "0.2", + "yarn.scheduler.capacity.maximum-applications": "10000", + "yarn.scheduler.capacity.node-locality-delay": "40", + "yarn.scheduler.capacity.resource-calculator": "org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator", + "yarn.scheduler.capacity.root.accessible-node-labels": "*", + "yarn.scheduler.capacity.root.acl_administer_queue": "*", + "yarn.scheduler.capacity.root.capacity": "100", + "yarn.scheduler.capacity.root.default.acl_administer_jobs": "*", + "yarn.scheduler.capacity.root.default.acl_submit_applications": "*", + "yarn.scheduler.capacity.root.default.capacity": "100", + "yarn.scheduler.capacity.root.default.maximum-capacity": "100", + "yarn.scheduler.capacity.root.default.state": "RUNNING", + "yarn.scheduler.capacity.root.default.user-limit-factor": "1", + "yarn.scheduler.capacity.root.queues": "default" + }, + "cluster-env": { + "command_retry_enabled": "true", + "command_retry_max_time_in_sec": "600", + "commands_to_retry": "INSTALL,START", + "ignore_groupsusers_create": "false", + "kerberos_domain": "EXAMPLE.COM", + "repo_suse_rhel_template": "[{{repo_id}}] name={{repo_id}} {% if mirror_list %}mirrorlist={{mirror_list}}{% else %}baseurl={{base_url}}{% endif %} path=/ enabled=1 gpgcheck=0", + "repo_ubuntu_template": "{{package_type}} {{base_url}} {{components}}", + "security_enabled": "false", + "smokeuser": "ambari-qa", + "smokeuser_keytab": "/etc/security/keytabs/smokeuser.headless.keytab", + "user_group": "hadoop" + }, + "core-site": { + "fs.defaultFS": "hdfs://%HOSTGROUP::host_group_1%:8020", + "fs.swift.impl": "org.apache.hadoop.fs.swift.snative.SwiftNativeFileSystem", + "fs.swift.service.sahara.auth.endpoint.prefix": "/endpoints/AUTH_", + "fs.swift.service.sahara.auth.url": "http://172.18.168.2:5000/v2.0/tokens/", + "fs.swift.service.sahara.http.port": "8080", + "fs.swift.service.sahara.https.port": "443", + "fs.swift.service.sahara.public": "true", + "fs.swift.service.sahara.tenant": "devs", + "fs.trash.interval": "360", + "ha.failover-controller.active-standby-elector.zk.op.retries": "120", + "hadoop.http.authentication.simple.anonymous.allowed": "true", + "hadoop.proxyuser.falcon.groups": "users", + "hadoop.proxyuser.falcon.hosts": "*", + "hadoop.proxyuser.hcat.groups": "users", + "hadoop.proxyuser.hcat.hosts": "%HOSTGROUP::host_group_2%", + "hadoop.proxyuser.hdfs.groups": "*", + "hadoop.proxyuser.hdfs.hosts": "*", + "hadoop.proxyuser.hive.groups": "users", + "hadoop.proxyuser.hive.hosts": "%HOSTGROUP::host_group_2%", + "hadoop.proxyuser.oozie.groups": "users", + "hadoop.proxyuser.oozie.hosts": "*", + "hadoop.security.auth_to_local": "DEFAULT", + "hadoop.security.authentication": "simple", + "hadoop.security.authorization": "false", + "hadoop.security.key.provider.path": "", + "io.compression.codecs": "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec", + "io.file.buffer.size": "131072", + "io.serializations": "org.apache.hadoop.io.serializer.WritableSerialization", + "ipc.client.connect.max.retries": "50", + "ipc.client.connection.maxidletime": "30000", + "ipc.client.idlethreshold": "8000", + "ipc.server.tcpnodelay": "true", + "mapreduce.jobtracker.webinterface.trusted": "false", + "net.topology.script.file.name": "/etc/hadoop/conf/topology_script.py", + "proxyuser_group": "users" + }, + "falcon-env": { + "falcon.embeddedmq": "true", + "falcon.embeddedmq.data": "/hadoop/falcon/embeddedmq/data", + "falcon.emeddedmq.port": "61616", + "falcon_local_dir": "/hadoop/falcon", + "falcon_log_dir": "/var/log/falcon", + "falcon_pid_dir": "/var/run/falcon", + "falcon_port": "15000", + "falcon_store_uri": "file:///hadoop/falcon/store", + "falcon_user": "falcon", + "supports_hive_dr": "true" + }, + "falcon-runtime.properties": { + "*.domain": "${falcon.app.type}", + "*.log.cleanup.frequency.days.retention": "days(7)", + "*.log.cleanup.frequency.hours.retention": "minutes(1)", + "*.log.cleanup.frequency.minutes.retention": "hours(6)", + "*.log.cleanup.frequency.months.retention": "months(3)" + }, + "falcon-startup.properties": { + "*.ConfigSyncService.impl": "org.apache.falcon.resource.ConfigSyncService", + "*.ProcessInstanceManager.impl": "org.apache.falcon.resource.InstanceManager", + "*.SchedulableEntityManager.impl": "org.apache.falcon.resource.SchedulableEntityManager", + "*.application.services": "org.apache.falcon.security.AuthenticationInitializationService,\\ org.apache.falcon.workflow.WorkflowJobEndNotificationService, \\ org.apache.falcon.service.ProcessSubscriberService,\\ org.apache.falcon.entity.store.ConfigurationStore,\\ org.apache.falcon.rerun.service.RetryService,\\ org.apache.falcon.rerun.service.LateRunService,\\ org.apache.falcon.service.LogCleanupService,\\ org.apache.falcon.metadata.MetadataMappingService", + "*.broker.impl.class": "org.apache.activemq.ActiveMQConnectionFactory", + "*.broker.ttlInMins": "4320", + "*.broker.url": "tcp://%HOSTGROUP::host_group_2%:61616", + "*.catalog.service.impl": "org.apache.falcon.catalog.HiveCatalogService", + "*.config.store.uri": "file:///hadoop/falcon/store", + "*.configstore.listeners": "org.apache.falcon.entity.v0.EntityGraph,\\ org.apache.falcon.entity.ColoClusterRelation,\\ org.apache.falcon.group.FeedGroupMap,\\ org.apache.falcon.service.SharedLibraryHostingService", + "*.domain": "${falcon.app.type}", + "*.entity.topic": "FALCON.ENTITY.TOPIC", + "*.falcon.authentication.type": "simple", + "*.falcon.cleanup.service.frequency": "days(1)", + "*.falcon.enableTLS": "false", + "*.falcon.graph.blueprints.graph": "com.thinkaurelius.titan.core.TitanFactory", + "*.falcon.graph.preserve.history": "false", + "*.falcon.graph.serialize.path": "/hadoop/falcon/data/lineage", + "*.falcon.graph.storage.backend": "berkeleyje", + "*.falcon.graph.storage.directory": "/hadoop/falcon/data/lineage/graphdb", + "*.falcon.http.authentication.blacklisted.users": "", + "*.falcon.http.authentication.cookie.domain": "EXAMPLE.COM", + "*.falcon.http.authentication.kerberos.name.rules": "DEFAULT", + "*.falcon.http.authentication.signature.secret": "falcon", + "*.falcon.http.authentication.simple.anonymous.allowed": "true", + "*.falcon.http.authentication.token.validity": "36000", + "*.falcon.http.authentication.type": "simple", + "*.falcon.security.authorization.admin.groups": "falcon", + "*.falcon.security.authorization.admin.users": "falcon,ambari-qa", + "*.falcon.security.authorization.enabled": "false", + "*.falcon.security.authorization.provider": "org.apache.falcon.security.DefaultAuthorizationProvider", + "*.falcon.security.authorization.superusergroup": "falcon", + "*.hive.shared.libs": "hive-exec,hive-metastore,hive-common,hive-service,hive-hcatalog-server-extensions,\\ hive-hcatalog-core,hive-jdbc,hive-webhcat-java-client", + "*.internal.queue.size": "1000", + "*.journal.impl": "org.apache.falcon.transaction.SharedFileSystemJournal", + "*.max.retry.failure.count": "1", + "*.oozie.feed.workflow.builder": "org.apache.falcon.workflow.OozieFeedWorkflowBuilder", + "*.oozie.process.workflow.builder": "org.apache.falcon.workflow.OozieProcessWorkflowBuilder", + "*.retry.recorder.path": "${falcon.log.dir}/retry", + "*.shared.libs": "activemq-core,ant,geronimo-j2ee-management,jms,json-simple,oozie-client,spring-jms,commons-lang3,commons-el", + "*.system.lib.location": "${falcon.home}/server/webapp/${falcon.app.type}/WEB-INF/lib", + "*.workflow.engine.impl": "org.apache.falcon.workflow.engine.OozieWorkflowEngine", + "prism.application.services": "org.apache.falcon.entity.store.ConfigurationStore", + "prism.configstore.listeners": "org.apache.falcon.entity.v0.EntityGraph,\\ org.apache.falcon.entity.ColoClusterRelation,\\ org.apache.falcon.group.FeedGroupMap" + }, + "flume-env": { + "flume_conf_dir": "/etc/flume/conf", + "flume_log_dir": "/var/log/flume", + "flume_run_dir": "/var/run/flume", + "flume_user": "flume" + }, + "gateway-site": { + "gateway.gateway.conf.dir": "deployments", + "gateway.hadoop.kerberos.secured": "false", + "gateway.path": "gateway", + "gateway.port": "8443", + "java.security.auth.login.config": "/etc/knox/conf/krb5JAASLogin.conf", + "java.security.krb5.conf": "/etc/knox/conf/krb5.conf", + "sun.security.krb5.debug": "true" + }, + "hadoop-env": { + "dfs.datanode.data.dir.mount.file": "/etc/hadoop/conf/dfs_data_dir_mount.hist", + "dtnode_heapsize": "1024m", + "hadoop_heapsize": "1024", + "hadoop_pid_dir_prefix": "/var/run/hadoop", + "hadoop_root_logger": "INFO,RFA", + "hdfs_log_dir_prefix": "/var/log/hadoop", + "hdfs_user": "hdfs", + "keyserver_host": "", + "keyserver_port": "", + "namenode_heapsize": "1024m", + "namenode_opt_maxnewsize": "200m", + "namenode_opt_maxpermsize": "256m", + "namenode_opt_newsize": "200m", + "namenode_opt_permsize": "128m", + "nfsgateway_heapsize": "1024", + "proxyuser_group": "users" + }, + "hadoop-policy": { + "security.admin.operations.protocol.acl": "hadoop", + "security.client.datanode.protocol.acl": "*", + "security.client.protocol.acl": "*", + "security.datanode.protocol.acl": "*", + "security.inter.datanode.protocol.acl": "*", + "security.inter.tracker.protocol.acl": "*", + "security.job.client.protocol.acl": "*", + "security.job.task.protocol.acl": "*", + "security.namenode.protocol.acl": "*", + "security.refresh.policy.protocol.acl": "hadoop", + "security.refresh.usertogroups.mappings.protocol.acl": "hadoop" + }, + "hbase-env": { + "hbase_log_dir": "/var/log/hbase", + "hbase_master_heapsize": "1024m", + "hbase_pid_dir": "/var/run/hbase", + "hbase_regionserver_heapsize": "1024m", + "hbase_regionserver_xmn_max": "512", + "hbase_regionserver_xmn_ratio": "0.2", + "hbase_user": "hbase", + "override_hbase_uid": "true", + "phoenix_sql_enabled": "false" + }, + "hbase-policy": { + "security.admin.protocol.acl": "*", + "security.client.protocol.acl": "*", + "security.masterregion.protocol.acl": "*" + }, + "hbase-site": { + "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket", + "hbase.bulkload.staging.dir": "/apps/hbase/staging", + "hbase.client.keyvalue.maxsize": "1048576", + "hbase.client.retries.number": "35", + "hbase.client.scanner.caching": "100", + "hbase.cluster.distributed": "true", + "hbase.coprocessor.master.classes": "", + "hbase.coprocessor.region.classes": "org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint", + "hbase.coprocessor.regionserver.classes": "", + "hbase.defaults.for.version.skip": "true", + "hbase.hregion.majorcompaction": "604800000", + "hbase.hregion.majorcompaction.jitter": "0.50", + "hbase.hregion.max.filesize": "10737418240", + "hbase.hregion.memstore.block.multiplier": "4", + "hbase.hregion.memstore.flush.size": "134217728", + "hbase.hregion.memstore.mslab.enabled": "true", + "hbase.hstore.blockingStoreFiles": "10", + "hbase.hstore.compaction.max": "10", + "hbase.hstore.compactionThreshold": "3", + "hbase.local.dir": "${hbase.tmp.dir}/local", + "hbase.master.info.bindAddress": "0.0.0.0", + "hbase.master.info.port": "16010", + "hbase.master.port": "16000", + "hbase.regionserver.global.memstore.size": "0.4", + "hbase.regionserver.handler.count": "30", + "hbase.regionserver.info.port": "16030", + "hbase.regionserver.port": "16020", + "hbase.regionserver.wal.codec": "org.apache.hadoop.hbase.regionserver.wal.WALCellCodec", + "hbase.rootdir": "hdfs://%HOSTGROUP::host_group_1%:8020/apps/hbase/data", + "hbase.rpc.controllerfactory.class": "", + "hbase.rpc.protection": "authentication", + "hbase.rpc.timeout": "90000", + "hbase.security.authentication": "simple", + "hbase.security.authorization": "false", + "hbase.superuser": "hbase", + "hbase.tmp.dir": "/tmp/hbase-${user.name}", + "hbase.zookeeper.property.clientPort": "2181", + "hbase.zookeeper.quorum": "%HOSTGROUP::host_group_1%", + "hbase.zookeeper.useMulti": "true", + "hfile.block.cache.size": "0.40", + "phoenix.functions.allowUserDefinedFunctions": "", + "phoenix.query.timeoutMs": "60000", + "zookeeper.session.timeout": "90000", + "zookeeper.znode.parent": "/hbase-unsecure" + }, + "hdfs-site": { + "dfs.block.access.token.enable": "true", + "dfs.blockreport.initialDelay": "120", + "dfs.blocksize": "134217728", + "dfs.client.read.shortcircuit": "true", + "dfs.client.read.shortcircuit.streams.cache.size": "4096", + "dfs.client.retry.policy.enabled": "false", + "dfs.cluster.administrators": "hdfs", + "dfs.datanode.address": "0.0.0.0:50010", + "dfs.datanode.balance.bandwidthPerSec": "6250000", + "dfs.datanode.data.dir": "/hadoop/hdfs/data", + "dfs.datanode.data.dir.perm": "750", + "dfs.datanode.du.reserved": "1073741824", + "dfs.datanode.failed.volumes.tolerated": "0", + "dfs.datanode.http.address": "0.0.0.0:50075", + "dfs.datanode.https.address": "0.0.0.0:50475", + "dfs.datanode.ipc.address": "0.0.0.0:8010", + "dfs.datanode.max.transfer.threads": "1024", + "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket", + "dfs.encrypt.data.transfer.cipher.suites": "AES/CTR/NoPadding", + "dfs.encryption.key.provider.uri": "", + "dfs.heartbeat.interval": "3", + "dfs.hosts.exclude": "/etc/hadoop/conf/dfs.exclude", + "dfs.http.policy": "HTTP_ONLY", + "dfs.https.port": "50470", + "dfs.journalnode.edits.dir": "/hadoop/hdfs/journalnode", + "dfs.journalnode.http-address": "0.0.0.0:8480", + "dfs.journalnode.https-address": "0.0.0.0:8481", + "dfs.namenode.accesstime.precision": "0", + "dfs.namenode.audit.log.async": "true", + "dfs.namenode.avoid.read.stale.datanode": "true", + "dfs.namenode.avoid.write.stale.datanode": "true", + "dfs.namenode.checkpoint.dir": "/hadoop/hdfs/namesecondary", + "dfs.namenode.checkpoint.edits.dir": "${dfs.namenode.checkpoint.dir}", + "dfs.namenode.checkpoint.period": "21600", + "dfs.namenode.checkpoint.txns": "1000000", + "dfs.namenode.fslock.fair": "false", + "dfs.namenode.handler.count": "100", + "dfs.namenode.http-address": "%HOSTGROUP::host_group_1%:50070", + "dfs.namenode.https-address": "%HOSTGROUP::host_group_1%:50470", + "dfs.namenode.name.dir": "/hadoop/hdfs/namenode", + "dfs.namenode.name.dir.restore": "true", + "dfs.namenode.rpc-address": "%HOSTGROUP::host_group_1%:8020", + "dfs.namenode.safemode.threshold-pct": "0.999", + "dfs.namenode.secondary.http-address": "%HOSTGROUP::host_group_1%:50090", + "dfs.namenode.stale.datanode.interval": "30000", + "dfs.namenode.startup.delay.block.deletion.sec": "3600", + "dfs.namenode.write.stale.datanode.ratio": "1.0f", + "dfs.permissions.enabled": "true", + "dfs.permissions.superusergroup": "hdfs", + "dfs.replication": "3", + "dfs.replication.max": "50", + "dfs.support.append": "true", + "dfs.webhdfs.enabled": "true", + "fs.permissions.umask-mode": "022", + "nfs.exports.allowed.hosts": "* rw", + "nfs.file.dump.dir": "/tmp/.hdfs-nfs" + }, + "hive-env": { + "cost_based_optimizer": "On", + "hcat_log_dir": "/var/log/webhcat", + "hcat_pid_dir": "/var/run/webhcat", + "hcat_user": "hcat", + "hive_database": "New MySQL Database", + "hive_database_name": "hive", + "hive_database_type": "mysql", + "hive_exec_orc_storage_strategy": "SPEED", + "hive_log_dir": "/var/log/hive", + "hive_pid_dir": "/var/run/hive", + "hive_security_authorization": "None", + "hive_timeline_logging_enabled": "true", + "hive_txn_acid": "off", + "hive_user": "hive", + "webhcat_user": "hcat" + }, + "hive-site": { + "ambari.hive.db.schema.name": "hive", + "datanucleus.autoCreateSchema": "false", + "datanucleus.cache.level2.type": "none", + "hive.auto.convert.join": "true", + "hive.auto.convert.join.noconditionaltask": "true", + "hive.auto.convert.join.noconditionaltask.size": "59419306", + "hive.auto.convert.sortmerge.join": "true", + "hive.auto.convert.sortmerge.join.to.mapjoin": "false", + "hive.cbo.enable": "true", + "hive.cli.print.header": "false", + "hive.cluster.delegation.token.store.class": "org.apache.hadoop.hive.thrift.ZooKeeperTokenStore", + "hive.cluster.delegation.token.store.zookeeper.connectString": "%HOSTGROUP::host_group_1%:2181", + "hive.cluster.delegation.token.store.zookeeper.znode": "/hive/cluster/delegation", + "hive.compactor.abortedtxn.threshold": "1000", + "hive.compactor.check.interval": "300L", + "hive.compactor.delta.num.threshold": "10", + "hive.compactor.delta.pct.threshold": "0.1f", + "hive.compactor.initiator.on": "false", + "hive.compactor.worker.threads": "0", + "hive.compactor.worker.timeout": "86400L", + "hive.compute.query.using.stats": "true", + "hive.conf.restricted.list": "hive.security.authenticator.manager,hive.security.authorization.manager,hive.users.in.admin.role", + "hive.convert.join.bucket.mapjoin.tez": "false", + "hive.default.fileformat": "TextFile", + "hive.default.fileformat.managed": "TextFile", + "hive.enforce.bucketing": "false", + "hive.enforce.sorting": "true", + "hive.enforce.sortmergebucketmapjoin": "true", + "hive.exec.compress.intermediate": "false", + "hive.exec.compress.output": "false", + "hive.exec.dynamic.partition": "true", + "hive.exec.dynamic.partition.mode": "strict", + "hive.exec.failure.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook", + "hive.exec.max.created.files": "100000", + "hive.exec.max.dynamic.partitions": "5000", + "hive.exec.max.dynamic.partitions.pernode": "2000", + "hive.exec.orc.compression.strategy": "SPEED", + "hive.exec.orc.default.compress": "ZLIB", + "hive.exec.orc.default.stripe.size": "67108864", + "hive.exec.orc.encoding.strategy": "SPEED", + "hive.exec.parallel": "false", + "hive.exec.parallel.thread.number": "8", + "hive.exec.post.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook", + "hive.exec.pre.hooks": "org.apache.hadoop.hive.ql.hooks.ATSHook", + "hive.exec.reducers.bytes.per.reducer": "67108864", + "hive.exec.reducers.max": "1009", + "hive.exec.scratchdir": "/tmp/hive", + "hive.exec.submit.local.task.via.child": "true", + "hive.exec.submitviachild": "false", + "hive.execution.engine": "tez", + "hive.fetch.task.aggr": "false", + "hive.fetch.task.conversion": "more", + "hive.fetch.task.conversion.threshold": "1073741824", + "hive.limit.optimize.enable": "true", + "hive.limit.pushdown.memory.usage": "0.04", + "hive.map.aggr": "true", + "hive.map.aggr.hash.force.flush.memory.threshold": "0.9", + "hive.map.aggr.hash.min.reduction": "0.5", + "hive.map.aggr.hash.percentmemory": "0.5", + "hive.mapjoin.bucket.cache.size": "10000", + "hive.mapjoin.optimized.hashtable": "true", + "hive.mapred.reduce.tasks.speculative.execution": "false", + "hive.merge.mapfiles": "true", + "hive.merge.mapredfiles": "false", + "hive.merge.orcfile.stripe.level": "true", + "hive.merge.rcfile.block.level": "true", + "hive.merge.size.per.task": "256000000", + "hive.merge.smallfiles.avgsize": "16000000", + "hive.merge.tezfiles": "false", + "hive.metastore.authorization.storage.checks": "false", + "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order", + "hive.metastore.client.connect.retry.delay": "5s", + "hive.metastore.client.socket.timeout": "1800s", + "hive.metastore.connect.retries": "24", + "hive.metastore.execute.setugi": "true", + "hive.metastore.failure.retries": "24", + "hive.metastore.kerberos.keytab.file": "/etc/security/keytabs/hive.service.keytab", + "hive.metastore.kerberos.principal": "hive/_HOST@EXAMPLE.COM", + "hive.metastore.pre.event.listeners": "org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener", + "hive.metastore.sasl.enabled": "false", + "hive.metastore.server.max.threads": "100000", + "hive.metastore.uris": "thrift://%HOSTGROUP::host_group_2%:9083", + "hive.metastore.warehouse.dir": "/apps/hive/warehouse", + "hive.optimize.bucketmapjoin": "true", + "hive.optimize.bucketmapjoin.sortedmerge": "false", + "hive.optimize.constant.propagation": "true", + "hive.optimize.index.filter": "true", + "hive.optimize.metadataonly": "true", + "hive.optimize.null.scan": "true", + "hive.optimize.reducededuplication": "true", + "hive.optimize.reducededuplication.min.reducer": "4", + "hive.optimize.sort.dynamic.partition": "false", + "hive.orc.compute.splits.num.threads": "10", + "hive.orc.splits.include.file.footer": "false", + "hive.prewarm.enabled": "false", + "hive.prewarm.numcontainers": "3", + "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator", + "hive.security.authorization.enabled": "false", + "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdConfOnlyAuthorizerFactory", + "hive.security.metastore.authenticator.manager": "org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator", + "hive.security.metastore.authorization.auth.reads": "true", + "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider", + "hive.server2.allow.user.substitution": "true", + "hive.server2.authentication": "NONE", + "hive.server2.authentication.spnego.keytab": "HTTP/_HOST@EXAMPLE.COM", + "hive.server2.authentication.spnego.principal": "/etc/security/keytabs/spnego.service.keytab", + "hive.server2.enable.doAs": "true", + "hive.server2.logging.operation.enabled": "true", + "hive.server2.logging.operation.log.location": "${system:java.io.tmpdir}/${system:user.name}/operation_logs", + "hive.server2.support.dynamic.service.discovery": "true", + "hive.server2.table.type.mapping": "CLASSIC", + "hive.server2.tez.default.queues": "default", + "hive.server2.tez.initialize.default.sessions": "false", + "hive.server2.tez.sessions.per.default.queue": "1", + "hive.server2.thrift.http.path": "cliservice", + "hive.server2.thrift.http.port": "10001", + "hive.server2.thrift.max.worker.threads": "500", + "hive.server2.thrift.port": "10000", + "hive.server2.thrift.sasl.qop": "auth", + "hive.server2.transport.mode": "binary", + "hive.server2.use.SSL": "false", + "hive.server2.zookeeper.namespace": "hiveserver2", + "hive.smbjoin.cache.rows": "10000", + "hive.stats.autogather": "true", + "hive.stats.dbclass": "fs", + "hive.stats.fetch.column.stats": "true", + "hive.stats.fetch.partition.stats": "true", + "hive.support.concurrency": "false", + "hive.tez.auto.reducer.parallelism": "true", + "hive.tez.container.size": "170", + "hive.tez.cpu.vcores": "-1", + "hive.tez.dynamic.partition.pruning": "true", + "hive.tez.dynamic.partition.pruning.max.data.size": "104857600", + "hive.tez.dynamic.partition.pruning.max.event.size": "1048576", + "hive.tez.input.format": "org.apache.hadoop.hive.ql.io.HiveInputFormat", + "hive.tez.java.opts": "-server -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseParallelGC -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps", + "hive.tez.log.level": "INFO", + "hive.tez.max.partition.factor": "2.0", + "hive.tez.min.partition.factor": "0.25", + "hive.tez.smb.number.waves": "0.5", + "hive.txn.manager": "org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager", + "hive.txn.max.open.batch": "1000", + "hive.txn.timeout": "300", + "hive.user.install.directory": "/user/", + "hive.vectorized.execution.enabled": "true", + "hive.vectorized.execution.reduce.enabled": "false", + "hive.vectorized.groupby.checkinterval": "4096", + "hive.vectorized.groupby.flush.percent": "0.1", + "hive.vectorized.groupby.maxentries": "100000", + "hive.zookeeper.client.port": "2181", + "hive.zookeeper.namespace": "hive_zookeeper_namespace", + "hive.zookeeper.quorum": "%HOSTGROUP::host_group_1%:2181", + "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver", + "javax.jdo.option.ConnectionURL": "jdbc:mysql://%HOSTGROUP::host_group_2%/hive?createDatabaseIfNotExist=true", + "javax.jdo.option.ConnectionUserName": "hive" + }, + "hiveserver2-site": { + "hive.security.authorization.enabled": "false" + }, + "kafka-broker": { + "auto.create.topics.enable": "true", + "auto.leader.rebalance.enable": "true", + "compression.type": "producer", + "controlled.shutdown.enable": "true", + "controlled.shutdown.max.retries": "3", + "controlled.shutdown.retry.backoff.ms": "5000", + "controller.message.queue.size": "10", + "controller.socket.timeout.ms": "30000", + "default.replication.factor": "1", + "delete.topic.enable": "false", + "fetch.purgatory.purge.interval.requests": "10000", + "kafka.ganglia.metrics.group": "kafka", + "kafka.ganglia.metrics.port": "8671", + "kafka.ganglia.metrics.reporter.enabled": "true", + "kafka.metrics.reporters": "{{kafka_metrics_reporters}}", + "kafka.timeline.metrics.host": "{{metric_collector_host}}", + "kafka.timeline.metrics.maxRowCacheSize": "10000", + "kafka.timeline.metrics.port": "{{metric_collector_port}}", + "kafka.timeline.metrics.reporter.enabled": "true", + "kafka.timeline.metrics.reporter.sendInterval": "5900", + "leader.imbalance.check.interval.seconds": "300", + "leader.imbalance.per.broker.percentage": "10", + "listeners": "PLAINTEXT://localhost:6667", + "log.cleanup.interval.mins": "10", + "log.dirs": "/kafka-logs", + "log.index.interval.bytes": "4096", + "log.index.size.max.bytes": "10485760", + "log.retention.bytes": "-1", + "log.retention.hours": "168", + "log.roll.hours": "168", + "log.segment.bytes": "1073741824", + "message.max.bytes": "1000000", + "min.insync.replicas": "1", + "num.io.threads": "8", + "num.network.threads": "3", + "num.partitions": "1", + "num.recovery.threads.per.data.dir": "1", + "num.replica.fetchers": "1", + "offset.metadata.max.bytes": "4096", + "offsets.commit.required.acks": "-1", + "offsets.commit.timeout.ms": "5000", + "offsets.load.buffer.size": "5242880", + "offsets.retention.check.interval.ms": "600000", + "offsets.retention.minutes": "86400000", + "offsets.topic.compression.codec": "0", + "offsets.topic.num.partitions": "50", + "offsets.topic.replication.factor": "3", + "offsets.topic.segment.bytes": "104857600", + "producer.purgatory.purge.interval.requests": "10000", + "queued.max.requests": "500", + "replica.fetch.max.bytes": "1048576", + "replica.fetch.min.bytes": "1", + "replica.fetch.wait.max.ms": "500", + "replica.high.watermark.checkpoint.interval.ms": "5000", + "replica.lag.max.messages": "4000", + "replica.lag.time.max.ms": "10000", + "replica.socket.receive.buffer.bytes": "65536", + "replica.socket.timeout.ms": "30000", + "socket.receive.buffer.bytes": "102400", + "socket.request.max.bytes": "104857600", + "socket.send.buffer.bytes": "102400", + "zookeeper.connect": "%HOSTGROUP::host_group_1%:2181", + "zookeeper.connection.timeout.ms": "15000", + "zookeeper.session.timeout.ms": "30000", + "zookeeper.sync.time.ms": "2000" + }, + "kafka-env": { + "is_supported_kafka_ranger": "true", + "kafka_log_dir": "/var/log/kafka", + "kafka_pid_dir": "/var/run/kafka", + "kafka_user": "kafka" + }, + "knox-env": { + "knox_group": "knox", + "knox_master_secret": "pass", + "knox_pid_dir": "/var/run/knox", + "knox_user": "knox" + }, + "mahout-env": { + "mahout_user": "mahout" + }, + "mapred-env": { + "jobhistory_heapsize": "900", + "mapred_log_dir_prefix": "/var/log/hadoop-mapreduce", + "mapred_pid_dir_prefix": "/var/run/hadoop-mapreduce", + "mapred_user": "mapred" + }, + "mapred-site": { + "mapreduce.admin.map.child.java.opts": "-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}", + "mapreduce.admin.reduce.child.java.opts": "-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}", + "mapreduce.admin.user.env": "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64", + "mapreduce.am.max-attempts": "2", + "mapreduce.application.classpath": "$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:$PWD/mr-framework/hadoop/share/hadoop/tools/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure", + "mapreduce.application.framework.path": "/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework", + "mapreduce.cluster.administrators": "hadoop", + "mapreduce.framework.name": "yarn", + "mapreduce.job.counters.max": "130", + "mapreduce.job.emit-timeline-data": "false", + "mapreduce.job.reduce.slowstart.completedmaps": "0.05", + "mapreduce.jobhistory.address": "%HOSTGROUP::host_group_1%:10020", + "mapreduce.jobhistory.bind-host": "0.0.0.0", + "mapreduce.jobhistory.done-dir": "/mr-history/done", + "mapreduce.jobhistory.intermediate-done-dir": "/mr-history/tmp", + "mapreduce.jobhistory.recovery.enable": "true", + "mapreduce.jobhistory.recovery.store.class": "org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService", + "mapreduce.jobhistory.recovery.store.leveldb.path": "/hadoop/mapreduce/jhs", + "mapreduce.jobhistory.webapp.address": "%HOSTGROUP::host_group_1%:19888", + "mapreduce.map.java.opts": "-Xmx410m", + "mapreduce.map.log.level": "INFO", + "mapreduce.map.memory.mb": "512", + "mapreduce.map.output.compress": "false", + "mapreduce.map.sort.spill.percent": "0.7", + "mapreduce.map.speculative": "false", + "mapreduce.output.fileoutputformat.compress": "false", + "mapreduce.output.fileoutputformat.compress.type": "BLOCK", + "mapreduce.reduce.input.buffer.percent": "0.0", + "mapreduce.reduce.java.opts": "-Xmx756m", + "mapreduce.reduce.log.level": "INFO", + "mapreduce.reduce.memory.mb": "1024", + "mapreduce.reduce.shuffle.fetch.retry.enabled": "1", + "mapreduce.reduce.shuffle.fetch.retry.interval-ms": "1000", + "mapreduce.reduce.shuffle.fetch.retry.timeout-ms": "30000", + "mapreduce.reduce.shuffle.input.buffer.percent": "0.7", + "mapreduce.reduce.shuffle.merge.percent": "0.66", + "mapreduce.reduce.shuffle.parallelcopies": "30", + "mapreduce.reduce.speculative": "false", + "mapreduce.shuffle.port": "13562", + "mapreduce.task.io.sort.factor": "100", + "mapreduce.task.io.sort.mb": "358", + "mapreduce.task.timeout": "300000", + "yarn.app.mapreduce.am.admin-command-opts": "-Dhdp.version=${hdp.version}", + "yarn.app.mapreduce.am.command-opts": "-Xmx410m", + "yarn.app.mapreduce.am.log.level": "INFO", + "yarn.app.mapreduce.am.resource.mb": "512", + "yarn.app.mapreduce.am.staging-dir": "/user" + }, + "oozie-env": { + "oozie_admin_port": "11001", + "oozie_admin_users": "{oozie_user}, oozie-admin", + "oozie_data_dir": "/hadoop/oozie/data", + "oozie_database": "New Derby Database", + "oozie_derby_database": "Derby", + "oozie_heapsize": "2048m", + "oozie_hostname": "%HOSTGROUP::host_group_1%", + "oozie_log_dir": "/var/log/oozie", + "oozie_permsize": "256m", + "oozie_pid_dir": "/var/run/oozie", + "oozie_user": "oozie" + }, + "oozie-site": { + "oozie.authentication.kerberos.name.rules": "", + "oozie.authentication.simple.anonymous.allowed": "true", + "oozie.authentication.type": "simple", + "oozie.base.url": "http://%HOSTGROUP::host_group_1%:11000/oozie", + "oozie.credentials.credentialclasses": "hcat=org.apache.oozie.action.hadoop.HCatCredentials,hive2=org.apache.oozie.action.hadoop.Hive2Credentials", + "oozie.db.schema.name": "oozie", + "oozie.service.AuthorizationService.security.enabled": "true", + "oozie.service.HadoopAccessorService.hadoop.configurations": "*=/etc/hadoop/conf", + "oozie.service.HadoopAccessorService.kerberos.enabled": "false", + "oozie.service.JPAService.jdbc.driver": "org.apache.derby.jdbc.EmbeddedDriver", + "oozie.service.JPAService.jdbc.username": "oozie", + "oozie.service.URIHandlerService.uri.handlers": "org.apache.oozie.dependency.FSURIHandler,org.apache.oozie.dependency.HCatURIHandler", + "oozie.services.ext": "org.apache.oozie.service.JMSAccessorService,org.apache.oozie.service.PartitionDependencyManagerService,org.apache.oozie.service.HCatAccessorService" + }, + "ranger-hdfs-audit": { + "xasecure.audit.credential.provider.file": "jceks://file{{credential_file}}", + "xasecure.audit.destination.db": "false", + "xasecure.audit.destination.db.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/db/spool", + "xasecure.audit.destination.db.jdbc.driver": "{{jdbc_driver}}", + "xasecure.audit.destination.db.jdbc.url": "{{audit_jdbc_url}}", + "xasecure.audit.destination.db.user": "{{xa_audit_db_user}}", + "xasecure.audit.destination.hdfs": "true", + "xasecure.audit.destination.hdfs.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/hdfs/spool", + "xasecure.audit.destination.hdfs.dir": "hdfs://NAMENODE_HOSTNAME:8020/ranger/audit", + "xasecure.audit.destination.solr": "false", + "xasecure.audit.destination.solr.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/solr/spool", + "xasecure.audit.destination.solr.urls": "{{ranger_audit_solr_urls}}", + "xasecure.audit.destination.solr.zookeepers": "none", + "xasecure.audit.is.enabled": "true", + "xasecure.audit.provider.summary.enabled": "false" + }, + "ranger-hdfs-plugin-properties": { + "REPOSITORY_CONFIG_USERNAME": "hadoop", + "common.name.for.certificate": "", + "hadoop.rpc.protection": "", + "policy_user": "ambari-qa", + "ranger-hdfs-plugin-enabled": "No" + }, + "ranger-hdfs-policymgr-ssl": { + "xasecure.policymgr.clientssl.keystore": "/usr/hdp/current/hadoop-client/conf/ranger-plugin-keystore.jks", + "xasecure.policymgr.clientssl.keystore.credential.file": "jceks://file{{credential_file}}", + "xasecure.policymgr.clientssl.truststore": "/usr/hdp/current/hadoop-client/conf/ranger-plugin-truststore.jks", + "xasecure.policymgr.clientssl.truststore.credential.file": "jceks://file{{credential_file}}" + }, + "ranger-hdfs-security": { + "ranger.plugin.hdfs.policy.cache.dir": "/etc/ranger/{{repo_name}}/policycache", + "ranger.plugin.hdfs.policy.pollIntervalMs": "30000", + "ranger.plugin.hdfs.policy.rest.ssl.config.file": "/etc/hadoop/conf/ranger-policymgr-ssl.xml", + "ranger.plugin.hdfs.policy.rest.url": "{{policymgr_mgr_url}}", + "ranger.plugin.hdfs.policy.source.impl": "org.apache.ranger.admin.client.RangerAdminRESTClient", + "ranger.plugin.hdfs.service.name": "{{repo_name}}", + "xasecure.add-hadoop-authorization": "true" + }, + "ranger-yarn-audit": { + "xasecure.audit.credential.provider.file": "jceks://file{{credential_file}}", + "xasecure.audit.destination.db": "false", + "xasecure.audit.destination.db.batch.filespool.dir": "/var/log/hadoop/yarn/audit/db/spool", + "xasecure.audit.destination.db.jdbc.driver": "{{jdbc_driver}}", + "xasecure.audit.destination.db.jdbc.url": "{{audit_jdbc_url}}", + "xasecure.audit.destination.db.user": "{{xa_audit_db_user}}", + "xasecure.audit.destination.hdfs": "true", + "xasecure.audit.destination.hdfs.batch.filespool.dir": "/var/log/hadoop/yarn/audit/hdfs/spool", + "xasecure.audit.destination.hdfs.dir": "hdfs://NAMENODE_HOSTNAME:8020/ranger/audit", + "xasecure.audit.destination.solr": "false", + "xasecure.audit.destination.solr.batch.filespool.dir": "/var/log/hadoop/yarn/audit/solr/spool", + "xasecure.audit.destination.solr.urls": "{{ranger_audit_solr_urls}}", + "xasecure.audit.destination.solr.zookeepers": "none", + "xasecure.audit.is.enabled": "true", + "xasecure.audit.provider.summary.enabled": "false" + }, + "ranger-yarn-plugin-properties": { + "REPOSITORY_CONFIG_USERNAME": "yarn", + "common.name.for.certificate": "", + "hadoop.rpc.protection": "", + "policy_user": "ambari-qa", + "ranger-yarn-plugin-enabled": "No" + }, + "ranger-yarn-policymgr-ssl": { + "xasecure.policymgr.clientssl.keystore": "/usr/hdp/current/hadoop-client/conf/ranger-yarn-plugin-keystore.jks", + "xasecure.policymgr.clientssl.keystore.credential.file": "jceks://file{{credential_file}}", + "xasecure.policymgr.clientssl.truststore": "/usr/hdp/current/hadoop-client/conf/ranger-yarn-plugin-truststore.jks", + "xasecure.policymgr.clientssl.truststore.credential.file": "jceks://file{{credential_file}}" + }, + "ranger-yarn-security": { + "ranger.plugin.yarn.policy.cache.dir": "/etc/ranger/{{repo_name}}/policycache", + "ranger.plugin.yarn.policy.pollIntervalMs": "30000", + "ranger.plugin.yarn.policy.rest.ssl.config.file": "/etc/hadoop/conf/ranger-policymgr-ssl-yarn.xml", + "ranger.plugin.yarn.policy.rest.url": "{{policymgr_mgr_url}}", + "ranger.plugin.yarn.policy.source.impl": "org.apache.ranger.admin.client.RangerAdminRESTClient", + "ranger.plugin.yarn.service.name": "{{repo_name}}" + }, + "spark-defaults": { + "spark.driver.extraJavaOptions": "-Dhdp.version={{hdp_full_version}}", + "spark.history.kerberos.keytab": "none", + "spark.history.kerberos.principal": "none", + "spark.history.provider": "org.apache.spark.deploy.yarn.history.YarnHistoryProvider", + "spark.history.ui.port": "18080", + "spark.yarn.am.extraJavaOptions": "-Dhdp.version={{hdp_full_version}}", + "spark.yarn.applicationMaster.waitTries": "10", + "spark.yarn.containerLauncherMaxThreads": "25", + "spark.yarn.driver.memoryOverhead": "384", + "spark.yarn.executor.memoryOverhead": "384", + "spark.yarn.historyServer.address": "{{spark_history_server_host}}:{{spark_history_ui_port}}", + "spark.yarn.max.executor.failures": "3", + "spark.yarn.preserve.staging.files": "false", + "spark.yarn.queue": "default", + "spark.yarn.scheduler.heartbeat.interval-ms": "5000", + "spark.yarn.services": "org.apache.spark.deploy.yarn.history.YarnHistoryService", + "spark.yarn.submit.file.replication": "3" + }, + "spark-env": { + "spark_group": "spark", + "spark_log_dir": "/var/log/spark", + "spark_pid_dir": "/var/run/spark", + "spark_user": "spark" + }, + "sqoop-env": { + "jdbc_drivers": "", + "sqoop_user": "sqoop" + }, + "ssl-client": { + "ssl.client.keystore.location": "/etc/security/clientKeys/keystore.jks", + "ssl.client.keystore.type": "jks", + "ssl.client.truststore.location": "/etc/security/clientKeys/all.jks", + "ssl.client.truststore.reload.interval": "10000", + "ssl.client.truststore.type": "jks" + }, + "ssl-server": { + "ssl.server.keystore.location": "/etc/security/serverKeys/keystore.jks", + "ssl.server.keystore.type": "jks", + "ssl.server.truststore.location": "/etc/security/serverKeys/all.jks", + "ssl.server.truststore.reload.interval": "10000", + "ssl.server.truststore.type": "jks" + }, + "storm-env": { + "jmxremote_port": "56431", + "nimbus_seeds_supported": "true", + "storm_log_dir": "/var/log/storm", + "storm_pid_dir": "/var/run/storm", + "storm_user": "storm" + }, + "storm-site": { + "_storm.min.ruid": "null", + "_storm.thrift.nonsecure.transport": "backtype.storm.security.auth.SimpleTransportPlugin", + "_storm.thrift.secure.transport": "backtype.storm.security.auth.kerberos.KerberosSaslTransportPlugin", + "dev.zookeeper.path": "/tmp/dev-storm-zookeeper", + "drpc.childopts": "-Xmx768m _JAAS_PLACEHOLDER", + "drpc.invocations.port": "3773", + "drpc.port": "3772", + "drpc.queue.size": "128", + "drpc.request.timeout.secs": "600", + "drpc.worker.threads": "64", + "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib:/usr/hdp/current/storm-client/lib", + "logviewer.appender.name": "A1", + "logviewer.childopts": "-Xmx128m _JAAS_PLACEHOLDER", + "logviewer.port": "8000", + "metrics.reporter.register": "org.apache.hadoop.metrics2.sink.storm.StormTimelineMetricsReporter", + "nimbus.cleanup.inbox.freq.secs": "600", + "nimbus.file.copy.expiration.secs": "600", + "nimbus.inbox.jar.expiration.secs": "3600", + "nimbus.monitor.freq.secs": "10", + "nimbus.reassign": "true", + "nimbus.seeds": "['%HOSTGROUP::host_group_2%']", + "nimbus.supervisor.timeout.secs": "60", + "nimbus.task.launch.secs": "120", + "nimbus.task.timeout.secs": "30", + "nimbus.thrift.max_buffer_size": "1048576", + "nimbus.thrift.port": "6627", + "nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator", + "storm.cluster.mode": "distributed", + "storm.local.dir": "/hadoop/storm", + "storm.local.mode.zmq": "false", + "storm.log.dir": "{{log_dir}}", + "storm.messaging.netty.buffer_size": "5242880", + "storm.messaging.netty.client_worker_threads": "1", + "storm.messaging.netty.max_retries": "30", + "storm.messaging.netty.max_wait_ms": "1000", + "storm.messaging.netty.min_wait_ms": "100", + "storm.messaging.netty.server_worker_threads": "1", + "storm.messaging.transport": "backtype.storm.messaging.netty.Context", + "storm.thrift.transport": "{{storm_thrift_transport}}", + "storm.zookeeper.connection.timeout": "15000", + "storm.zookeeper.port": "2181", + "storm.zookeeper.retry.interval": "1000", + "storm.zookeeper.retry.intervalceiling.millis": "30000", + "storm.zookeeper.retry.times": "5", + "storm.zookeeper.root": "/storm", + "storm.zookeeper.servers": "['%HOSTGROUP::host_group_1%']", + "storm.zookeeper.session.timeout": "20000", + "supervisor.heartbeat.frequency.secs": "5", + "supervisor.monitor.frequency.secs": "3", + "supervisor.slots.ports": "[6700, 6701]", + "supervisor.worker.start.timeout.secs": "120", + "supervisor.worker.timeout.secs": "30", + "task.heartbeat.frequency.secs": "3", + "task.refresh.poll.secs": "10", + "topology.acker.executors": "null", + "topology.builtin.metrics.bucket.size.secs": "60", + "topology.debug": "false", + "topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy", + "topology.enable.message.timeouts": "true", + "topology.error.throttle.interval.secs": "10", + "topology.executor.receive.buffer.size": "1024", + "topology.executor.send.buffer.size": "1024", + "topology.fall.back.on.java.serialization": "true", + "topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory", + "topology.max.error.report.per.interval": "5", + "topology.max.replication.wait.time.sec": "{{actual_topology_max_replication_wait_time_sec}}", + "topology.max.replication.wait.time.sec.default": "60", + "topology.max.spout.pending": "null", + "topology.max.task.parallelism": "null", + "topology.message.timeout.secs": "30", + "topology.metrics.consumer.register": "[{'class': 'org.apache.hadoop.metrics2.sink.storm.StormTimelineMetricsSink', 'parallelism.hint': 1}]", + "topology.min.replication.count": "{{actual_topology_min_replication_count}}", + "topology.min.replication.count.default": "1", + "topology.optimize": "true", + "topology.receiver.buffer.size": "8", + "topology.skip.missing.kryo.registrations": "false", + "topology.sleep.spout.wait.strategy.time.ms": "1", + "topology.spout.wait.strategy": "backtype.storm.spout.SleepSpoutWaitStrategy", + "topology.state.synchronization.timeout.secs": "60", + "topology.stats.sample.rate": "0.05", + "topology.tick.tuple.freq.secs": "null", + "topology.transfer.buffer.size": "1024", + "topology.trident.batch.emit.interval.millis": "500", + "topology.tuple.serializer": "backtype.storm.serialization.types.ListDelegateSerializer", + "topology.worker.childopts": "null", + "topology.worker.shared.thread.pool.size": "4", + "topology.workers": "1", + "transactional.zookeeper.port": "null", + "transactional.zookeeper.root": "/transactional", + "transactional.zookeeper.servers": "null", + "ui.childopts": "-Xmx768m _JAAS_PLACEHOLDER", + "ui.filter": "null", + "ui.port": "8744", + "worker.heartbeat.frequency.secs": "1", + "zmq.hwm": "0", + "zmq.linger.millis": "5000", + "zmq.threads": "1" + }, + "tez-env": { + "tez_user": "tez" + }, + "tez-site": { + "tez.am.am-rm.heartbeat.interval-ms.max": "250", + "tez.am.container.idle.release-timeout-max.millis": "20000", + "tez.am.container.idle.release-timeout-min.millis": "10000", + "tez.am.container.reuse.enabled": "true", + "tez.am.container.reuse.locality.delay-allocation-millis": "250", + "tez.am.container.reuse.non-local-fallback.enabled": "false", + "tez.am.container.reuse.rack-fallback.enabled": "true", + "tez.am.launch.cluster-default.cmd-opts": "-server -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}", + "tez.am.launch.cmd-opts": "-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC", + "tez.am.launch.env": "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64", + "tez.am.log.level": "INFO", + "tez.am.max.app.attempts": "2", + "tez.am.maxtaskfailures.per.node": "10", + "tez.am.resource.memory.mb": "1536", + "tez.am.tez-ui.history-url.template": "__HISTORY_URL_BASE__?viewPath=%2F%23%2Ftez-app%2F__APPLICATION_ID__", + "tez.am.view-acls": "*", + "tez.cluster.additional.classpath.prefix": "/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure", + "tez.counters.max": "2000", + "tez.counters.max.groups": "1000", + "tez.generate.debug.artifacts": "false", + "tez.grouping.max-size": "1073741824", + "tez.grouping.min-size": "16777216", + "tez.grouping.split-waves": "1.7", + "tez.history.logging.service.class": "org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService", + "tez.lib.uris": "/hdp/apps/${hdp.version}/tez/tez.tar.gz", + "tez.runtime.compress": "true", + "tez.runtime.compress.codec": "org.apache.hadoop.io.compress.SnappyCodec", + "tez.runtime.convert.user-payload.to.history-text": "false", + "tez.runtime.io.sort.mb": "272", + "tez.runtime.optimize.local.fetch": "true", + "tez.runtime.pipelined.sorter.sort.threads": "2", + "tez.runtime.sorter.class": "PIPELINED", + "tez.runtime.unordered.output.buffer.size-mb": "100", + "tez.session.am.dag.submit.timeout.secs": "300", + "tez.session.client.timeout.secs": "-1", + "tez.shuffle-vertex-manager.max-src-fraction": "0.4", + "tez.shuffle-vertex-manager.min-src-fraction": "0.2", + "tez.staging-dir": "/tmp/${user.name}/staging", + "tez.task.am.heartbeat.counter.interval-ms.max": "4000", + "tez.task.generate.counters.per.io": "true", + "tez.task.get-task.sleep.interval-ms.max": "200", + "tez.task.launch.cluster-default.cmd-opts": "-server -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}", + "tez.task.launch.cmd-opts": "-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC", + "tez.task.launch.env": "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64", + "tez.task.max-events-per-heartbeat": "500", + "tez.task.resource.memory.mb": "1536", + "tez.use.cluster.hadoop-libs": "false" + }, + "webhcat-site": { + "templeton.exec.timeout": "60000", + "templeton.hadoop": "/usr/hdp/${hdp.version}/hadoop/bin/hadoop", + "templeton.hadoop.conf.dir": "/etc/hadoop/conf", + "templeton.hcat": "/usr/hdp/${hdp.version}/hive/bin/hcat", + "templeton.hcat.home": "hive.tar.gz/hive/hcatalog", + "templeton.hive.archive": "hdfs:///hdp/apps/${hdp.version}/hive/hive.tar.gz", + "templeton.hive.extra.files": "/usr/hdp/${hdp.version}/tez/conf/tez-site.xml,/usr/hdp/${hdp.version}/tez,/usr/hdp/${hdp.version}/tez/lib", + "templeton.hive.home": "hive.tar.gz/hive", + "templeton.hive.path": "hive.tar.gz/hive/bin/hive", + "templeton.hive.properties": "hive.metastore.local=false,hive.metastore.uris=thrift://%HOSTGROUP::host_group_2%:9083,hive.metastore.sasl.enabled=false,hive.metastore.execute.setugi=true", + "templeton.jar": "/usr/hdp/${hdp.version}/hive/share/webhcat/svr/lib/hive-webhcat-*.jar", + "templeton.libjars": "/usr/hdp/${hdp.version}/zookeeper/zookeeper.jar,/usr/hdp/${hdp.version}/hive/lib/hive-common.jar", + "templeton.override.enabled": "false", + "templeton.pig.archive": "hdfs:///hdp/apps/${hdp.version}/pig/pig.tar.gz", + "templeton.pig.path": "pig.tar.gz/pig/bin/pig", + "templeton.port": "50111", + "templeton.python": "${env.PYTHON_CMD}", + "templeton.sqoop.archive": "hdfs:///hdp/apps/${hdp.version}/sqoop/sqoop.tar.gz", + "templeton.sqoop.home": "sqoop.tar.gz/sqoop", + "templeton.sqoop.path": "sqoop.tar.gz/sqoop/bin/sqoop", + "templeton.storage.class": "org.apache.hive.hcatalog.templeton.tool.ZooKeeperStorage", + "templeton.streaming.jar": "hdfs:///hdp/apps/${hdp.version}/mapreduce/hadoop-streaming.jar", + "templeton.zookeeper.hosts": "%HOSTGROUP::host_group_1%:2181" + }, + "yarn-env": { + "apptimelineserver_heapsize": "1024", + "is_supported_yarn_ranger": "true", + "min_user_id": "1000", + "nodemanager_heapsize": "1024", + "resourcemanager_heapsize": "1024", + "yarn_cgroups_enabled": "false", + "yarn_heapsize": "1024", + "yarn_log_dir_prefix": "/var/log/hadoop-yarn", + "yarn_pid_dir_prefix": "/var/run/hadoop-yarn", + "yarn_user": "yarn" + }, + "yarn-site": { + "hadoop.registry.rm.enabled": "true", + "hadoop.registry.zk.quorum": "%HOSTGROUP::host_group_1%:2181", + "yarn.acl.enable": "false", + "yarn.admin.acl": "yarn", + "yarn.application.classpath": "$HADOOP_CONF_DIR,/usr/hdp/current/hadoop-client/*,/usr/hdp/current/hadoop-client/lib/*,/usr/hdp/current/hadoop-hdfs-client/*,/usr/hdp/current/hadoop-hdfs-client/lib/*,/usr/hdp/current/hadoop-yarn-client/*,/usr/hdp/current/hadoop-yarn-client/lib/*", + "yarn.client.nodemanager-connect.max-wait-ms": "60000", + "yarn.client.nodemanager-connect.retry-interval-ms": "10000", + "yarn.http.policy": "HTTP_ONLY", + "yarn.log-aggregation-enable": "true", + "yarn.log-aggregation.retain-seconds": "2592000", + "yarn.log.server.url": "http://%HOSTGROUP::host_group_1%:19888/jobhistory/logs", + "yarn.node-labels.enabled": "false", + "yarn.node-labels.fs-store.retry-policy-spec": "2000, 500", + "yarn.node-labels.fs-store.root-dir": "/system/yarn/node-labels", + "yarn.nodemanager.address": "0.0.0.0:45454", + "yarn.nodemanager.admin-env": "MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX", + "yarn.nodemanager.aux-services": "mapreduce_shuffle", + "yarn.nodemanager.aux-services.mapreduce_shuffle.class": "org.apache.hadoop.mapred.ShuffleHandler", + "yarn.nodemanager.bind-host": "0.0.0.0", + "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor", + "yarn.nodemanager.container-monitor.interval-ms": "3000", + "yarn.nodemanager.delete.debug-delay-sec": "0", + "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage": "90", + "yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb": "1000", + "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25", + "yarn.nodemanager.health-checker.interval-ms": "135000", + "yarn.nodemanager.health-checker.script.timeout-ms": "60000", + "yarn.nodemanager.linux-container-executor.cgroups.hierarchy": "hadoop-yarn", + "yarn.nodemanager.linux-container-executor.cgroups.mount": "false", + "yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage": "false", + "yarn.nodemanager.linux-container-executor.group": "hadoop", + "yarn.nodemanager.linux-container-executor.resources-handler.class": "org.apache.hadoop.yarn.server.nodemanager.util.DefaultLCEResourcesHandler", + "yarn.nodemanager.local-dirs": "/hadoop/yarn/local", + "yarn.nodemanager.log-aggregation.compression-type": "gz", + "yarn.nodemanager.log-aggregation.debug-enabled": "false", + "yarn.nodemanager.log-aggregation.num-log-files-per-app": "30", + "yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds": "-1", + "yarn.nodemanager.log-dirs": "/hadoop/yarn/log", + "yarn.nodemanager.log.retain-second": "604800", + "yarn.nodemanager.recovery.dir": "{{yarn_log_dir_prefix}}/nodemanager/recovery-state", + "yarn.nodemanager.recovery.enabled": "true", + "yarn.nodemanager.remote-app-log-dir": "/app-logs", + "yarn.nodemanager.remote-app-log-dir-suffix": "logs", + "yarn.nodemanager.resource.cpu-vcores": "8", + "yarn.nodemanager.resource.memory-mb": "5120", + "yarn.nodemanager.resource.percentage-physical-cpu-limit": "80", + "yarn.nodemanager.vmem-check-enabled": "false", + "yarn.nodemanager.vmem-pmem-ratio": "2.1", + "yarn.resourcemanager.address": "%HOSTGROUP::host_group_1%:8050", + "yarn.resourcemanager.admin.address": "%HOSTGROUP::host_group_1%:8141", + "yarn.resourcemanager.am.max-attempts": "2", + "yarn.resourcemanager.bind-host": "0.0.0.0", + "yarn.resourcemanager.connect.max-wait.ms": "900000", + "yarn.resourcemanager.connect.retry-interval.ms": "30000", + "yarn.resourcemanager.fs.state-store.retry-policy-spec": "2000, 500", + "yarn.resourcemanager.fs.state-store.uri": "", + "yarn.resourcemanager.ha.enabled": "false", + "yarn.resourcemanager.hostname": "%HOSTGROUP::host_group_1%", + "yarn.resourcemanager.nodes.exclude-path": "/etc/hadoop/conf/yarn.exclude", + "yarn.resourcemanager.recovery.enabled": "true", + "yarn.resourcemanager.resource-tracker.address": "%HOSTGROUP::host_group_1%:8025", + "yarn.resourcemanager.scheduler.address": "%HOSTGROUP::host_group_1%:8030", + "yarn.resourcemanager.scheduler.class": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler", + "yarn.resourcemanager.scheduler.monitor.enable": "false", + "yarn.resourcemanager.state-store.max-completed-applications": "${yarn.resourcemanager.max-completed-applications}", + "yarn.resourcemanager.store.class": "org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore", + "yarn.resourcemanager.system-metrics-publisher.dispatcher.pool-size": "10", + "yarn.resourcemanager.system-metrics-publisher.enabled": "true", + "yarn.resourcemanager.webapp.address": "%HOSTGROUP::host_group_1%:8088", + "yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled": "false", + "yarn.resourcemanager.webapp.https.address": "%HOSTGROUP::host_group_1%:8090", + "yarn.resourcemanager.work-preserving-recovery.enabled": "true", + "yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms": "10000", + "yarn.resourcemanager.zk-acl": "world:anyone:rwcda", + "yarn.resourcemanager.zk-address": "%HOSTGROUP::host_group_1%:2181", + "yarn.resourcemanager.zk-num-retries": "1000", + "yarn.resourcemanager.zk-retry-interval-ms": "1000", + "yarn.resourcemanager.zk-state-store.parent-path": "/rmstore", + "yarn.resourcemanager.zk-timeout-ms": "10000", + "yarn.scheduler.maximum-allocation-mb": "5120", + "yarn.scheduler.maximum-allocation-vcores": "8", + "yarn.scheduler.minimum-allocation-mb": "512", + "yarn.scheduler.minimum-allocation-vcores": "1", + "yarn.timeline-service.address": "%HOSTGROUP::host_group_1%:10200", + "yarn.timeline-service.bind-host": "0.0.0.0", + "yarn.timeline-service.client.max-retries": "30", + "yarn.timeline-service.client.retry-interval-ms": "1000", + "yarn.timeline-service.enabled": "true", + "yarn.timeline-service.generic-application-history.store-class": "org.apache.hadoop.yarn.server.applicationhistoryservice.NullApplicationHistoryStore", + "yarn.timeline-service.http-authentication.simple.anonymous.allowed": "true", + "yarn.timeline-service.http-authentication.type": "simple", + "yarn.timeline-service.leveldb-state-store.path": "/hadoop/yarn/timeline", + "yarn.timeline-service.leveldb-timeline-store.path": "/hadoop/yarn/timeline", + "yarn.timeline-service.leveldb-timeline-store.read-cache-size": "104857600", + "yarn.timeline-service.leveldb-timeline-store.start-time-read-cache-size": "10000", + "yarn.timeline-service.leveldb-timeline-store.start-time-write-cache-size": "10000", + "yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms": "300000", + "yarn.timeline-service.recovery.enabled": "true", + "yarn.timeline-service.state-store-class": "org.apache.hadoop.yarn.server.timeline.recovery.LeveldbTimelineStateStore", + "yarn.timeline-service.store-class": "org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore", + "yarn.timeline-service.ttl-enable": "true", + "yarn.timeline-service.ttl-ms": "2678400000", + "yarn.timeline-service.webapp.address": "%HOSTGROUP::host_group_1%:8188", + "yarn.timeline-service.webapp.https.address": "%HOSTGROUP::host_group_1%:8190" + }, + "zoo.cfg": { + "autopurge.purgeInterval": "24", + "autopurge.snapRetainCount": "30", + "clientPort": "2181", + "dataDir": "/hadoop/zookeeper", + "initLimit": "10", + "syncLimit": "5", + "tickTime": "2000" + }, + "zookeeper-env": { + "zk_log_dir": "/var/log/zookeeper", + "zk_pid_dir": "/var/run/zookeeper", + "zk_user": "zookeeper" + } +} \ No newline at end of file diff --git a/sahara/plugins/ambari/resources/generate_config.py b/sahara/plugins/ambari/resources/generate_config.py new file mode 100755 index 00000000..b116a7f0 --- /dev/null +++ b/sahara/plugins/ambari/resources/generate_config.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python +# Copyright (c) 2015 Mirantis Inc. +# +# Licensed 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. + + +from __future__ import print_function +import argparse +import sys + +from oslo_serialization import jsonutils +import requests + + +def get_blueprint(ambari_address, username, password, cluster_name): + url = "http://%s:8080/api/v1/clusters/%s?format=blueprint" % ( + ambari_address, cluster_name) + resp = requests.get(url, auth=(username, password)) + resp.raise_for_status() + if resp.text: + return jsonutils.loads(resp.text) + + +def generate_config(blueprint): + configs = {} + for entity in blueprint["configurations"]: + for cfg in entity: + p = entity[cfg]["properties"] + if not p: + continue + if "content" in p: + del p["content"] + for k, v in p.items(): + p[k] = " ".join(v.split()) + if p: + configs[cfg] = p + return configs + + +def write_config(cfg, version): + with open("sahara/plugins/ambari/resources/configs-%s.json" % version, + "w") as fp: + jsonutils.dump(cfg, fp, indent=4, sort_keys=True, + separators=(",", ": ")) + + +def main(): + parser = argparse.ArgumentParser( + description="Ambari sample config generator") + parser.add_argument("--address", help="Ambari address", + default="localhost") + parser.add_argument("--username", help="Ambari username", + default="admin") + parser.add_argument("--password", help="Ambari password", + default="admin") + parser.add_argument("--cluster-name", help="Name of cluster", + default="cluster") + ns = parser.parse_args(sys.argv[1:]) + + bp = get_blueprint(ns.address, + ns.username, + ns.password, + ns.cluster_name) + cfg = generate_config(bp) + write_config(cfg, bp["Blueprints"]["stack_version"]) + + +if __name__ == "__main__": + main() diff --git a/sahara/plugins/ambari/validation.py b/sahara/plugins/ambari/validation.py index 8ad7bb6f..ff6919a9 100644 --- a/sahara/plugins/ambari/validation.py +++ b/sahara/plugins/ambari/validation.py @@ -16,6 +16,7 @@ from sahara import conductor from sahara import context +from sahara.i18n import _ from sahara.plugins.ambari import common from sahara.plugins import exceptions as ex from sahara.plugins import utils @@ -28,9 +29,45 @@ def validate_creation(cluster_id): ctx = context.ctx() cluster = conductor.cluster_get(ctx, cluster_id) _check_ambari(cluster) + _check_hdfs(cluster) + _check_yarn(cluster) def _check_ambari(cluster): - count = utils.get_instances_count(cluster, common.AMBARI_SERVER) - if count != 1: - raise ex.InvalidComponentCountException(common.AMBARI_SERVER, 1, count) + am_count = utils.get_instances_count(cluster, common.AMBARI_SERVER) + zk_count = utils.get_instances_count(cluster, common.ZOOKEEPER_SERVER) + if am_count != 1: + raise ex.InvalidComponentCountException(common.AMBARI_SERVER, 1, + am_count) + if zk_count == 0: + raise ex.InvalidComponentCountException(common.ZOOKEEPER_SERVER, + _("1 or more"), zk_count) + + +def _check_hdfs(cluster): + nn_count = utils.get_instances_count(cluster, common.NAMENODE) + dn_count = utils.get_instances_count(cluster, common.DATANODE) + if nn_count != 1: + raise ex.InvalidComponentCountException(common.NAMENODE, 1, nn_count) + if dn_count == 0: + raise ex.InvalidComponentCountException( + common.DATANODE, _("1 or more"), dn_count) + + +def _check_yarn(cluster): + rm_count = utils.get_instances_count(cluster, common.RESOURCEMANAGER) + nm_count = utils.get_instances_count(cluster, common.NODEMANAGER) + hs_count = utils.get_instances_count(cluster, common.HISTORYSERVER) + at_count = utils.get_instances_count(cluster, common.APP_TIMELINE_SERVER) + if rm_count != 1: + raise ex.InvalidComponentCountException(common.RESOURCEMANAGER, 1, + rm_count) + if hs_count != 1: + raise ex.InvalidComponentCountException(common.HISTORYSERVER, 1, + hs_count) + if at_count != 1: + raise ex.InvalidComponentCountException(common.APP_TIMELINE_SERVER, 1, + at_count) + if nm_count == 0: + raise ex.InvalidComponentCountException(common.NODEMANAGER, + _("1 or more"), nm_count) diff --git a/sahara/tests/unit/plugins/ambari/test_client.py b/sahara/tests/unit/plugins/ambari/test_client.py index f3edf6d8..7f2cab25 100644 --- a/sahara/tests/unit/plugins/ambari/test_client.py +++ b/sahara/tests/unit/plugins/ambari/test_client.py @@ -143,3 +143,33 @@ class AmbariClientTestCase(base.SaharaTestCase): self.http_client.put.assert_called_with( "http://1.2.3.4:8080/api/v1/users/bart", data=exp_req, verify=False, auth=client._auth, headers=self.headers) + + def test_create_blueprint(self): + client = ambari_client.AmbariClient(self.instance) + resp = mock.Mock() + resp.text = "" + resp.status_code = 200 + self.http_client.post.return_value = resp + client.create_blueprint("cluster_name", {"some": "data"}) + self.http_client.post.assert_called_with( + "http://1.2.3.4:8080/api/v1/blueprints/cluster_name", + data=jsonutils.dumps({"some": "data"}), verify=False, + auth=client._auth, headers=self.headers) + + def test_create_cluster(self): + client = ambari_client.AmbariClient(self.instance) + resp = mock.Mock() + resp.text = """{ + "Requests": { + "id": 1, + "status": "InProgress" + } +}""" + resp.status_code = 200 + self.http_client.post.return_value = resp + req_info = client.create_cluster("cluster_name", {"some": "data"}) + self.assertEqual(1, req_info["id"]) + self.http_client.post.assert_called_with( + "http://1.2.3.4:8080/api/v1/clusters/cluster_name", + data=jsonutils.dumps({"some": "data"}), verify=False, + auth=client._auth, headers=self.headers) diff --git a/sahara/tests/unit/plugins/ambari/test_configs.py b/sahara/tests/unit/plugins/ambari/test_configs.py new file mode 100644 index 00000000..0a464314 --- /dev/null +++ b/sahara/tests/unit/plugins/ambari/test_configs.py @@ -0,0 +1,114 @@ +# Copyright (c) 2015 Mirantis Inc. +# +# Licensed 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. + + +import collections + +import mock + +from sahara.plugins.ambari import configs +from sahara.tests.unit import base + + +class AmbariConfigsTestCase(base.SaharaTestCase): + def setUp(self): + super(AmbariConfigsTestCase, self).setUp() + configs.load_configs("2.2") + self.ng = mock.Mock() + self.ng.node_configs = {} + self.ng.cluster = mock.Mock() + self.ng.cluster.hadoop_version = "2.2" + self.ng.storage_paths = mock.Mock() + self.ng.storage_paths.return_value = ["/data1", "/data2"] + + def assertConfigEqual(self, expected, actual): + self.assertEqual(len(expected), len(actual)) + cnt_ex = collections.Counter() + cnt_act = collections.Counter() + for i, ex in enumerate(expected): + for j, act in enumerate(actual): + if ex == act: + cnt_ex[i] += 1 + cnt_act[j] += 1 + self.assertEqual(len(expected), len(cnt_ex)) + self.assertEqual(len(actual), len(cnt_act)) + + def test_get_ng_params_default(self): + ng_configs = configs.get_ng_params(self.ng) + expected = [ + { + "hdfs-site": { + "dfs.datanode.data.dir": + "/data1/hdfs/data,/data2/hdfs/data", + "dfs.journalnode.edits.dir": + "/data1/hdfs/journalnode,/data2/hdfs/journalnode", + "dfs.namenode.checkpoint.dir": + "/data1/hdfs/namesecondary,/data2/hdfs/namesecondary", + "dfs.namenode.name.dir": + "/data1/hdfs/namenode,/data2/hdfs/namenode" + } + }, + { + "yarn-site": { + "yarn.nodemanager.local-dirs": + "/data1/yarn/local,/data2/yarn/local", + "yarn.nodemanager.log-dirs": + "/data1/yarn/log,/data2/yarn/log", + "yarn.timeline-service.leveldb-timeline-store.path": + "/data1/yarn/timeline,/data2/yarn/timeline" + } + } + ] + self.assertConfigEqual(expected, ng_configs) + + def test_get_ng_params(self): + self.ng.node_configs = { + "YARN": { + "mapreduce.map.java.opts": "-Dk=v", + "yarn.scheduler.minimum-allocation-mb": "256" + } + } + ng_configs = configs.get_ng_params(self.ng) + expected = [ + { + "hdfs-site": { + "dfs.datanode.data.dir": + "/data1/hdfs/data,/data2/hdfs/data", + "dfs.journalnode.edits.dir": + "/data1/hdfs/journalnode,/data2/hdfs/journalnode", + "dfs.namenode.checkpoint.dir": + "/data1/hdfs/namesecondary,/data2/hdfs/namesecondary", + "dfs.namenode.name.dir": + "/data1/hdfs/namenode,/data2/hdfs/namenode" + } + }, + { + "mapred-site": { + "mapreduce.map.java.opts": "-Dk=v" + } + }, + { + "yarn-site": { + "yarn.nodemanager.local-dirs": + "/data1/yarn/local,/data2/yarn/local", + "yarn.nodemanager.log-dirs": + "/data1/yarn/log,/data2/yarn/log", + "yarn.scheduler.minimum-allocation-mb": "256", + "yarn.timeline-service.leveldb-timeline-store.path": + "/data1/yarn/timeline,/data2/yarn/timeline" + } + } + ] + self.assertConfigEqual(expected, ng_configs) diff --git a/sahara/tests/unit/plugins/ambari/test_validation.py b/sahara/tests/unit/plugins/ambari/test_validation.py index ad6ff0d7..5fabfe05 100644 --- a/sahara/tests/unit/plugins/ambari/test_validation.py +++ b/sahara/tests/unit/plugins/ambari/test_validation.py @@ -40,7 +40,14 @@ class AmbariValidationTestCase(base.SaharaTestCase): self.plugin = plugin.AmbariPluginProvider() def test_cluster_with_ambari(self): - cluster = make_cluster({1: [p_common.AMBARI_SERVER]}) + cluster = make_cluster({1: [p_common.AMBARI_SERVER, + p_common.ZOOKEEPER_SERVER, + p_common.NAMENODE, + p_common.DATANODE, + p_common.RESOURCEMANAGER, + p_common.NODEMANAGER, + p_common.HISTORYSERVER, + p_common.APP_TIMELINE_SERVER]}) with mock.patch("sahara.plugins.ambari.validation.conductor") as p: p.cluster_get = mock.Mock() p.cluster_get.return_value = cluster