You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2015/06/04 03:58:24 UTC
ambari git commit: AMBARI-11577 - Accumulo Does Not Upgrade During A
Rolling Upgrade (jonathanhurley)
Repository: ambari
Updated Branches:
refs/heads/trunk cb2a69aa4 -> d658e6fd7
AMBARI-11577 - Accumulo Does Not Upgrade During A Rolling Upgrade (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d658e6fd
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d658e6fd
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d658e6fd
Branch: refs/heads/trunk
Commit: d658e6fd72b1081ddd5c9eaeec026c2540dad3f3
Parents: cb2a69a
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Tue Jun 2 09:21:14 2015 -0400
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Wed Jun 3 21:54:43 2015 -0400
----------------------------------------------------------------------
.../ACCUMULO/1.6.1.2.2.0/metainfo.xml | 6 ++
.../package/scripts/accumulo_client.py | 22 +++-
.../package/scripts/accumulo_script.py | 104 ++++++++++++++-----
.../stacks/HDP/2.2/upgrades/upgrade-2.3.xml | 45 ++++++++
.../stacks/2.2/ACCUMULO/test_accumulo_client.py | 78 ++++++++++++++
.../test/python/stacks/2.2/configs/default.json | 47 ++++++++-
6 files changed, 276 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d658e6fd/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/metainfo.xml b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/metainfo.xml
index f727a17..f40da62 100644
--- a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/metainfo.xml
+++ b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/metainfo.xml
@@ -30,6 +30,7 @@
<displayName>Accumulo Master</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<timelineAppid>ACCUMULO</timelineAppid>
<dependencies>
<dependency>
@@ -60,6 +61,7 @@
<displayName>Accumulo Monitor</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<timelineAppid>ACCUMULO</timelineAppid>
<commandScript>
<script>scripts/accumulo_monitor.py</script>
@@ -73,6 +75,7 @@
<displayName>Accumulo GC</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<timelineAppid>ACCUMULO</timelineAppid>
<commandScript>
<script>scripts/accumulo_gc.py</script>
@@ -86,6 +89,7 @@
<displayName>Accumulo Tracer</displayName>
<category>MASTER</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<timelineAppid>ACCUMULO</timelineAppid>
<commandScript>
<script>scripts/accumulo_tracer.py</script>
@@ -99,6 +103,7 @@
<displayName>Accumulo TServer</displayName>
<category>SLAVE</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<timelineAppid>ACCUMULO</timelineAppid>
<commandScript>
<script>scripts/accumulo_tserver.py</script>
@@ -111,6 +116,7 @@
<displayName>Accumulo Client</displayName>
<category>CLIENT</category>
<cardinality>1+</cardinality>
+ <versionAdvertised>true</versionAdvertised>
<timelineAppid>ACCUMULO</timelineAppid>
<commandScript>
<script>scripts/accumulo_client.py</script>
http://git-wip-us.apache.org/repos/asf/ambari/blob/d658e6fd/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_client.py b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_client.py
index 1645304..df5e687 100644
--- a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_client.py
+++ b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_client.py
@@ -18,7 +18,11 @@ limitations under the License.
"""
-from resource_management import *
+from resource_management.core.logger import Logger
+from resource_management.core.exceptions import ClientComponentHasNoStatus
+from resource_management.libraries.functions import conf_select
+from resource_management.libraries.functions import hdp_select
+from resource_management.libraries.script.script import Script
from accumulo_configuration import setup_conf_dir
@@ -27,19 +31,35 @@ class AccumuloClient(Script):
def get_stack_to_component(self):
return {"HDP": "accumulo-client"}
+
def install(self, env):
self.install_packages(env)
self.configure(env)
+
def configure(self, env):
import params
env.set_params(params)
setup_conf_dir(name='client')
+
def status(self, env):
raise ClientComponentHasNoStatus()
+ def pre_rolling_restart(self, env):
+ import params
+ env.set_params(params)
+
+ # this function should not execute if the version can't be determined or
+ # is not at least HDP 2.2.0.0
+ if Script.is_hdp_stack_less_than("2.2"):
+ return
+
+ Logger.info("Executing Accumulo Client Rolling Upgrade pre-restart")
+ conf_select.select(params.stack_name, "accumulo", params.version)
+ hdp_select.select("accumulo-client", params.version)
+
if __name__ == "__main__":
AccumuloClient().execute()
http://git-wip-us.apache.org/repos/asf/ambari/blob/d658e6fd/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py
index 8f78325..b4bf044 100644
--- a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py
+++ b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_script.py
@@ -17,44 +17,76 @@ See the License for the specific language governing permissions and
limitations under the License.
"""
-
-from resource_management import *
-from resource_management.libraries.functions.security_commons import build_expectations, \
- cached_kinit_executor, get_params_from_filesystem, validate_security_config_properties, \
- FILE_TYPE_XML
+from resource_management.core.exceptions import Fail
+from resource_management.core.logger import Logger
+from resource_management.libraries.functions import format
+from resource_management.libraries.functions import check_process_status
+from resource_management.libraries.functions import conf_select
+from resource_management.libraries.functions import hdp_select
+from resource_management.libraries.functions.security_commons import build_expectations
+from resource_management.libraries.functions.security_commons import cached_kinit_executor
+from resource_management.libraries.functions.security_commons import get_params_from_filesystem
+from resource_management.libraries.functions.security_commons import validate_security_config_properties
+from resource_management.libraries.functions.security_commons import FILE_TYPE_XML
+from resource_management.libraries.script.script import Script
from accumulo_configuration import setup_conf_dir
from accumulo_service import accumulo_service
class AccumuloScript(Script):
+
+ # a mapping between the component named used by these scripts and the name
+ # which is used by hdp-select
+ COMPONENT_TO_HDP_SELECT_MAPPING = {
+ "gc" : "accumulo-gc",
+ "master" : "accumulo-master",
+ "monitor" : "accumulo-monitor",
+ "tserver" : "accumulo-tablet",
+ "tracer" : "accumulo-tracer"
+ }
+
def __init__(self, component):
self.component = component
+
+ def get_stack_to_component(self):
+ """
+ Gets the hdp-select component name given the script component
+ :return: the name of the component on the HDP stack which is used by
+ hdp-select
+ """
+ if self.component not in self.COMPONENT_TO_HDP_SELECT_MAPPING:
+ return None
+
+ hdp_component = self.COMPONENT_TO_HDP_SELECT_MAPPING[self.component]
+ return {"HDP": hdp_component}
+
+
def install(self, env):
self.install_packages(env)
+
def configure(self, env):
import params
env.set_params(params)
setup_conf_dir(name=self.component)
- def start(self, env):
+
+ def start(self, env, rolling_restart=False):
import params
env.set_params(params)
self.configure(env) # for security
- accumulo_service( self.component,
- action = 'start'
- )
+ accumulo_service( self.component, action = 'start')
- def stop(self, env):
+
+ def stop(self, env, rolling_restart=False):
import params
env.set_params(params)
- accumulo_service( self.component,
- action = 'stop'
- )
+ accumulo_service( self.component, action = 'stop')
+
def status(self, env):
import status_params
@@ -63,6 +95,30 @@ class AccumuloScript(Script):
pid_file = format("{pid_dir}/accumulo-{accumulo_user}-{component}.pid")
check_process_status(pid_file)
+
+ def pre_rolling_restart(self, env):
+ import params
+ env.set_params(params)
+
+ # this function should not execute if the version can't be determined or
+ # is not at least HDP 2.2.0.0
+ if Script.is_hdp_stack_less_than("2.2"):
+ return
+
+ if self.component not in self.COMPONENT_TO_HDP_SELECT_MAPPING:
+ Logger.info("Unable to execute an upgrade for unknown component {0}".format(self.component))
+ raise Fail("Unable to execute an upgrade for unknown component {0}".format(self.component))
+
+ hdp_component = self.COMPONENT_TO_HDP_SELECT_MAPPING[self.component]
+
+ Logger.info("Executing Accumulo Rolling Upgrade pre-restart for {0}".format(hdp_component))
+ conf_select.select(params.stack_name, "accumulo", params.version)
+ hdp_select.select(hdp_component, params.version)
+
+ # some accumulo components depend on the client, so update that too
+ hdp_select.select("accumulo-client", params.version)
+
+
def security_status(self, env):
import status_params
@@ -73,15 +129,14 @@ class AccumuloScript(Script):
'general.kerberos.principal']
props_read_check = ['general.kerberos.keytab']
accumulo_site_expectations = build_expectations('accumulo-site',
- props_value_check,
- props_empty_check,
- props_read_check)
+ props_value_check, props_empty_check, props_read_check)
accumulo_expectations = {}
accumulo_expectations.update(accumulo_site_expectations)
security_params = get_params_from_filesystem(status_params.conf_dir,
- {'accumulo-site.xml': FILE_TYPE_XML})
+ {'accumulo-site.xml': FILE_TYPE_XML})
+
result_issues = validate_security_config_properties(security_params, accumulo_expectations)
if not result_issues: # If all validations passed successfully
try:
@@ -95,12 +150,13 @@ class AccumuloScript(Script):
return
cached_kinit_executor(status_params.kinit_path_local,
- status_params.accumulo_user,
- security_params['accumulo-site']['general.kerberos.keytab'],
- security_params['accumulo-site']['general.kerberos.principal'],
- status_params.hostname,
- status_params.tmp_dir,
- 30)
+ status_params.accumulo_user,
+ security_params['accumulo-site']['general.kerberos.keytab'],
+ security_params['accumulo-site']['general.kerberos.principal'],
+ status_params.hostname,
+ status_params.tmp_dir,
+ 30)
+
self.put_structured_out({"securityState": "SECURED_KERBEROS"})
except Exception as e:
self.put_structured_out({"securityState": "ERROR"})
@@ -114,4 +170,4 @@ class AccumuloScript(Script):
if __name__ == "__main__":
- self.fail_with_error('component unspecified')
+ AccumuloScript().fail_with_error('component unspecified')
http://git-wip-us.apache.org/repos/asf/ambari/blob/d658e6fd/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml
index f2ca5a0..0cee7b1 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.3.xml
@@ -265,6 +265,18 @@
</service>
</group>
+ <group name="ACCUMULO" title="Accumulo">
+ <skippable>true</skippable>
+ <service name="ACCUMULO">
+ <component>ACCUMULO_MASTER</component>
+ <component>ACCUMULO_TSERVER</component>
+ <component>ACCUMULO_MONITOR</component>
+ <component>ACCUMULO_GC</component>
+ <component>ACCUMULO_TRACER</component>
+ <component>ACCUMULO_CLIENT</component>
+ </service>
+ </group>
+
<group xsi:type="cluster" name="POST_CLUSTER" title="Finalize {{direction.text.proper}}">
<skippable>true</skippable>
<execute-stage title="Check Unhealthy Hosts" id="unhealthy-hosts">
@@ -1141,5 +1153,38 @@
</upgrade>
</component>
</service>
+
+ <service name="ACCUMULO">
+ <component name="ACCUMULO_MASTER">
+ <upgrade>
+ <task xsi:type="restart" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_MONITOR">
+ <upgrade>
+ <task xsi:type="restart" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_GC">
+ <upgrade>
+ <task xsi:type="restart" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_TRACER">
+ <upgrade>
+ <task xsi:type="restart" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_TSERVER">
+ <upgrade>
+ <task xsi:type="restart" />
+ </upgrade>
+ </component>
+ <component name="ACCUMULO_CLIENT">
+ <upgrade>
+ <task xsi:type="restart" />
+ </upgrade>
+ </component>
+ </service>
</processing>
</upgrade>
http://git-wip-us.apache.org/repos/asf/ambari/blob/d658e6fd/ambari-server/src/test/python/stacks/2.2/ACCUMULO/test_accumulo_client.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.2/ACCUMULO/test_accumulo_client.py b/ambari-server/src/test/python/stacks/2.2/ACCUMULO/test_accumulo_client.py
new file mode 100644
index 0000000..18c71e3
--- /dev/null
+++ b/ambari-server/src/test/python/stacks/2.2/ACCUMULO/test_accumulo_client.py
@@ -0,0 +1,78 @@
+#!/usr/bin/env python
+
+'''
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+'''
+import json
+
+from mock.mock import patch
+from stacks.utils.RMFTestCase import *
+
+
+class TestAccumuloClient(RMFTestCase):
+ COMMON_SERVICES_PACKAGE_DIR = "ACCUMULO/1.6.1.2.2.0/package"
+ STACK_VERSION = "2.1"
+
+ def test_pre_rolling_restart(self):
+ config_file = self.get_src_folder() + "/test/python/stacks/2.2/configs/default.json"
+ with open(config_file, "r") as f:
+ json_content = json.load(f)
+
+ version = '2.2.7.0-1234'
+ json_content['commandParams']['version'] = version
+
+ self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/accumulo_client.py",
+ classname = "AccumuloClient",
+ command = "pre_rolling_restart",
+ config_dict = json_content,
+ hdp_stack_version = self.STACK_VERSION,
+ target = RMFTestCase.TARGET_COMMON_SERVICES)
+
+ self.assertResourceCalled('Execute', 'hdp-select set accumulo-client %s' % version,)
+ self.assertNoMoreResources()
+
+ @patch("resource_management.core.shell.call")
+ def test_pre_rolling_restart_23(self, call_mock):
+ config_file = self.get_src_folder() + "/test/python/stacks/2.2/configs/default.json"
+
+ with open(config_file, "r") as f:
+ json_content = json.load(f)
+
+ version = '2.3.0.0-1234'
+ json_content['commandParams']['version'] = version
+
+ mocks_dict = {}
+ self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/accumulo_client.py",
+ classname = "AccumuloClient",
+ command = "pre_rolling_restart",
+ config_dict = json_content,
+ hdp_stack_version = self.STACK_VERSION,
+ target = RMFTestCase.TARGET_COMMON_SERVICES,
+ call_mocks = [(0, None), (0, None)],
+ mocks_dict = mocks_dict)
+
+ self.assertResourceCalled('Execute', 'hdp-select set accumulo-client %s' % version,)
+ self.assertNoMoreResources()
+
+ self.assertEquals(2, mocks_dict['call'].call_count)
+ self.assertEquals(
+ "conf-select create-conf-dir --package accumulo --stack-version 2.3.0.0-1234 --conf-version 0",
+ mocks_dict['call'].call_args_list[0][0][0])
+
+ self.assertEquals(
+ "conf-select set-conf-dir --package accumulo --stack-version 2.3.0.0-1234 --conf-version 0",
+ mocks_dict['call'].call_args_list[1][0][0])
http://git-wip-us.apache.org/repos/asf/ambari/blob/d658e6fd/ambari-server/src/test/python/stacks/2.2/configs/default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.2/configs/default.json b/ambari-server/src/test/python/stacks/2.2/configs/default.json
index 505086d..0dc9ad0 100644
--- a/ambari-server/src/test/python/stacks/2.2/configs/default.json
+++ b/ambari-server/src/test/python/stacks/2.2/configs/default.json
@@ -330,7 +330,52 @@
},
"ranger-hive-plugin-properties": {
"ranger-hive-plugin-enabled":"yes"
- }
+ },
+ "accumulo-env": {
+ "accumulo_user": "accumulo",
+ "accumulo_master_heapsize": "1024",
+ "accumulo_log_dir": "/var/log/accumulo",
+ "accumulo_gc_heapsize": "256",
+ "server_content": "\n#! /usr/bin/env bash\nexport HADOOP_PREFIX={{hadoop_prefix}}\nexport HADOOP_CONF_DIR={{hadoop_conf_dir}}\nexport JAVA_HOME={{java64_home}}\nexport ZOOKEEPER_HOME={{zookeeper_home}}\nexport ACCUMULO_PID_DIR={{pid_dir}}\nexport ACCUMULO_LOG_DIR={{log_dir}}\nexport ACCUMULO_CONF_DIR={{server_conf_dir}}\nexport ACCUMULO_TSERVER_OPTS=\"-Xmx{{accumulo_tserver_heapsize}}m -Xms{{accumulo_tserver_heapsize}}m\"\nexport ACCUMULO_MASTER_OPTS=\"-Xmx{{accumulo_master_heapsize}}m -Xms{{accumulo_master_heapsize}}m\"\nexport ACCUMULO_MONITOR_OPTS=\"-Xmx{{accumulo_monitor_heapsize}}m -Xms{{accumulo_monitor_heapsize}}m\"\nexport ACCUMULO_GC_OPTS=\"-Xmx{{accumulo_gc_heapsize}}m -Xms{{accumulo_gc_heapsize}}m\"\nexport ACCUMULO_GENERAL_OPTS=\"-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -Djava.net.preferIPv4Stack=true ${ACCUMULO_GENERAL_OPTS}\"\nexport ACCUMULO_OTHER_OPTS=\"-Xmx{{accumulo_other_heapsize}}m -Xms{{accumulo_other_heapsize}}m ${ACCUMULO_OTHER
_OPTS}\"\nexport ACCUMULO_MONITOR_BIND_ALL={{monitor_bind_str}}\n# what do when the JVM runs out of heap memory\nexport ACCUMULO_KILL_CMD='kill -9 %p'",
+ "content": "\n#! /usr/bin/env bash\nexport HADOOP_PREFIX={{hadoop_prefix}}\nexport HADOOP_CONF_DIR={{hadoop_conf_dir}}\nexport JAVA_HOME={{java64_home}}\nexport ZOOKEEPER_HOME={{zookeeper_home}}\nexport ACCUMULO_LOG_DIR={{log_dir}}\nexport ACCUMULO_CONF_DIR={{conf_dir}}\nexport ACCUMULO_TSERVER_OPTS=\"-Xmx{{accumulo_tserver_heapsize}}m -Xms{{accumulo_tserver_heapsize}}m\"\nexport ACCUMULO_MASTER_OPTS=\"-Xmx{{accumulo_master_heapsize}}m -Xms{{accumulo_master_heapsize}}m\"\nexport ACCUMULO_MONITOR_OPTS=\"-Xmx{{accumulo_monitor_heapsize}}m -Xms{{accumulo_monitor_heapsize}}m\"\nexport ACCUMULO_GC_OPTS=\"-Xmx{{accumulo_gc_heapsize}}m -Xms{{accumulo_gc_heapsize}}m\"\nexport ACCUMULO_GENERAL_OPTS=\"-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -Djava.net.preferIPv4Stack=true ${ACCUMULO_GENERAL_OPTS}\"\nexport ACCUMULO_OTHER_OPTS=\"-Xmx{{accumulo_other_heapsize}}m -Xms{{accumulo_other_heapsize}}m ${ACCUMULO_OTHER_OPTS}\"\n# what do when the JVM runs out of heap m
emory\nexport ACCUMULO_KILL_CMD='kill -9 %p'",
+ "accumulo_instance_name": "hdp-accumulo-instance",
+ "instance_secret": "password",
+ "accumulo_root_password": "password",
+ "accumulo_pid_dir": "/var/run/accumulo",
+ "accumulo_monitor_bind_all": "false",
+ "trace_password": "password",
+ "accumulo_tserver_heapsize": "1536",
+ "accumulo_monitor_heapsize": "1024",
+ "accumulo_other_heapsize": "1024"
+ },
+ "accumulo-site": {
+ "instance.zookeeper.host": "c6402.ambari.apache.org:2181,c6401.ambari.apache.org:2181,c6403.ambari.apache.org:2181",
+ "tserver.port.client": "9997",
+ "trace.port.client": "12234",
+ "monitor.port.client": "50095",
+ "trace.user": "trace",
+ "tserver.cache.data.size": "128M",
+ "tserver.memory.maps.native.enabled": "true",
+ "general.classpaths": "\n$ACCUMULO_HOME/lib/accumulo-server.jar,\n$ACCUMULO_HOME/lib/accumulo-core.jar,\n$ACCUMULO_HOME/lib/accumulo-start.jar,\n$ACCUMULO_HOME/lib/accumulo-fate.jar,\n$ACCUMULO_HOME/lib/accumulo-proxy.jar,\n$ACCUMULO_HOME/lib/[^.].*.jar,\n$ZOOKEEPER_HOME/zookeeper[^.].*.jar,\n$HADOOP_CONF_DIR,\n/usr/hdp/current/hadoop-client/[^.].*.jar,\n/usr/hdp/current/hadoop-client/lib/(?!slf4j)[^.].*.jar,\n/usr/hdp/current/hadoop-hdfs-client/[^.].*.jar,\n/usr/hdp/current/hadoop-mapreduce-client/[^.].*.jar,\n/usr/hdp/current/hadoop-yarn-client/[^.].*.jar,\n/usr/hdp/current/hadoop-yarn-client/lib/jersey.*.jar,\n/usr/hdp/current/hive-client/lib/hive-accumulo-handler.jar,",
+ "monitor.port.log4j": "4560",
+ "gc.port.client": "50091",
+ "tserver.memory.maps.max": "1G",
+ "tserver.sort.buffer.size": "200M",
+ "tserver.cache.index.size": "256M",
+ "master.port.client": "9999",
+ "tserver.walog.max.size": "1G",
+ "instance.volumes": "hdfs://c1ha/apps/accumulo/data",
+ "instance.zookeeper.timeout": "30s"
+ },
+ "accumulo-log4j": {
+ "info_num_logs": "10",
+ "info_log_size": "1000M",
+ "debug_log_size": "1000M",
+ "content": "\n# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE file distributed with\n# this work for additional information regarding copyright ownership.\n# The ASF licenses this file to You under the Apache License, Version 2.0\n# (the \"License\"); you may not use this file except in compliance with\n# the License. You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# default logging properties:\n# by default, log everything at INFO or higher to the console\nlog4j.rootLogger=INFO,A1\n\n# hide Jetty junk\nlog4j.logger.org.mortbay.log
=WARN,A1\n\n# hide \"Got brand-new compressor\" messages\nlog4j.logger.org.apache.hadoop.io.compress=WARN,A1\nlog4j.logger.org.apache.accumulo.core.file.rfile.bcfile.Compression=WARN,A1\n\n# hide junk from TestRandomDeletes\nlog4j.logger.org.apache.accumulo.test.TestRandomDeletes=WARN,A1\n\n# hide junk from VFS\nlog4j.logger.org.apache.commons.vfs2.impl.DefaultFileSystemManager=WARN,A1\n\n# hide almost everything from zookeeper\nlog4j.logger.org.apache.zookeeper=ERROR,A1\n\n# hide AUDIT messages in the shell, alternatively you could send them to a different logger\nlog4j.logger.org.apache.accumulo.core.util.shell.Shell.audit=WARN,A1\n\n# Send most things to the console\nlog4j.appender.A1=org.apache.log4j.ConsoleAppender\nlog4j.appender.A1.layout.ConversionPattern=%d{ISO8601} [%-8c{2}] %-5p: %m%n\nlog4j.appender.A1.layout=org.apache.log4j.PatternLayout",
+ "audit_log_level": "OFF",
+ "monitor_forwarding_log_level": "WARN",
+ "debug_num_logs": "10"
+ }
},
"configuration_attributes": {
"yarn-site": {