Browse Source

Adding CDH 5.13

We are adding a new version of CDH to the list of supported plugins.

Change-Id: Ia55c6729dc6c4640b83e1d2d4dba88d8bba29e36
Story: #2002183
Task: #20056
tags/9.0.0.0b3
Telles Nobrega 11 months ago
parent
commit
28eb4ce1b7
95 changed files with 27832 additions and 9 deletions
  1. 3
    0
      releasenotes/notes/cdh-513-bdce0d5d269d8f20.yaml
  2. 3
    0
      sahara/plugins/cdh/config_helper.py
  3. 1
    0
      sahara/plugins/cdh/plugin.py
  4. 10
    8
      sahara/plugins/cdh/plugin_utils.py
  5. 0
    0
      sahara/plugins/cdh/v5_13_0/__init__.py
  6. 28
    0
      sahara/plugins/cdh/v5_13_0/cloudera_utils.py
  7. 89
    0
      sahara/plugins/cdh/v5_13_0/config_helper.py
  8. 168
    0
      sahara/plugins/cdh/v5_13_0/deploy.py
  9. 47
    0
      sahara/plugins/cdh/v5_13_0/edp_engine.py
  10. 43
    0
      sahara/plugins/cdh/v5_13_0/images.py
  11. 23
    0
      sahara/plugins/cdh/v5_13_0/plugin_utils.py
  12. 68
    0
      sahara/plugins/cdh/v5_13_0/resources/cdh_config.py
  13. 440
    0
      sahara/plugins/cdh/v5_13_0/resources/flume-agent.json
  14. 164
    0
      sahara/plugins/cdh/v5_13_0/resources/flume-service.json
  15. 122
    0
      sahara/plugins/cdh/v5_13_0/resources/hbase-gateway.json
  16. 452
    0
      sahara/plugins/cdh/v5_13_0/resources/hbase-hbaserestserver.json
  17. 458
    0
      sahara/plugins/cdh/v5_13_0/resources/hbase-hbasethriftserver.json
  18. 530
    0
      sahara/plugins/cdh/v5_13_0/resources/hbase-master.json
  19. 884
    0
      sahara/plugins/cdh/v5_13_0/resources/hbase-regionserver.json
  20. 692
    0
      sahara/plugins/cdh/v5_13_0/resources/hbase-service.json
  21. 128
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-balancer.json
  22. 656
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-datanode.json
  23. 344
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-failovercontroller.json
  24. 116
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-gateway.json
  25. 464
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-httpfs.json
  26. 458
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-journalnode.json
  27. 884
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-namenode.json
  28. 410
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-nfsgateway.json
  29. 458
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-secondarynamenode.json
  30. 1352
    0
      sahara/plugins/cdh/v5_13_0/resources/hdfs-service.json
  31. 98
    0
      sahara/plugins/cdh/v5_13_0/resources/hive-gateway.json
  32. 434
    0
      sahara/plugins/cdh/v5_13_0/resources/hive-hivemetastore.json
  33. 866
    0
      sahara/plugins/cdh/v5_13_0/resources/hive-hiveserver2.json
  34. 15
    0
      sahara/plugins/cdh/v5_13_0/resources/hive-metastore-sentry-safety.xml
  35. 12
    0
      sahara/plugins/cdh/v5_13_0/resources/hive-server2-sentry-safety.xml
  36. 656
    0
      sahara/plugins/cdh/v5_13_0/resources/hive-service.json
  37. 61
    0
      sahara/plugins/cdh/v5_13_0/resources/hive-site.xml
  38. 356
    0
      sahara/plugins/cdh/v5_13_0/resources/hive-webhcat.json
  39. 260
    0
      sahara/plugins/cdh/v5_13_0/resources/hue-hue_load_balancer.json
  40. 404
    0
      sahara/plugins/cdh/v5_13_0/resources/hue-hue_server.json
  41. 212
    0
      sahara/plugins/cdh/v5_13_0/resources/hue-kt_renewer.json
  42. 692
    0
      sahara/plugins/cdh/v5_13_0/resources/hue-service.json
  43. 20
    0
      sahara/plugins/cdh/v5_13_0/resources/images/centos/disable_firewall
  44. 13
    0
      sahara/plugins/cdh/v5_13_0/resources/images/centos/selinux_permissive
  45. 33
    0
      sahara/plugins/cdh/v5_13_0/resources/images/centos/turn_off_services
  46. 27
    0
      sahara/plugins/cdh/v5_13_0/resources/images/centos/wget_repo
  47. 22
    0
      sahara/plugins/cdh/v5_13_0/resources/images/common/add_jar
  48. 17
    0
      sahara/plugins/cdh/v5_13_0/resources/images/common/install_cloudera
  49. 22
    0
      sahara/plugins/cdh/v5_13_0/resources/images/common/install_extjs
  50. 11
    0
      sahara/plugins/cdh/v5_13_0/resources/images/common/unlimited_security_artifacts
  51. 128
    0
      sahara/plugins/cdh/v5_13_0/resources/images/image.yaml
  52. 33
    0
      sahara/plugins/cdh/v5_13_0/resources/images/ubuntu/turn_off_services
  53. 31
    0
      sahara/plugins/cdh/v5_13_0/resources/images/ubuntu/wget_repo
  54. 542
    0
      sahara/plugins/cdh/v5_13_0/resources/impala-catalogserver.json
  55. 746
    0
      sahara/plugins/cdh/v5_13_0/resources/impala-impalad.json
  56. 518
    0
      sahara/plugins/cdh/v5_13_0/resources/impala-llama.json
  57. 572
    0
      sahara/plugins/cdh/v5_13_0/resources/impala-service.json
  58. 404
    0
      sahara/plugins/cdh/v5_13_0/resources/impala-statestore.json
  59. 62
    0
      sahara/plugins/cdh/v5_13_0/resources/kafka-gateway.json
  60. 584
    0
      sahara/plugins/cdh/v5_13_0/resources/kafka-kafka_broker.json
  61. 644
    0
      sahara/plugins/cdh/v5_13_0/resources/kafka-kafka_mirror_maker.json
  62. 404
    0
      sahara/plugins/cdh/v5_13_0/resources/kafka-service.json
  63. 656
    0
      sahara/plugins/cdh/v5_13_0/resources/kms-kms.json
  64. 86
    0
      sahara/plugins/cdh/v5_13_0/resources/kms-service.json
  65. 374
    0
      sahara/plugins/cdh/v5_13_0/resources/ks_indexer-hbase_indexer.json
  66. 188
    0
      sahara/plugins/cdh/v5_13_0/resources/ks_indexer-service.json
  67. 157
    0
      sahara/plugins/cdh/v5_13_0/resources/mapred-site.xml
  68. 674
    0
      sahara/plugins/cdh/v5_13_0/resources/oozie-oozie_server.json
  69. 260
    0
      sahara/plugins/cdh/v5_13_0/resources/oozie-service.json
  70. 45
    0
      sahara/plugins/cdh/v5_13_0/resources/priority-one-confs.json
  71. 62
    0
      sahara/plugins/cdh/v5_13_0/resources/sentry-gateway.json
  72. 16
    0
      sahara/plugins/cdh/v5_13_0/resources/sentry-impala-client-safety.xml
  73. 320
    0
      sahara/plugins/cdh/v5_13_0/resources/sentry-sentry_server.json
  74. 230
    0
      sahara/plugins/cdh/v5_13_0/resources/sentry-service.json
  75. 50
    0
      sahara/plugins/cdh/v5_13_0/resources/solr-gateway.json
  76. 350
    0
      sahara/plugins/cdh/v5_13_0/resources/solr-service.json
  77. 470
    0
      sahara/plugins/cdh/v5_13_0/resources/solr-solr_server.json
  78. 242
    0
      sahara/plugins/cdh/v5_13_0/resources/spark-gateway.json
  79. 170
    0
      sahara/plugins/cdh/v5_13_0/resources/spark-service.json
  80. 422
    0
      sahara/plugins/cdh/v5_13_0/resources/spark-spark_yarn_history_server.json
  81. 116
    0
      sahara/plugins/cdh/v5_13_0/resources/sqoop-service.json
  82. 410
    0
      sahara/plugins/cdh/v5_13_0/resources/sqoop-sqoop_server.json
  83. 92
    0
      sahara/plugins/cdh/v5_13_0/resources/sqoop_client-gateway.json
  84. 80
    0
      sahara/plugins/cdh/v5_13_0/resources/sqoop_client-service.json
  85. 530
    0
      sahara/plugins/cdh/v5_13_0/resources/yarn-gateway.json
  86. 500
    0
      sahara/plugins/cdh/v5_13_0/resources/yarn-jobhistory.json
  87. 794
    0
      sahara/plugins/cdh/v5_13_0/resources/yarn-nodemanager.json
  88. 686
    0
      sahara/plugins/cdh/v5_13_0/resources/yarn-resourcemanager.json
  89. 554
    0
      sahara/plugins/cdh/v5_13_0/resources/yarn-service.json
  90. 608
    0
      sahara/plugins/cdh/v5_13_0/resources/zookeeper-server.json
  91. 236
    0
      sahara/plugins/cdh/v5_13_0/resources/zookeeper-service.json
  92. 21
    0
      sahara/plugins/cdh/v5_13_0/validation.py
  93. 37
    0
      sahara/plugins/cdh/v5_13_0/versionhandler.py
  94. 1
    1
      sahara/tests/unit/plugins/cdh/test_versionfactory.py
  95. 1
    0
      tools/gate/build-images

+ 3
- 0
releasenotes/notes/cdh-513-bdce0d5d269d8f20.yaml View File

@@ -0,0 +1,3 @@
1
+---
2
+features:
3
+  - Adding support to CDH 5.13.0 in CDH plugin.

+ 3
- 0
sahara/plugins/cdh/config_helper.py View File

@@ -291,6 +291,9 @@ class ConfigHelper(object):
291 291
         return self._get_config_value(cluster,
292 292
                                       self.ENABLE_HBASE_COMMON_LIB)
293 293
 
294
+    def is_keytrustee_available(self):
295
+        return True
296
+
294 297
     def get_swift_lib_url(self, cluster):
295 298
         return self._get_config_value(cluster, self.SWIFT_LIB_URL)
296 299
 

+ 1
- 0
sahara/plugins/cdh/plugin.py View File

@@ -38,6 +38,7 @@ class CDHPluginProvider(p.ProvisioningPluginBase):
38 38
         deprecated = {'enabled': {'status': True},
39 39
                       'deprecated': {'status': True}}
40 40
         result['version_labels'] = {
41
+            '5.13.0': copy.deepcopy(default),
41 42
             '5.11.0': copy.deepcopy(default),
42 43
             '5.9.0': copy.deepcopy(default),
43 44
             '5.7.0': copy.deepcopy(default),

+ 10
- 8
sahara/plugins/cdh/plugin_utils.py View File

@@ -413,30 +413,32 @@ class AbstractPluginUtils(object):
413 413
                 cm5_key = (
414 414
                     self.c_helper.get_cm5_key_url(cluster) or
415 415
                     self.c_helper.DEFAULT_CM5_UBUNTU_REPO_KEY_URL)
416
-                kms_key = (
417
-                    self.c_helper.get_kms_key_url(cluster) or
418
-                    self.c_helper.DEFAULT_KEY_TRUSTEE_UBUNTU_REPO_KEY_URL)
416
+                if self.c_helper.is_keytrustee_available():
417
+                    kms_key = (
418
+                        self.c_helper.get_kms_key_url(cluster) or
419
+                        self.c_helper.DEFAULT_KEY_TRUSTEE_UBUNTU_REPO_KEY_URL)
420
+                    kms_repo_url = self.c_helper.KEY_TRUSTEE_UBUNTU_REPO_URL
421
+                    cmd.add_ubuntu_repository(r, kms_repo_url, 'kms')
422
+                    cmd.add_apt_key(r, kms_key)
419 423
 
420 424
                 cdh5_repo_content = self.c_helper.CDH5_UBUNTU_REPO
421 425
                 cm5_repo_content = self.c_helper.CM5_UBUNTU_REPO
422
-                kms_repo_url = self.c_helper.KEY_TRUSTEE_UBUNTU_REPO_URL
423 426
 
424 427
                 cmd.write_ubuntu_repository(r, cdh5_repo_content, 'cdh')
425 428
                 cmd.add_apt_key(r, cdh5_key)
426 429
                 cmd.write_ubuntu_repository(r, cm5_repo_content, 'cm')
427 430
                 cmd.add_apt_key(r, cm5_key)
428
-                cmd.add_ubuntu_repository(r, kms_repo_url, 'kms')
429
-                cmd.add_apt_key(r, kms_key)
430 431
                 cmd.update_repository(r)
431 432
 
432 433
             if cmd.is_centos_os(r):
433 434
                 cdh5_repo_content = self.c_helper.CDH5_CENTOS_REPO
434 435
                 cm5_repo_content = self.c_helper.CM5_CENTOS_REPO
435
-                kms_repo_url = self.c_helper.KEY_TRUSTEE_CENTOS_REPO_URL
436
+                if self.c_helper.is_keytrustee_available():
437
+                    kms_repo_url = self.c_helper.KEY_TRUSTEE_CENTOS_REPO_URL
438
+                    cmd.add_centos_repository(r, kms_repo_url, 'kms')
436 439
 
437 440
                 cmd.write_centos_repository(r, cdh5_repo_content, 'cdh')
438 441
                 cmd.write_centos_repository(r, cm5_repo_content, 'cm')
439
-                cmd.add_centos_repository(r, kms_repo_url, 'kms')
440 442
                 cmd.update_repository(r)
441 443
 
442 444
     def _get_config_value(self, service, name, configs, cluster=None):

+ 0
- 0
sahara/plugins/cdh/v5_13_0/__init__.py View File


+ 28
- 0
sahara/plugins/cdh/v5_13_0/cloudera_utils.py View File

@@ -0,0 +1,28 @@
1
+# Copyright (c) 2016 Mirantis Inc.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+from sahara.plugins.cdh import cloudera_utils as cu
17
+from sahara.plugins.cdh.v5_13_0 import config_helper
18
+from sahara.plugins.cdh.v5_13_0 import plugin_utils as pu
19
+from sahara.plugins.cdh.v5_13_0 import validation
20
+
21
+
22
+class ClouderaUtilsV5130(cu.ClouderaUtils):
23
+
24
+    def __init__(self):
25
+        cu.ClouderaUtils.__init__(self)
26
+        self.pu = pu.PluginUtilsV5130()
27
+        self.validator = validation.ValidatorV5130
28
+        self.c_helper = config_helper.ConfigHelperV5130()

+ 89
- 0
sahara/plugins/cdh/v5_13_0/config_helper.py View File

@@ -0,0 +1,89 @@
1
+# Copyright (c) 2016 Mirantis Inc.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+from sahara.plugins.cdh import config_helper as c_h
17
+from sahara.plugins import provisioning as p
18
+from sahara.utils import files as f
19
+
20
+
21
+class ConfigHelperV5130(c_h.ConfigHelper):
22
+    path_to_config = 'plugins/cdh/v5_13_0/resources/'
23
+
24
+    CDH5_UBUNTU_REPO = (
25
+        'deb [arch=amd64] http://archive.cloudera.com/cdh5'
26
+        '/ubuntu/xenial/amd64/cdh trusty-cdh5.13.0 contrib'
27
+        '\ndeb-src http://archive.cloudera.com/cdh5/ubuntu'
28
+        '/xenial/amd64/cdh trusty-cdh5.13.0 contrib')
29
+
30
+    DEFAULT_CDH5_UBUNTU_REPO_KEY_URL = (
31
+        'http://archive.cloudera.com/cdh5/ubuntu'
32
+        '/xenial/amd64/cdh/archive.key')
33
+
34
+    CM5_UBUNTU_REPO = (
35
+        'deb [arch=amd64] http://archive.cloudera.com/cm5'
36
+        '/ubuntu/xenial/amd64/cm trusty-cm5.13.0 contrib'
37
+        '\ndeb-src http://archive.cloudera.com/cm5/ubuntu'
38
+        '/xenial/amd64/cm trusty-cm5.13.0 contrib')
39
+
40
+    DEFAULT_CM5_UBUNTU_REPO_KEY_URL = (
41
+        'http://archive.cloudera.com/cm5/ubuntu'
42
+        '/xenial/amd64/cm/archive.key')
43
+
44
+    CDH5_CENTOS_REPO = (
45
+        '[cloudera-cdh5]'
46
+        '\nname=Cloudera\'s Distribution for Hadoop, Version 5'
47
+        '\nbaseurl=http://archive.cloudera.com/cdh5/redhat/6'
48
+        '/x86_64/cdh/5.13.0/'
49
+        '\ngpgkey = http://archive.cloudera.com/cdh5/redhat/6'
50
+        '/x86_64/cdh/RPM-GPG-KEY-cloudera'
51
+        '\ngpgcheck = 1')
52
+
53
+    CM5_CENTOS_REPO = (
54
+        '[cloudera-manager]'
55
+        '\nname=Cloudera Manager'
56
+        '\nbaseurl=http://archive.cloudera.com/cm5/redhat/6'
57
+        '/x86_64/cm/5.13.0/'
58
+        '\ngpgkey = http://archive.cloudera.com/cm5/redhat/6'
59
+        '/x86_64/cm/RPM-GPG-KEY-cloudera'
60
+        '\ngpgcheck = 1')
61
+
62
+    DEFAULT_SWIFT_LIB_URL = (
63
+        'https://repository.cloudera.com/artifactory/repo/org'
64
+        '/apache/hadoop/hadoop-openstack/2.6.0-cdh5.13.0'
65
+        '/hadoop-openstack-2.6.0-cdh5.13.0.jar')
66
+
67
+    SWIFT_LIB_URL = p.Config(
68
+        'Hadoop OpenStack library URL', 'general', 'cluster', priority=1,
69
+        default_value=DEFAULT_SWIFT_LIB_URL,
70
+        description=("Library that adds Swift support to CDH. The file"
71
+                     " will be downloaded by VMs."))
72
+
73
+    HIVE_SERVER2_SENTRY_SAFETY_VALVE = f.get_file_text(
74
+        path_to_config + 'hive-server2-sentry-safety.xml')
75
+
76
+    HIVE_METASTORE_SENTRY_SAFETY_VALVE = f.get_file_text(
77
+        path_to_config + 'hive-metastore-sentry-safety.xml')
78
+
79
+    SENTRY_IMPALA_CLIENT_SAFETY_VALVE = f.get_file_text(
80
+        path_to_config + 'sentry-impala-client-safety.xml')
81
+
82
+    def is_keytrustee_available(self):
83
+        return False
84
+
85
+    def __init__(self):
86
+        super(ConfigHelperV5130, self).__init__()
87
+        self.priority_one_confs = self._load_json(
88
+            self.path_to_config + 'priority-one-confs.json')
89
+        self._init_all_ng_plugin_configs()

+ 168
- 0
sahara/plugins/cdh/v5_13_0/deploy.py View File

@@ -0,0 +1,168 @@
1
+# Copyright (c) 2016 Mirantis Inc.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+from sahara.i18n import _
17
+from sahara.plugins.cdh import commands as cmd
18
+from sahara.plugins.cdh import deploy as common_deploy
19
+from sahara.plugins.cdh.v5_13_0 import cloudera_utils as cu
20
+from sahara.plugins import utils as gu
21
+from sahara.service.edp import hdfs_helper as h
22
+from sahara.utils import cluster_progress_ops as cpo
23
+
24
+CU = cu.ClouderaUtilsV5130()
25
+
26
+PACKAGES = common_deploy.PACKAGES
27
+
28
+
29
+def configure_cluster(cluster):
30
+    instances = gu.get_instances(cluster)
31
+
32
+    if not cmd.is_pre_installed_cdh(CU.pu.get_manager(cluster).remote()):
33
+        CU.pu.configure_os(instances)
34
+        CU.pu.install_packages(instances, PACKAGES)
35
+
36
+    CU.pu.start_cloudera_agents(instances)
37
+    CU.pu.start_cloudera_manager(cluster)
38
+    CU.update_cloudera_password(cluster)
39
+    CU.configure_rack_awareness(cluster)
40
+    CU.await_agents(cluster, instances)
41
+    CU.create_mgmt_service(cluster)
42
+    CU.create_services(cluster)
43
+    CU.configure_services(cluster)
44
+    CU.configure_instances(instances, cluster)
45
+    CU.deploy_configs(cluster)
46
+
47
+
48
+@cpo.event_wrapper(
49
+    True, step=_("Start roles: NODEMANAGER, DATANODE"), param=('cluster', 0))
50
+def _start_roles(cluster, instances):
51
+    for instance in instances:
52
+        if 'HDFS_DATANODE' in instance.node_group.node_processes:
53
+            hdfs = CU.get_service_by_role('DATANODE', instance=instance)
54
+            CU.start_roles(hdfs, CU.pu.get_role_name(instance, 'DATANODE'))
55
+
56
+        if 'YARN_NODEMANAGER' in instance.node_group.node_processes:
57
+            yarn = CU.get_service_by_role('NODEMANAGER', instance=instance)
58
+            CU.start_roles(yarn, CU.pu.get_role_name(instance, 'NODEMANAGER'))
59
+
60
+
61
+def scale_cluster(cluster, instances):
62
+    if not instances:
63
+        return
64
+
65
+    if not cmd.is_pre_installed_cdh(instances[0].remote()):
66
+        CU.pu.configure_os(instances)
67
+        CU.pu.install_packages(instances, PACKAGES)
68
+
69
+    CU.pu.start_cloudera_agents(instances)
70
+    CU.await_agents(cluster, instances)
71
+    CU.configure_rack_awareness(cluster)
72
+    CU.configure_instances(instances, cluster)
73
+    CU.update_configs(instances)
74
+    common_deploy.prepare_scaling_kerberized_cluster(
75
+        cluster, CU, instances)
76
+
77
+    CU.pu.configure_swift(cluster, instances)
78
+    _start_roles(cluster, instances)
79
+    CU.refresh_datanodes(cluster)
80
+    CU.refresh_yarn_nodes(cluster)
81
+    CU.restart_stale_services(cluster)
82
+
83
+
84
+def decommission_cluster(cluster, instances):
85
+    dns = []
86
+    dns_to_delete = []
87
+    nms = []
88
+    nms_to_delete = []
89
+    for i in instances:
90
+        if 'HDFS_DATANODE' in i.node_group.node_processes:
91
+            dns.append(CU.pu.get_role_name(i, 'DATANODE'))
92
+            dns_to_delete.append(
93
+                CU.pu.get_role_name(i, 'HDFS_GATEWAY'))
94
+
95
+        if 'YARN_NODEMANAGER' in i.node_group.node_processes:
96
+            nms.append(CU.pu.get_role_name(i, 'NODEMANAGER'))
97
+            nms_to_delete.append(
98
+                CU.pu.get_role_name(i, 'YARN_GATEWAY'))
99
+
100
+    if dns:
101
+        CU.decommission_nodes(
102
+            cluster, 'DATANODE', dns, dns_to_delete)
103
+
104
+    if nms:
105
+        CU.decommission_nodes(
106
+            cluster, 'NODEMANAGER', nms, nms_to_delete)
107
+
108
+    CU.delete_instances(cluster, instances)
109
+
110
+    CU.refresh_datanodes(cluster)
111
+    CU.refresh_yarn_nodes(cluster)
112
+    CU.restart_stale_services(cluster)
113
+
114
+
115
+@cpo.event_wrapper(True, step=_("Prepare cluster"), param=('cluster', 0))
116
+def _prepare_cluster(cluster):
117
+    if CU.pu.get_oozie(cluster):
118
+        CU.pu.install_extjs(cluster)
119
+
120
+    if CU.pu.get_hive_metastore(cluster):
121
+        CU.pu.configure_hive(cluster)
122
+
123
+    if CU.pu.get_sentry(cluster):
124
+        CU.pu.configure_sentry(cluster)
125
+
126
+
127
+@cpo.event_wrapper(
128
+    True, step=_("Finish cluster starting"), param=('cluster', 0))
129
+def _finish_cluster_starting(cluster):
130
+    if CU.pu.get_hive_metastore(cluster):
131
+        CU.pu.put_hive_hdfs_xml(cluster)
132
+
133
+    server = CU.pu.get_hbase_master(cluster)
134
+    if CU.pu.c_helper.is_hbase_common_lib_enabled(cluster) and server:
135
+        with server.remote() as r:
136
+            h.create_hbase_common_lib(r)
137
+
138
+    if CU.pu.get_flumes(cluster):
139
+        flume = CU.get_service_by_role('AGENT', cluster)
140
+        CU.start_service(flume)
141
+
142
+
143
+def start_cluster(cluster):
144
+    _prepare_cluster(cluster)
145
+
146
+    CU.first_run(cluster)
147
+
148
+    CU.pu.configure_swift(cluster)
149
+
150
+    if len(CU.pu.get_jns(cluster)) > 0:
151
+        CU.enable_namenode_ha(cluster)
152
+        # updating configs for NameNode role on needed nodes
153
+        CU.update_role_config(CU.pu.get_secondarynamenode(cluster),
154
+                              'HDFS_NAMENODE')
155
+
156
+    if CU.pu.get_stdb_rm(cluster):
157
+        CU.enable_resourcemanager_ha(cluster)
158
+        # updating configs for ResourceManager on needed nodes
159
+        CU.update_role_config(CU.pu.get_stdb_rm(cluster), 'YARN_STANDBYRM')
160
+
161
+    _finish_cluster_starting(cluster)
162
+
163
+    common_deploy.setup_kerberos_for_cluster(cluster, CU)
164
+
165
+
166
+def get_open_ports(node_group):
167
+    ports = common_deploy.get_open_ports(node_group)
168
+    return ports

+ 47
- 0
sahara/plugins/cdh/v5_13_0/edp_engine.py View File

@@ -0,0 +1,47 @@
1
+# Copyright (c) 2016 Mirantis Inc.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+from sahara.plugins.cdh import confighints_helper as ch_helper
17
+from sahara.plugins.cdh import edp_engine
18
+from sahara.plugins.cdh.v5_13_0 import cloudera_utils as cu
19
+from sahara.service.edp.oozie import engine as oozie_engine
20
+from sahara.utils import edp
21
+
22
+
23
+class EdpOozieEngine(edp_engine.EdpOozieEngine):
24
+
25
+    def __init__(self, cluster):
26
+        super(EdpOozieEngine, self).__init__(cluster)
27
+        self.cloudera_utils = cu.ClouderaUtilsV5130()
28
+
29
+    @staticmethod
30
+    def get_possible_job_config(job_type):
31
+        if edp.compare_job_type(job_type, edp.JOB_TYPE_HIVE):
32
+            return {'job_config': ch_helper.get_possible_hive_config_from(
33
+                    'plugins/cdh/v5_13_0/resources/hive-site.xml')}
34
+        if edp.compare_job_type(job_type,
35
+                                edp.JOB_TYPE_MAPREDUCE,
36
+                                edp.JOB_TYPE_MAPREDUCE_STREAMING):
37
+            return {'job_config': ch_helper.get_possible_mapreduce_config_from(
38
+                    'plugins/cdh/v5_13_0/resources/mapred-site.xml')}
39
+        if edp.compare_job_type(job_type, edp.JOB_TYPE_PIG):
40
+            return {'job_config': ch_helper.get_possible_pig_config_from(
41
+                    'plugins/cdh/v5_13_0/resources/mapred-site.xml')}
42
+        return oozie_engine.OozieJobEngine.get_possible_job_config(job_type)
43
+
44
+
45
+class EdpSparkEngine(edp_engine.EdpSparkEngine):
46
+
47
+    edp_base_version = "5.13.0"

+ 43
- 0
sahara/plugins/cdh/v5_13_0/images.py View File

@@ -0,0 +1,43 @@
1
+# Copyright (c) 2016 Red Hat, Inc.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+from sahara.plugins import images
17
+from sahara.plugins import utils as plugin_utils
18
+
19
+
20
+_validator = images.SaharaImageValidator.from_yaml(
21
+    'plugins/cdh/v5_13_0/resources/images/image.yaml',
22
+    resource_roots=['plugins/cdh/v5_13_0/resources/images'])
23
+
24
+
25
+def get_image_arguments():
26
+    return _validator.get_argument_list()
27
+
28
+
29
+def pack_image(remote, test_only=False, image_arguments=None):
30
+    _validator.validate(remote, test_only=test_only,
31
+                        image_arguments=image_arguments)
32
+
33
+
34
+def validate_images(cluster, test_only=False, image_arguments=None):
35
+    image_arguments = get_image_arguments()
36
+    if not test_only:
37
+        instances = plugin_utils.get_instances(cluster)
38
+    else:
39
+        instances = plugin_utils.get_instances(cluster)[0]
40
+    for instance in instances:
41
+        with instance.remote() as r:
42
+            _validator.validate(r, test_only=test_only,
43
+                                image_arguments=image_arguments)

+ 23
- 0
sahara/plugins/cdh/v5_13_0/plugin_utils.py View File

@@ -0,0 +1,23 @@
1
+# Copyright (c) 2016 Mirantis Inc.
2
+#
3
+# Licensed under the Apache License, Version 2.0 (the "License");
4
+# you may not use this file except in compliance with the License.
5
+# You may obtain a copy of the License at
6
+#
7
+#    http://www.apache.org/licenses/LICENSE-2.0
8
+#
9
+# Unless required by applicable law or agreed to in writing, software
10
+# distributed under the License is distributed on an "AS IS" BASIS,
11
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12
+# implied.
13
+# See the License for the specific language governing permissions and
14
+# limitations under the License.
15
+
16
+from sahara.plugins.cdh import plugin_utils as pu
17
+from sahara.plugins.cdh.v5_13_0 import config_helper
18
+
19
+
20
+class PluginUtilsV5130(pu.AbstractPluginUtils):
21
+
22
+    def __init__(self):
23
+        self.c_helper = config_helper.ConfigHelperV5130()

+ 68
- 0
sahara/plugins/cdh/v5_13_0/resources/cdh_config.py View File

@@ -0,0 +1,68 @@
1
+#!/usr/bin/env python
2
+# Copyright (c) 2017 Massachusetts Open Cloud
3
+#
4
+# Licensed under the Apache License, Version 2.0 (the "License");
5
+# you may not use this file except in compliance with the License.
6
+# You may obtain a copy of the License at
7
+#
8
+#    http://www.apache.org/licenses/LICENSE-2.0
9
+#
10
+# Unless required by applicable law or agreed to in writing, software
11
+# distributed under the License is distributed on an "AS IS" BASIS,
12
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13
+# implied.
14
+# See the License for the specific language governing permissions and
15
+# limitations under the License.
16
+
17
+from cm_api.api_client import ApiResource
18
+
19
+cloudera_user = 'cloudera'
20
+cloudera_pass = 'cloudera'
21
+cm_host = "localhost"
22
+api = ApiResource(cm_host,
23
+                  username=cloudera_user, password=cloudera_pass,  # nosec
24
+                  version=17)
25
+
26
+c = api.get_all_clusters()[0]
27
+services = c.get_all_services()
28
+
29
+
30
+def process_service(service):
31
+    service_name = service.name
32
+    if service_name == "spark_on_yarn":
33
+        service_name = "spark"
34
+    for role_cfgs in service.get_all_role_config_groups():
35
+        role_cm_cfg = role_cfgs.get_config(view='full')
36
+        role_cfg = parse_config(role_cm_cfg)
37
+        role_name = role_cfgs.roleType.lower()
38
+        write_cfg(role_cfg, '%s-%s.json' % (service_name, role_name))
39
+
40
+    service_cm_cfg = service.get_config(view='full')[0]
41
+    service_cfg = parse_config(service_cm_cfg)
42
+    write_cfg(service_cfg, '%s-service.json' % service_name)
43
+
44
+
45
+def parse_config(config):
46
+    cfg = []
47
+    for name, value in config.items():
48
+        p = {
49
+            'name': value.name,
50
+            'value': value.default,
51
+            'display_name': value.displayName,
52
+            'desc': value.description
53
+        }
54
+        cfg.append(p)
55
+
56
+    return cfg
57
+
58
+
59
+def write_cfg(cfg, file_name):
60
+    to_write = __import__('json').dumps(cfg, sort_keys=True, indent=4,
61
+                                        separators=(',', ': '))
62
+
63
+    with open(file_name, 'w') as f:
64
+        f.write(to_write)
65
+
66
+if __name__ == '__main__':
67
+    for service in services:
68
+        process_service(service)

+ 440
- 0
sahara/plugins/cdh/v5_13_0/resources/flume-agent.json
File diff suppressed because it is too large
View File


+ 164
- 0
sahara/plugins/cdh/v5_13_0/resources/flume-service.json View File

@@ -0,0 +1,164 @@
1
+[
2
+    {
3
+        "desc": "Name of the HBase service that this Flume service instance depends on",
4
+        "display_name": "HBase Service",
5
+        "name": "hbase_service",
6
+        "value": null
7
+    },
8
+    {
9
+        "desc": "The location on disk of the trust store, in .jks format, used to confirm the authenticity of TLS/SSL servers that Flume might connect to. This is used when Flume is the client in a TLS/SSL connection. This trust store must contain the certificate(s) used to sign the service(s) connected to. If this parameter is not provided, the default list of well-known certificate authorities is used instead.",
10
+        "display_name": "Flume TLS/SSL Certificate Trust Store File",
11
+        "name": "flume_truststore_file",
12
+        "value": null
13
+    },
14
+    {
15
+        "desc": "Whether to suppress the results of the Agent Health heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
16
+        "display_name": "Suppress Health Test: Agent Health",
17
+        "name": "service_health_suppression_flume_agents_healthy",
18
+        "value": "false"
19
+    },
20
+    {
21
+        "desc": "The user that this service's processes should run as.",
22
+        "display_name": "System User",
23
+        "name": "process_username",
24
+        "value": "flume"
25
+    },
26
+    {
27
+        "desc": "Name of the HDFS service that this Flume service instance depends on",
28
+        "display_name": "HDFS Service",
29
+        "name": "hdfs_service",
30
+        "value": null
31
+    },
32
+    {
33
+        "desc": "Whether to suppress configuration warnings produced by the Agent Count Validator configuration validator.",
34
+        "display_name": "Suppress Configuration Validator: Agent Count Validator",
35
+        "name": "service_config_suppression_agent_count_validator",
36
+        "value": "false"
37
+    },
38
+    {
39
+        "desc": "Name of the Solr service that this Flume service instance depends on",
40
+        "display_name": "Solr Service",
41
+        "name": "solr_service",
42
+        "value": null
43
+    },
44
+    {
45
+        "desc": "For advanced use only, key-value pairs (one on each line) to be inserted into a role's environment. Applies to configurations of all roles in this service except client configuration.",
46
+        "display_name": "Flume Service Environment Advanced Configuration Snippet (Safety Valve)",
47
+        "name": "flume_env_safety_valve",
48
+        "value": null
49
+    },
50
+    {
51
+        "desc": "Sets the maximum number of Flume components that will be returned under Flume Metric Details. Increasing this value will negatively impact the interactive performance of the Flume Metrics Details page.",
52
+        "display_name": "Maximum displayed Flume metrics components",
53
+        "name": "flume_context_groups_request_limit",
54
+        "value": "1000"
55
+    },
56
+    {
57
+        "desc": "Kerberos principal short name used by all roles of this service.",
58
+        "display_name": "Kerberos Principal",
59
+        "name": "kerberos_princ_name",
60
+        "value": "flume"
61
+    },
62
+    {
63
+        "desc": "The health test thresholds of the overall Agent health. The check returns \"Concerning\" health if the percentage of \"Healthy\" Agents falls below the warning threshold. The check is unhealthy if the total percentage of \"Healthy\" and \"Concerning\" Agents falls below the critical threshold.",
64
+        "display_name": "Healthy Agent Monitoring Thresholds",
65
+        "name": "flume_agents_healthy_thresholds",
66
+        "value": "{\"critical\":\"never\",\"warning\":\"95.0\"}"
67
+    },
68
+    {
69
+        "desc": "The group that this service's processes should run as.",
70
+        "display_name": "System Group",
71
+        "name": "process_groupname",
72
+        "value": "flume"
73
+    },
74
+    {
75
+        "desc": "When set, Cloudera Manager will send alerts when this entity's configuration changes.",
76
+        "display_name": "Enable Configuration Change Alerts",
77
+        "name": "enable_config_alerts",
78
+        "value": "false"
79
+    },
80
+    {
81
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Service Triggers parameter.",
82
+        "display_name": "Suppress Parameter Validation: Service Triggers",
83
+        "name": "service_config_suppression_service_triggers",
84
+        "value": "false"
85
+    },
86
+    {
87
+        "desc": "The frequency in which the log4j event publication appender will retry sending undelivered log events to the Event server, in seconds",
88
+        "display_name": "Log Event Retry Frequency",
89
+        "name": "log_event_retry_frequency",
90
+        "value": "30"
91
+    },
92
+    {
93
+        "desc": "<p>The configured triggers for this service. This is a JSON-formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed.</p><p>Each trigger has the following fields:</p><ul><li><code>triggerName</code> <b>(mandatory)</b> - The name of the trigger. This value must be unique for the specific service. </li><li><code>triggerExpression</code> <b>(mandatory)</b> - A tsquery expression representing the trigger. </li><li><code>streamThreshold</code> <b>(optional)</b> - The maximum number of streams that can satisfy a condition of a trigger before the condition fires. By default set to 0, and any stream returned causes the condition to fire. </li><li><code>enabled</code> <b> (optional)</b> - By default set to 'true'. If set to 'false', the trigger is not evaluated.</li><li><code>expressionEditorConfig</code> <b> (optional)</b> - Metadata for the trigger editor. If present, the trigger should only be edited from the Edit Trigger page; editing the trigger here can lead to inconsistencies.</li></ul><p>For example, the followig JSON formatted trigger fires if there are more than 10 DataNodes with more than 500 file descriptors opened:</p><p><pre>[{\"triggerName\": \"sample-trigger\",\n  \"triggerExpression\": \"IF (SELECT fd_open WHERE roleType = DataNode and last(fd_open) > 500) DO health:bad\",\n  \"streamThreshold\": 10, \"enabled\": \"true\"}]</pre></p><p>See the trigger rules documentation for more details on how to write triggers using tsquery.</p><p>The JSON format is evolving and may change and, as a result, backward compatibility is not guaranteed between releases.</p>",
94
+        "display_name": "Service Triggers",
95
+        "name": "service_triggers",
96
+        "value": "[]"
97
+    },
98
+    {
99
+        "desc": "When set, each role identifies important log events and forwards them to Cloudera Manager.",
100
+        "display_name": "Enable Log Event Capture",
101
+        "name": "catch_events",
102
+        "value": "true"
103
+    },
104
+    {
105
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the System User parameter.",
106
+        "display_name": "Suppress Parameter Validation: System User",
107
+        "name": "service_config_suppression_process_username",
108
+        "value": "false"
109
+    },
110
+    {
111
+        "desc": "When set, Cloudera Manager will send alerts when the health of this service reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold",
112
+        "display_name": "Enable Service Level Health Alerts",
113
+        "name": "enable_alerts",
114
+        "value": "true"
115
+    },
116
+    {
117
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kerberos Principal parameter.",
118
+        "display_name": "Suppress Parameter Validation: Kerberos Principal",
119
+        "name": "service_config_suppression_kerberos_princ_name",
120
+        "value": "false"
121
+    },
122
+    {
123
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the System Group parameter.",
124
+        "display_name": "Suppress Parameter Validation: System Group",
125
+        "name": "service_config_suppression_process_groupname",
126
+        "value": "false"
127
+    },
128
+    {
129
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Flume TLS/SSL Certificate Trust Store Password parameter.",
130
+        "display_name": "Suppress Parameter Validation: Flume TLS/SSL Certificate Trust Store Password",
131
+        "name": "service_config_suppression_flume_truststore_password",
132
+        "value": "false"
133
+    },
134
+    {
135
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Service Monitor Derived Configs Advanced Configuration Snippet (Safety Valve) parameter.",
136
+        "display_name": "Suppress Parameter Validation: Service Monitor Derived Configs Advanced Configuration Snippet (Safety Valve)",
137
+        "name": "service_config_suppression_smon_derived_configs_safety_valve",
138
+        "value": "false"
139
+    },
140
+    {
141
+        "desc": "The password for the Flume TLS/SSL Certificate Trust Store File. This password is not required to access the trust store; this field can be left blank. This password provides optional integrity checking of the file. The contents of trust stores are certificates, and certificates are public information.",
142
+        "display_name": "Flume TLS/SSL Certificate Trust Store Password",
143
+        "name": "flume_truststore_password",
144
+        "value": null
145
+    },
146
+    {
147
+        "desc": "For advanced use only, a list of derived configuration properties that will be used by the Service Monitor instead of the default ones.",
148
+        "display_name": "Service Monitor Derived Configs Advanced Configuration Snippet (Safety Valve)",
149
+        "name": "smon_derived_configs_safety_valve",
150
+        "value": null
151
+    },
152
+    {
153
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Flume TLS/SSL Certificate Trust Store File parameter.",
154
+        "display_name": "Suppress Parameter Validation: Flume TLS/SSL Certificate Trust Store File",
155
+        "name": "service_config_suppression_flume_truststore_file",
156
+        "value": "false"
157
+    },
158
+    {
159
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Flume Service Environment Advanced Configuration Snippet (Safety Valve) parameter.",
160
+        "display_name": "Suppress Parameter Validation: Flume Service Environment Advanced Configuration Snippet (Safety Valve)",
161
+        "name": "service_config_suppression_flume_env_safety_valve",
162
+        "value": "false"
163
+    }
164
+]

+ 122
- 0
sahara/plugins/cdh/v5_13_0/resources/hbase-gateway.json View File

@@ -0,0 +1,122 @@
1
+[
2
+    {
3
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Deploy Directory parameter.",
4
+        "display_name": "Suppress Parameter Validation: Deploy Directory",
5
+        "name": "role_config_suppression_client_config_root_dir",
6
+        "value": "false"
7
+    },
8
+    {
9
+        "desc": "Scanner Timeout, in milliseconds, for HBase Clients. Scanner related RPCs will apply this timeout against the RegionServers they talk to.",
10
+        "display_name": "HBase Client Scanner Timeout",
11
+        "name": "hbase_client_scanner_timeout_period",
12
+        "value": "60000"
13
+    },
14
+    {
15
+        "desc": "For advanced use only, a string to be inserted into <strong>log4j.properties</strong> for this role only.",
16
+        "display_name": "Gateway Logging Advanced Configuration Snippet (Safety Valve)",
17
+        "name": "log4j_safety_valve",
18
+        "value": null
19
+    },
20
+    {
21
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Client Advanced Configuration Snippet (Safety Valve) for hbase-site.xml parameter.",
22
+        "display_name": "Suppress Parameter Validation: HBase Client Advanced Configuration Snippet (Safety Valve) for hbase-site.xml",
23
+        "name": "role_config_suppression_hbase_client_config_safety_valve",
24
+        "value": "false"
25
+    },
26
+    {
27
+        "desc": "For advanced use only, a string to be inserted into the client configuration for <strong>hbase-site.xml</strong>.",
28
+        "display_name": "HBase Client Advanced Configuration Snippet (Safety Valve) for hbase-site.xml",
29
+        "name": "hbase_client_config_safety_valve",
30
+        "value": null
31
+    },
32
+    {
33
+        "desc": "If a multiget operation is performed with 'Consistency.TIMELINE', the read RPC is sent to the primary RegionServer first. After this timeout, a parallel RPC for secondary region replicas is also sent if the primary does not respond. After this, the result is returned from whichever RPC is finished first. If the response returns from the primary region replica, that the data is the most recent. Result.isStale() API has been added to inspect the staleness. If the result is from a secondary region, Result.isStale() is set to true.",
34
+        "display_name": "HBase Client Multiget Timeout For Secondary Region Replicas",
35
+        "name": "hbase_client_primaryCallTimeout_multiget",
36
+        "value": "10"
37
+    },
38
+    {
39
+        "desc": "The directory where the client configs will be deployed",
40
+        "display_name": "Deploy Directory",
41
+        "name": "client_config_root_dir",
42
+        "value": "/etc/hbase"
43
+    },
44
+    {
45
+        "desc": "Whether to enable interruption of RPC threads at the client. The default value of true enables primary RegionServers to access data from other regions' secondary replicas.",
46
+        "display_name": "Enable Client RPC Threads Interruption",
47
+        "name": "hbase_ipc_client_allowsInterrupt",
48
+        "value": "true"
49
+    },
50
+    {
51
+        "desc": "For advanced use only, key-value pairs (one on each line) to be inserted into the client configuration for <strong>hbase-env.sh</strong>",
52
+        "display_name": "HBase Client Environment Advanced Configuration Snippet (Safety Valve) for hbase-env.sh",
53
+        "name": "hbase_client_env_safety_valve",
54
+        "value": null
55
+    },
56
+    {
57
+        "desc": "The priority level that the client configuration will have in the Alternatives system on the hosts. Higher priority levels will cause Alternatives to prefer this configuration over any others.",
58
+        "display_name": "Alternatives Priority",
59
+        "name": "client_config_priority",
60
+        "value": "90"
61
+    },
62
+    {
63
+        "desc": "When set, Cloudera Manager will send alerts when this entity's configuration changes.",
64
+        "display_name": "Enable Configuration Change Alerts",
65
+        "name": "enable_config_alerts",
66
+        "value": "false"
67
+    },
68
+    {
69
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Client Environment Advanced Configuration Snippet (Safety Valve) for hbase-env.sh parameter.",
70
+        "display_name": "Suppress Parameter Validation: HBase Client Environment Advanced Configuration Snippet (Safety Valve) for hbase-env.sh",
71
+        "name": "role_config_suppression_hbase_client_env_safety_valve",
72
+        "value": "false"
73
+    },
74
+    {
75
+        "desc": "Whether to suppress configuration warnings produced by the HBase Client Scanner Timeout exceeds Lease Period Validator configuration validator.",
76
+        "display_name": "Suppress Configuration Validator: HBase Client Scanner Timeout exceeds Lease Period Validator",
77
+        "name": "role_config_suppression_client_server_scanner_rpc_timeout_validator",
78
+        "value": "false"
79
+    },
80
+    {
81
+        "desc": "If a get operation is performed with 'Consistency.TIMELINE', the read RPC is sent to the primary RegionServer first. After this timeout, parallel RPC for secondary region replicas is also sent if the primary does not respond. After this, the result is returned from whichever RPC is finished first. If the response returns from the primary region replica, that data is the most recent. Result.isStale() API has been added to inspect the staleness. If the result is from a secondary region, Result.isStale() is set to true.",
82
+        "display_name": "HBase Client Get Timeout For Secondary Region Replicas",
83
+        "name": "hbase_client_primaryCallTimeout_get",
84
+        "value": "10"
85
+    },
86
+    {
87
+        "desc": "Whether to suppress configuration warnings produced by the CDH Version Validator configuration validator.",
88
+        "display_name": "Suppress Configuration Validator: CDH Version Validator",
89
+        "name": "role_config_suppression_cdh_version_validator",
90
+        "value": "false"
91
+    },
92
+    {
93
+        "desc": "These are Java command-line arguments. Commonly, garbage collection flags, PermGen, or extra debugging flags would be passed here.",
94
+        "display_name": "Client Java Configuration Options",
95
+        "name": "hbase_client_java_opts",
96
+        "value": "-XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Djava.net.preferIPv4Stack=true"
97
+    },
98
+    {
99
+        "desc": "Maximum size in bytes for the Java process heap memory.  Passed to Java -Xmx.",
100
+        "display_name": "Client Java Heap Size in Bytes",
101
+        "name": "hbase_client_java_heapsize",
102
+        "value": "268435456"
103
+    },
104
+    {
105
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Gateway Logging Advanced Configuration Snippet (Safety Valve) parameter.",
106
+        "display_name": "Suppress Parameter Validation: Gateway Logging Advanced Configuration Snippet (Safety Valve)",
107
+        "name": "role_config_suppression_log4j_safety_valve",
108
+        "value": "false"
109
+    },
110
+    {
111
+        "desc": "The minimum log level for Gateway logs",
112
+        "display_name": "Gateway Logging Threshold",
113
+        "name": "log_threshold",
114
+        "value": "INFO"
115
+    },
116
+    {
117
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Client Java Configuration Options parameter.",
118
+        "display_name": "Suppress Parameter Validation: Client Java Configuration Options",
119
+        "name": "role_config_suppression_hbase_client_java_opts",
120
+        "value": "false"
121
+    }
122
+]

+ 452
- 0
sahara/plugins/cdh/v5_13_0/resources/hbase-hbaserestserver.json View File

@@ -0,0 +1,452 @@
1
+[
2
+    {
3
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Log Directory Free Space Monitoring Absolute Thresholds setting is configured.",
4
+        "display_name": "Log Directory Free Space Monitoring Percentage Thresholds",
5
+        "name": "log_directory_free_space_percentage_thresholds",
6
+        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
7
+    },
8
+    {
9
+        "desc": "<p>This file contains the rules that govern how log messages are turned into events by the custom log4j appender that this role loads. It is in JSON format, and is composed of a list of rules. Every log message is evaluated against each of these rules in turn to decide whether or not to send an event for that message. If a log message matches multiple rules, the first matching rule is used. </p><p>Each rule has some or all of the following fields:</p><ul><li><code>alert</code> - whether or not events generated from this rule should be promoted to alerts. A value of \"true\" will cause alerts to be generated. If not specified, the default is \"false\".</li><li><code>rate</code> <b>(mandatory)</b> - the maximum number of log messages matching this rule that can be sent as events every minute. If more than <code>rate</code> matching log messages are received in a single minute, the extra messages are ignored. If rate is less than 0, the number of messages per minute is unlimited.</li><li><code>periodminutes</code>  - the number of minutes during which the publisher will only publish <code>rate</code> events or fewer. If not specified, the default is <b>one minute</b></li><li><code>threshold</code> - apply this rule only to messages with this log4j severity level or above. An example is \"WARN\" for warning level messages or higher.</li><li><code>content</code> - match only those messages for which contents match this regular expression.</li><li><code>exceptiontype</code> - match only those messages that are part of an exception message. The exception type must match this regular expression.</li></ul><p>Example:</p><ul><li><pre>{\"alert\": false, \"rate\": 10, \"exceptiontype\": \"java.lang.StringIndexOutOfBoundsException\"}</pre>This rule sends events to Cloudera Manager for every <code>StringIndexOutOfBoundsException</code>, up to a maximum of 10 every minute.</li><li><pre>{\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"exceptiontype\": \".*\"}, {\"alert\": true, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"ERROR\"}</pre>In this example, an event generated may not be promoted to alert if an exception is in the ERROR log message, because the first rule with alert = false will match.</li></ul>",
10
+        "display_name": "Rules to Extract Events from Log Files",
11
+        "name": "log_event_whitelist",
12
+        "value": "{\n  \"version\": \"0\",\n  \"rules\": [\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"FATAL\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 2, \"exceptiontype\": \".*\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\"}\n  ]\n}"
13
+    },
14
+    {
15
+        "desc": "These arguments will be passed as part of the Java command line. Commonly, garbage collection flags, PermGen, or extra debugging flags would be passed here.",
16
+        "display_name": "Java Configuration Options for HBase REST Server",
17
+        "name": "hbase_restserver_java_opts",
18
+        "value": "-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled"
19
+    },
20
+    {
21
+        "desc": "Whether or not periodic stacks collection is enabled.",
22
+        "display_name": "Stacks Collection Enabled",
23
+        "name": "stacks_collection_enabled",
24
+        "value": "false"
25
+    },
26
+    {
27
+        "desc": "If configured, overrides the process soft and hard rlimits (also called ulimits) for file descriptors to the configured value.",
28
+        "display_name": "Maximum Process File Descriptors",
29
+        "name": "rlimit_fds",
30
+        "value": null
31
+    },
32
+    {
33
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server TLS/SSL Server JKS Keystore File Location parameter.",
34
+        "display_name": "Suppress Parameter Validation: HBase REST Server TLS/SSL Server JKS Keystore File Location",
35
+        "name": "role_config_suppression_hbase_restserver_keystore_file",
36
+        "value": "false"
37
+    },
38
+    {
39
+        "desc": "Maximum size of the HBase REST Server thread pool. The server can process this number of concurrent requests. Setting this too high can lead to out of memory errors.",
40
+        "display_name": "HBase REST Server Maximum Threads",
41
+        "name": "hbase_restserver_threads_max",
42
+        "value": "100"
43
+    },
44
+    {
45
+        "desc": "The health test thresholds of the number of file descriptors used. Specified as a percentage of file descriptor limit.",
46
+        "display_name": "File Descriptor Monitoring Thresholds",
47
+        "name": "hbaserestserver_fd_thresholds",
48
+        "value": "{\"critical\":\"70.0\",\"warning\":\"50.0\"}"
49
+    },
50
+    {
51
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server Log Directory parameter.",
52
+        "display_name": "Suppress Parameter Validation: HBase REST Server Log Directory",
53
+        "name": "role_config_suppression_hbase_restserver_log_dir",
54
+        "value": "false"
55
+    },
56
+    {
57
+        "desc": "For advanced use only, key-value pairs (one on each line) to be inserted into a role's environment. Applies to configurations of this role except client configuration.",
58
+        "display_name": "HBase REST Server Environment Advanced Configuration Snippet (Safety Valve)",
59
+        "name": "HBASERESTSERVER_role_env_safety_valve",
60
+        "value": null
61
+    },
62
+    {
63
+        "desc": "Weight for the read I/O requests issued by this role. The greater the weight, the higher the priority of the requests when the host experiences I/O contention. Must be between 100 and 1000. Defaults to 1000 for processes not managed by Cloudera Manager.",
64
+        "display_name": "Cgroup I/O Weight",
65
+        "name": "rm_io_weight",
66
+        "value": "500"
67
+    },
68
+    {
69
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server Advanced Configuration Snippet (Safety Valve) for hbase-site.xml parameter.",
70
+        "display_name": "Suppress Parameter Validation: HBase REST Server Advanced Configuration Snippet (Safety Valve) for hbase-site.xml",
71
+        "name": "role_config_suppression_hbase_restserver_config_safety_valve",
72
+        "value": "false"
73
+    },
74
+    {
75
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server TLS/SSL Server JKS Keystore File Password parameter.",
76
+        "display_name": "Suppress Parameter Validation: HBase REST Server TLS/SSL Server JKS Keystore File Password",
77
+        "name": "role_config_suppression_hbase_restserver_keystore_password",
78
+        "value": "false"
79
+    },
80
+    {
81
+        "desc": "The frequency with which stacks are collected.",
82
+        "display_name": "Stacks Collection Frequency",
83
+        "name": "stacks_collection_frequency",
84
+        "value": "5.0"
85
+    },
86
+    {
87
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory.",
88
+        "display_name": "Heap Dump Directory Free Space Monitoring Absolute Thresholds",
89
+        "name": "heap_dump_directory_free_space_absolute_thresholds",
90
+        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
91
+    },
92
+    {
93
+        "desc": "The health test thresholds for unexpected exits encountered within a recent period specified by the unexpected_exits_window configuration for the role.",
94
+        "display_name": "Unexpected Exits Thresholds",
95
+        "name": "unexpected_exits_thresholds",
96
+        "value": "{\"critical\":\"any\",\"warning\":\"never\"}"
97
+    },
98
+    {
99
+        "desc": "The health test thresholds on the swap memory usage of the process.",
100
+        "display_name": "Process Swap Memory Thresholds",
101
+        "name": "process_swap_memory_thresholds",
102
+        "value": "{\"critical\":\"never\",\"warning\":\"any\"}"
103
+    },
104
+    {
105
+        "desc": "The method used to collect stacks. The jstack option involves periodically running the jstack command against the role's daemon process. The servlet method is available for those roles that have an HTTP server endpoint exposing the current stacks traces of all threads. When the servlet method is selected, that HTTP endpoint is periodically scraped.",
106
+        "display_name": "Stacks Collection Method",
107
+        "name": "stacks_collection_method",
108
+        "value": "jstack"
109
+    },
110
+    {
111
+        "desc": "Whether to suppress the results of the Audit Pipeline Test heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
112
+        "display_name": "Suppress Health Test: Audit Pipeline Test",
113
+        "name": "role_health_suppression_hbase_rest_server_audit_health",
114
+        "value": "false"
115
+    },
116
+    {
117
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server Environment Advanced Configuration Snippet (Safety Valve) parameter.",
118
+        "display_name": "Suppress Parameter Validation: HBase REST Server Environment Advanced Configuration Snippet (Safety Valve)",
119
+        "name": "role_config_suppression_hbaserestserver_role_env_safety_valve",
120
+        "value": "false"
121
+    },
122
+    {
123
+        "desc": "For advanced use only. A string to be inserted into <strong>hbase-site.xml</strong> for this role only.",
124
+        "display_name": "HBase REST Server Advanced Configuration Snippet (Safety Valve) for hbase-site.xml",
125
+        "name": "hbase_restserver_config_safety_valve",
126
+        "value": null
127
+    },
128
+    {
129
+        "desc": "The password for the HBase REST Server JKS keystore file.",
130
+        "display_name": "HBase REST Server TLS/SSL Server JKS Keystore File Password",
131
+        "name": "hbase_restserver_keystore_password",
132
+        "value": null
133
+    },
134
+    {
135
+        "desc": "The maximum number of rolled log files to keep for HBase REST Server logs.  Typically used by log4j or logback.",
136
+        "display_name": "HBase REST Server Maximum Log File Backups",
137
+        "name": "max_log_backup_index",
138
+        "value": "10"
139
+    },
140
+    {
141
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server Logging Advanced Configuration Snippet (Safety Valve) parameter.",
142
+        "display_name": "Suppress Parameter Validation: HBase REST Server Logging Advanced Configuration Snippet (Safety Valve)",
143
+        "name": "role_config_suppression_log4j_safety_valve",
144
+        "value": "false"
145
+    },
146
+    {
147
+        "desc": "Whether to suppress the results of the Process Status heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
148
+        "display_name": "Suppress Health Test: Process Status",
149
+        "name": "role_health_suppression_hbase_rest_server_scm_health",
150
+        "value": "false"
151
+    },
152
+    {
153
+        "desc": "Soft memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process if and only if the host is facing memory pressure. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
154
+        "display_name": "Cgroup Memory Soft Limit",
155
+        "name": "rm_memory_soft_limit",
156
+        "value": "-1"
157
+    },
158
+    {
159
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory.",
160
+        "display_name": "Log Directory Free Space Monitoring Absolute Thresholds",
161
+        "name": "log_directory_free_space_absolute_thresholds",
162
+        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
163
+    },
164
+    {
165
+        "desc": "Maximum size in bytes for the Java Process heap memory.  Passed to Java -Xmx.",
166
+        "display_name": "Java Heap Size of HBase REST Server in Bytes",
167
+        "name": "hbase_restserver_java_heapsize",
168
+        "value": "1073741824"
169
+    },
170
+    {
171
+        "desc": "Whether to suppress the results of the Heap Dump Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
172
+        "display_name": "Suppress Health Test: Heap Dump Directory Free Space",
173
+        "name": "role_health_suppression_hbase_rest_server_heap_dump_directory_free_space",
174
+        "value": "false"
175
+    },
176
+    {
177
+        "desc": "When set, this role's process is automatically (and transparently) restarted in the event of an unexpected failure.",
178
+        "display_name": "Automatically Restart Process",
179
+        "name": "process_auto_restart",
180
+        "value": "false"
181
+    },
182
+    {
183
+        "desc": "Encrypt communication between clients and HBase REST Server using Transport Layer Security (TLS) (formerly known as Secure Socket Layer (SSL)).",
184
+        "display_name": "Enable TLS/SSL for HBase REST Server",
185
+        "name": "hbase_restserver_ssl_enable",
186
+        "value": "false"
187
+    },
188
+    {
189
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Rules to Extract Events from Log Files parameter.",
190
+        "display_name": "Suppress Parameter Validation: Rules to Extract Events from Log Files",
191
+        "name": "role_config_suppression_log_event_whitelist",
192
+        "value": "false"
193
+    },
194
+    {
195
+        "desc": "Enables the health test that the HBase REST Server's process state is consistent with the role configuration",
196
+        "display_name": "HBase REST Server Process Health Test",
197
+        "name": "hbaserestserver_scm_health_enabled",
198
+        "value": "true"
199
+    },
200
+    {
201
+        "desc": "The port that HBase REST Server binds to.",
202
+        "display_name": "HBase REST Server Port",
203
+        "name": "hbase_restserver_port",
204
+        "value": "20550"
205
+    },
206
+    {
207
+        "desc": "Hard memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
208
+        "display_name": "Cgroup Memory Hard Limit",
209
+        "name": "rm_memory_hard_limit",
210
+        "value": "-1"
211
+    },
212
+    {
213
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server DNS Name Server parameter.",
214
+        "display_name": "Suppress Parameter Validation: HBase REST Server DNS Name Server",
215
+        "name": "role_config_suppression_hbase_restserver_dns_nameserver",
216
+        "value": "false"
217
+    },
218
+    {
219
+        "desc": "Whether to suppress configuration warnings produced by the CDH Version Validator configuration validator.",
220
+        "display_name": "Suppress Configuration Validator: CDH Version Validator",
221
+        "name": "role_config_suppression_cdh_version_validator",
222
+        "value": "false"
223
+    },
224
+    {
225
+        "desc": "Whether to suppress the results of the File Descriptors heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
226
+        "display_name": "Suppress Health Test: File Descriptors",
227
+        "name": "role_health_suppression_hbase_rest_server_file_descriptor",
228
+        "value": "false"
229
+    },
230
+    {
231
+        "desc": "If true, HBase REST Server Web UI will bind to a wildcard address (0.0.0.0). Otherwise it will bind to a host name. Only available in CDH 4.3 and later.",
232
+        "display_name": "HBase REST Server Web UI Bind to Wildcard Address",
233
+        "name": "hbase_restserver_info_bind_to_wildcard",
234
+        "value": "true"
235
+    },
236
+    {
237
+        "desc": "Cloudera Manager agent monitors each service and each of its role by publishing metrics to the Cloudera Manager Service Monitor. Setting it to false will stop Cloudera Manager agent from publishing any metric for corresponding service/roles. This is usually helpful for services that generate large amount of metrics which Service Monitor is not able to process.",
238
+        "display_name": "Enable Metric Collection",
239
+        "name": "process_should_monitor",
240
+        "value": "true"
241
+    },
242
+    {
243
+        "desc": "The amount of stacks data that is retained. After the retention limit is reached, the oldest data is deleted.",
244
+        "display_name": "Stacks Collection Data Retention",
245
+        "name": "stacks_collection_data_retention",
246
+        "value": "104857600"
247
+    },
248
+    {
249
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Heap Dump Directory parameter.",
250
+        "display_name": "Suppress Parameter Validation: Heap Dump Directory",
251
+        "name": "role_config_suppression_oom_heap_dump_dir",
252
+        "value": "false"
253
+    },
254
+    {
255
+        "desc": "For advanced use only, a string to be inserted into <strong>log4j.properties</strong> for this role only.",
256
+        "display_name": "HBase REST Server Logging Advanced Configuration Snippet (Safety Valve)",
257
+        "name": "log4j_safety_valve",
258
+        "value": null
259
+    },
260
+    {
261
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Role Triggers parameter.",
262
+        "display_name": "Suppress Parameter Validation: Role Triggers",
263
+        "name": "role_config_suppression_role_triggers",
264
+        "value": "false"
265
+    },
266
+    {
267
+        "desc": "The path to the TLS/SSL keystore file containing the server certificate and private key used for TLS/SSL. Used when HBase REST Server is acting as a TLS/SSL server. The keystore must be in JKS format.",
268
+        "display_name": "HBase REST Server TLS/SSL Server JKS Keystore File Location",
269
+        "name": "hbase_restserver_keystore_file",
270
+        "value": null
271
+    },
272
+    {
273
+        "desc": "Whether to suppress the results of the Swap Memory Usage heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
274
+        "display_name": "Suppress Health Test: Swap Memory Usage",
275
+        "name": "role_health_suppression_hbase_rest_server_swap_memory_usage",
276
+        "value": "false"
277
+    },
278
+    {
279
+        "desc": "When false, all HTTP methods are permitted (GET/PUT/POST/DELETE). When true, only GET is permitted.",
280
+        "display_name": "Enable HBase REST Server Read Only Mode",
281
+        "name": "hbase_restserver_readonly",
282
+        "value": "false"
283
+    },
284
+    {
285
+        "desc": "The port that HBase REST Server Web UI binds to.",
286
+        "display_name": "HBase REST Server Web UI Port",
287
+        "name": "hbase_restserver_info_port",
288
+        "value": "8085"
289
+    },
290
+    {
291
+        "desc": "Directory where HBase REST Server will place its log files.",
292
+        "display_name": "HBase REST Server Log Directory",
293
+        "name": "hbase_restserver_log_dir",
294
+        "value": "/var/log/hbase"
295
+    },
296
+    {
297
+        "desc": "When computing the overall HBase REST Server health, consider the host's health.",
298
+        "display_name": "HBase REST Server Host Health Test",
299
+        "name": "hbaserestserver_host_health_enabled",
300
+        "value": "true"
301
+    },
302
+    {
303
+        "desc": "When set, Cloudera Manager will send alerts when this entity's configuration changes.",
304
+        "display_name": "Enable Configuration Change Alerts",
305
+        "name": "enable_config_alerts",
306
+        "value": "false"
307
+    },
308
+    {
309
+        "desc": "The password that protects the private key contained in the JKS keystore used when HBase REST Server is acting as a TLS/SSL server.",
310
+        "display_name": "HBase REST Server TLS/SSL Server JKS Keystore Key Password",
311
+        "name": "hbase_restserver_keystore_keypassword",
312
+        "value": null
313
+    },
314
+    {
315
+        "desc": "The maximum size, in megabytes, per log file for HBase REST Server logs.  Typically used by log4j or logback.",
316
+        "display_name": "HBase REST Server Max Log Size",
317
+        "name": "max_log_size",
318
+        "value": "200"
319
+    },
320
+    {
321
+        "desc": "When set, a SIGKILL signal is sent to the role process when java.lang.OutOfMemoryError is thrown.",
322
+        "display_name": "Kill When Out of Memory",
323
+        "name": "oom_sigkill_enabled",
324
+        "value": "true"
325
+    },
326
+    {
327
+        "desc": "When set, generates heap dump file when java.lang.OutOfMemoryError is thrown.",
328
+        "display_name": "Dump Heap When Out of Memory",
329
+        "name": "oom_heap_dump_enabled",
330
+        "value": "true"
331
+    },
332
+    {
333
+        "desc": "The host name or IP address of the DNS name server which an HBase REST Server should use to determine the host name used for communication and display purposes.",
334
+        "display_name": "HBase REST Server DNS Name Server",
335
+        "name": "hbase_restserver_dns_nameserver",
336
+        "value": null
337
+    },
338
+    {
339
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Java Configuration Options for HBase REST Server parameter.",
340
+        "display_name": "Suppress Parameter Validation: Java Configuration Options for HBase REST Server",
341
+        "name": "role_config_suppression_hbase_restserver_java_opts",
342
+        "value": "false"
343
+    },
344
+    {
345
+        "desc": "HBase REST Server will bind to this address.",
346
+        "display_name": "HBase REST Server Host Address",
347
+        "name": "hbase_restserver_host",
348
+        "value": "0.0.0.0"
349
+    },
350
+    {
351
+        "desc": "<p>The configured triggers for this role. This is a JSON-formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed.</p><p>Each trigger has the following fields:</p><ul><li><code>triggerName</code> <b>(mandatory)</b> - The name of the trigger. This value must be unique for the specific role. </li><li><code>triggerExpression</code> <b>(mandatory)</b> - A tsquery expression representing the trigger. </li><li><code>streamThreshold</code> <b>(optional)</b> - The maximum number of streams that can satisfy a condition of a trigger before the condition fires. By default set to 0, and any stream returned causes the condition to fire. </li><li><code>enabled</code> <b> (optional)</b> - By default set to 'true'. If set to 'false', the trigger is not evaluated.</li><li><code>expressionEditorConfig</code> <b> (optional)</b> - Metadata for the trigger editor. If present, the trigger should only be edited from the Edit Trigger page; editing the trigger here can lead to inconsistencies.</li></ul><p>For example, the following JSON formatted trigger configured for a DataNode fires if the DataNode has more than 1500 file descriptors opened:</p><p><pre>[{\"triggerName\": \"sample-trigger\",\n  \"triggerExpression\": \"IF (SELECT fd_open WHERE roleName=$ROLENAME and last(fd_open) > 1500) DO health:bad\",\n  \"streamThreshold\": 0, \"enabled\": \"true\"}]</pre></p><p>See the trigger rules documentation for more details on how to write triggers using tsquery.</p><p>The JSON format is evolving and may change and, as a result, backward compatibility is not guaranteed between releases.</p>",
352
+        "display_name": "Role Triggers",
353
+        "name": "role_triggers",
354
+        "value": "[]"
355
+    },
356
+    {
357
+        "desc": "When set, Cloudera Manager will send alerts when the health of this role reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold",
358
+        "display_name": "Enable Health Alerts for this Role",
359
+        "name": "enable_alerts",
360
+        "value": "true"
361
+    },
362
+    {
363
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server Host Address parameter.",
364
+        "display_name": "Suppress Parameter Validation: HBase REST Server Host Address",
365
+        "name": "role_config_suppression_hbase_restserver_host",
366
+        "value": "false"
367
+    },
368
+    {
369
+        "desc": "The name of the DNS network interface from which an HBase REST Server should report its IP address.",
370
+        "display_name": "HBase REST Server DNS Network Interface",
371
+        "name": "hbase_restserver_dns_interface",
372
+        "value": null
373
+    },
374
+    {
375
+        "desc": "The directory in which stacks logs are placed. If not set, stacks are logged into a <code>stacks</code> subdirectory of the role's log directory.",
376
+        "display_name": "Stacks Collection Directory",
377
+        "name": "stacks_collection_directory",
378
+        "value": null
379
+    },
380
+    {
381
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server DNS Network Interface parameter.",
382
+        "display_name": "Suppress Parameter Validation: HBase REST Server DNS Network Interface",
383
+        "name": "role_config_suppression_hbase_restserver_dns_interface",
384
+        "value": "false"
385
+    },
386
+    {
387
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Heap Dump Directory Free Space Monitoring Absolute Thresholds setting is configured.",
388
+        "display_name": "Heap Dump Directory Free Space Monitoring Percentage Thresholds",
389
+        "name": "heap_dump_directory_free_space_percentage_thresholds",
390
+        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
391
+    },
392
+    {
393
+        "desc": "Whether to suppress the results of the Log Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
394
+        "display_name": "Suppress Health Test: Log Directory Free Space",
395
+        "name": "role_health_suppression_hbase_rest_server_log_directory_free_space",
396
+        "value": "false"
397
+    },
398
+    {
399
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase REST Server TLS/SSL Server JKS Keystore Key Password parameter.",
400
+        "display_name": "Suppress Parameter Validation: HBase REST Server TLS/SSL Server JKS Keystore Key Password",
401
+        "name": "role_config_suppression_hbase_restserver_keystore_keypassword",
402
+        "value": "false"
403
+    },
404
+    {
405
+        "desc": "Number of CPU shares to assign to this role. The greater the number of shares, the larger the share of the host's CPUs that will be given to this role when the host experiences CPU contention. Must be between 2 and 262144. Defaults to 1024 for processes not managed by Cloudera Manager.",
406
+        "display_name": "Cgroup CPU Shares",
407
+        "name": "rm_cpu_shares",
408
+        "value": "1024"
409
+    },
410
+    {
411
+        "desc": "Whether to suppress the results of the Host Health heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
412
+        "display_name": "Suppress Health Test: Host Health",
413
+        "name": "role_health_suppression_hbase_rest_server_host_health",
414
+        "value": "false"
415
+    },
416
+    {
417
+        "desc": "Path to directory where heap dumps are generated when java.lang.OutOfMemoryError error is thrown. This directory is automatically created if it does not exist. If this directory already exists, role user must have write access to this directory. If this directory is shared among multiple roles, it should have 1777 permissions. The heap dump files are created with 600 permissions and are owned by the role user. The amount of free space in this directory should be greater than the maximum Java Process heap size configured for this role.",
418
+        "display_name": "Heap Dump Directory",
419
+        "name": "oom_heap_dump_dir",
420
+        "value": "/tmp"
421
+    },
422
+    {
423
+        "desc": "The period to review when computing unexpected exits.",
424
+        "display_name": "Unexpected Exits Monitoring Period",
425
+        "name": "unexpected_exits_window",
426
+        "value": "5"
427
+    },
428
+    {
429
+        "desc": "Minimum size of the HBase REST Server thread pool. The server will maintain at least this number of threads in the pool at all times. The thread pool can grow up to the maximum size set by hbase.rest.threads.max.",
430
+        "display_name": "HBase REST Server Minimum Threads",
431
+        "name": "hbase_restserver_threads_min",
432
+        "value": "2"
433
+    },
434
+    {
435
+        "desc": "Whether to suppress the results of the Unexpected Exits heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
436
+        "display_name": "Suppress Health Test: Unexpected Exits",
437
+        "name": "role_health_suppression_hbase_rest_server_unexpected_exits",
438
+        "value": "false"
439
+    },
440
+    {
441
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Stacks Collection Directory parameter.",
442
+        "display_name": "Suppress Parameter Validation: Stacks Collection Directory",
443
+        "name": "role_config_suppression_stacks_collection_directory",
444
+        "value": "false"
445
+    },
446
+    {
447
+        "desc": "The minimum log level for HBase REST Server logs",
448
+        "display_name": "HBase REST Server Logging Threshold",
449
+        "name": "log_threshold",
450
+        "value": "INFO"
451
+    }
452
+]

+ 458
- 0
sahara/plugins/cdh/v5_13_0/resources/hbase-hbasethriftserver.json View File

@@ -0,0 +1,458 @@
1
+[
2
+    {
3
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Log Directory Free Space Monitoring Absolute Thresholds setting is configured.",
4
+        "display_name": "Log Directory Free Space Monitoring Percentage Thresholds",
5
+        "name": "log_directory_free_space_percentage_thresholds",
6
+        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
7
+    },
8
+    {
9
+        "desc": "<p>This file contains the rules that govern how log messages are turned into events by the custom log4j appender that this role loads. It is in JSON format, and is composed of a list of rules. Every log message is evaluated against each of these rules in turn to decide whether or not to send an event for that message. If a log message matches multiple rules, the first matching rule is used. </p><p>Each rule has some or all of the following fields:</p><ul><li><code>alert</code> - whether or not events generated from this rule should be promoted to alerts. A value of \"true\" will cause alerts to be generated. If not specified, the default is \"false\".</li><li><code>rate</code> <b>(mandatory)</b> - the maximum number of log messages matching this rule that can be sent as events every minute. If more than <code>rate</code> matching log messages are received in a single minute, the extra messages are ignored. If rate is less than 0, the number of messages per minute is unlimited.</li><li><code>periodminutes</code>  - the number of minutes during which the publisher will only publish <code>rate</code> events or fewer. If not specified, the default is <b>one minute</b></li><li><code>threshold</code> - apply this rule only to messages with this log4j severity level or above. An example is \"WARN\" for warning level messages or higher.</li><li><code>content</code> - match only those messages for which contents match this regular expression.</li><li><code>exceptiontype</code> - match only those messages that are part of an exception message. The exception type must match this regular expression.</li></ul><p>Example:</p><ul><li><pre>{\"alert\": false, \"rate\": 10, \"exceptiontype\": \"java.lang.StringIndexOutOfBoundsException\"}</pre>This rule sends events to Cloudera Manager for every <code>StringIndexOutOfBoundsException</code>, up to a maximum of 10 every minute.</li><li><pre>{\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"exceptiontype\": \".*\"}, {\"alert\": true, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"ERROR\"}</pre>In this example, an event generated may not be promoted to alert if an exception is in the ERROR log message, because the first rule with alert = false will match.</li></ul>",
10
+        "display_name": "Rules to Extract Events from Log Files",
11
+        "name": "log_event_whitelist",
12
+        "value": "{\n  \"version\": \"0\",\n  \"rules\": [\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"FATAL\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 2, \"exceptiontype\": \".*\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\"}\n  ]\n}"
13
+    },
14
+    {
15
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server Environment Advanced Configuration Snippet (Safety Valve) parameter.",
16
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server Environment Advanced Configuration Snippet (Safety Valve)",
17
+        "name": "role_config_suppression_hbasethriftserver_role_env_safety_valve",
18
+        "value": "false"
19
+    },
20
+    {
21
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Java Configuration Options for HBase Thrift Server parameter.",
22
+        "display_name": "Suppress Parameter Validation: Java Configuration Options for HBase Thrift Server",
23
+        "name": "role_config_suppression_hbase_thriftserver_java_opts",
24
+        "value": "false"
25
+    },
26
+    {
27
+        "desc": "Whether to suppress the results of the Unexpected Exits heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
28
+        "display_name": "Suppress Health Test: Unexpected Exits",
29
+        "name": "role_health_suppression_hbase_thrift_server_unexpected_exits",
30
+        "value": "false"
31
+    },
32
+    {
33
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server DNS Network Interface parameter.",
34
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server DNS Network Interface",
35
+        "name": "role_config_suppression_hbase_thriftserver_dns_interface",
36
+        "value": "false"
37
+    },
38
+    {
39
+        "desc": "The \"core size\" of the thread pool. New threads are created on every connection until this many threads are created.",
40
+        "display_name": "HBase Thrift Server Min Worker Threads",
41
+        "name": "hbase_thriftserver_min_worker_threads",
42
+        "value": "200"
43
+    },
44
+    {
45
+        "desc": "The period to review when computing unexpected exits.",
46
+        "display_name": "Unexpected Exits Monitoring Period",
47
+        "name": "unexpected_exits_window",
48
+        "value": "5"
49
+    },
50
+    {
51
+        "desc": "Whether to suppress the results of the Host Health heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
52
+        "display_name": "Suppress Health Test: Host Health",
53
+        "name": "role_health_suppression_hbase_thrift_server_host_health",
54
+        "value": "false"
55
+    },
56
+    {
57
+        "desc": "The port that HBase Thrift Server binds to.",
58
+        "display_name": "HBase Thrift Server Port",
59
+        "name": "hbase_thriftserver_port",
60
+        "value": "9090"
61
+    },
62
+    {
63
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Heap Dump Directory Free Space Monitoring Absolute Thresholds setting is configured.",
64
+        "display_name": "Heap Dump Directory Free Space Monitoring Percentage Thresholds",
65
+        "name": "heap_dump_directory_free_space_percentage_thresholds",
66
+        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
67
+    },
68
+    {
69
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server Bind Address parameter.",
70
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server Bind Address",
71
+        "name": "role_config_suppression_hbase_thriftserver_bindaddress",
72
+        "value": "false"
73
+    },
74
+    {
75
+        "desc": "Whether to suppress the results of the File Descriptors heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
76
+        "display_name": "Suppress Health Test: File Descriptors",
77
+        "name": "role_health_suppression_hbase_thrift_server_file_descriptor",
78
+        "value": "false"
79
+    },
80
+    {
81
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server DNS Name Server parameter.",
82
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server DNS Name Server",
83
+        "name": "role_config_suppression_hbase_thriftserver_dns_nameserver",
84
+        "value": "false"
85
+    },
86
+    {
87
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory.",
88
+        "display_name": "Heap Dump Directory Free Space Monitoring Absolute Thresholds",
89
+        "name": "heap_dump_directory_free_space_absolute_thresholds",
90
+        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
91
+    },
92
+    {
93
+        "desc": "The health test thresholds on the swap memory usage of the process.",
94
+        "display_name": "Process Swap Memory Thresholds",
95
+        "name": "process_swap_memory_thresholds",
96
+        "value": "{\"critical\":\"never\",\"warning\":\"any\"}"
97
+    },
98
+    {
99
+        "desc": "The method used to collect stacks. The jstack option involves periodically running the jstack command against the role's daemon process. The servlet method is available for those roles that have an HTTP server endpoint exposing the current stacks traces of all threads. When the servlet method is selected, that HTTP endpoint is periodically scraped.",
100
+        "display_name": "Stacks Collection Method",
101
+        "name": "stacks_collection_method",
102
+        "value": "jstack"
103
+    },
104
+    {
105
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server Log Directory parameter.",
106
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server Log Directory",
107
+        "name": "role_config_suppression_hbase_thriftserver_log_dir",
108
+        "value": "false"
109
+    },
110
+    {
111
+        "desc": "Whether or not periodic stacks collection is enabled.",
112
+        "display_name": "Stacks Collection Enabled",
113
+        "name": "stacks_collection_enabled",
114
+        "value": "false"
115
+    },
116
+    {
117
+        "desc": "The maximum number of rolled log files to keep for HBase Thrift Server logs.  Typically used by log4j or logback.",
118
+        "display_name": "HBase Thrift Server Maximum Log File Backups",
119
+        "name": "max_log_backup_index",
120
+        "value": "10"
121
+    },
122
+    {
123
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server Logging Advanced Configuration Snippet (Safety Valve) parameter.",
124
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server Logging Advanced Configuration Snippet (Safety Valve)",
125
+        "name": "role_config_suppression_log4j_safety_valve",
126
+        "value": "false"
127
+    },
128
+    {
129
+        "desc": "Whether to suppress the results of the Log Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
130
+        "display_name": "Suppress Health Test: Log Directory Free Space",
131
+        "name": "role_health_suppression_hbase_thrift_server_log_directory_free_space",
132
+        "value": "false"
133
+    },
134
+    {
135
+        "desc": "The path to the TLS/SSL keystore file containing the server certificate and private key used for TLS/SSL. Used when HBase Thrift Server over HTTP is acting as a TLS/SSL server. The keystore must be in JKS format.",
136
+        "display_name": "HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore File Location",
137
+        "name": "hbase_thriftserver_http_keystore_file",
138
+        "value": null
139
+    },
140
+    {
141
+        "desc": "Maximum size in bytes for the Java Process heap memory.  Passed to Java -Xmx.",
142
+        "display_name": "Java Heap Size of HBase Thrift Server in Bytes",
143
+        "name": "hbase_thriftserver_java_heapsize",
144
+        "value": "1073741824"
145
+    },
146
+    {
147
+        "desc": "Soft memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process if and only if the host is facing memory pressure. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
148
+        "display_name": "Cgroup Memory Soft Limit",
149
+        "name": "rm_memory_soft_limit",
150
+        "value": "-1"
151
+    },
152
+    {
153
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory.",
154
+        "display_name": "Log Directory Free Space Monitoring Absolute Thresholds",
155
+        "name": "log_directory_free_space_absolute_thresholds",
156
+        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
157
+    },
158
+    {
159
+        "desc": "The password for the HBase Thrift Server over HTTP JKS keystore file.",
160
+        "display_name": "HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore File Password",
161
+        "name": "hbase_thriftserver_http_keystore_password",
162
+        "value": null
163
+    },
164
+    {
165
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Rules to Extract Events from Log Files parameter.",
166
+        "display_name": "Suppress Parameter Validation: Rules to Extract Events from Log Files",
167
+        "name": "role_config_suppression_log_event_whitelist",
168
+        "value": "false"
169
+    },
170
+    {
171
+        "desc": "If true, HBase Thrift Server Web UI will bind to a wildcard address (0.0.0.0). Otherwise it will bind to a host name. Only available in CDH 4.3 and later.",
172
+        "display_name": "HBase Thrift Server Web UI Bind to Wildcard Address",
173
+        "name": "hbase_thriftserver_info_bind_to_wildcard",
174
+        "value": "true"
175
+    },
176
+    {
177
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore File Location parameter.",
178
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore File Location",
179
+        "name": "role_config_suppression_hbase_thriftserver_http_keystore_file",
180
+        "value": "false"
181
+    },
182
+    {
183
+        "desc": "Address to bind the HBase Thrift Server to. When using the THsHaServer or the TNonblockingServer, always binds to 0.0.0.0 irrespective of this configuration value.",
184
+        "display_name": "HBase Thrift Server Bind Address",
185
+        "name": "hbase_thriftserver_bindaddress",
186
+        "value": "0.0.0.0"
187
+    },
188
+    {
189
+        "desc": "Whether to suppress configuration warnings produced by the CDH Version Validator configuration validator.",
190
+        "display_name": "Suppress Configuration Validator: CDH Version Validator",
191
+        "name": "role_config_suppression_cdh_version_validator",
192
+        "value": "false"
193
+    },
194
+    {
195
+        "desc": "Hard memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
196
+        "display_name": "Cgroup Memory Hard Limit",
197
+        "name": "rm_memory_hard_limit",
198
+        "value": "-1"
199
+    },
200
+    {
201
+        "desc": "Type of HBase Thrift Server.",
202
+        "display_name": "HBase Thrift Server Type",
203
+        "name": "hbase_thriftserver_type",
204
+        "value": "threadpool"
205
+    },
206
+    {
207
+        "desc": "When set, this role's process is automatically (and transparently) restarted in the event of an unexpected failure.",
208
+        "display_name": "Automatically Restart Process",
209
+        "name": "process_auto_restart",
210
+        "value": "false"
211
+    },
212
+    {
213
+        "desc": "Cloudera Manager agent monitors each service and each of its role by publishing metrics to the Cloudera Manager Service Monitor. Setting it to false will stop Cloudera Manager agent from publishing any metric for corresponding service/roles. This is usually helpful for services that generate large amount of metrics which Service Monitor is not able to process.",
214
+        "display_name": "Enable Metric Collection",
215
+        "name": "process_should_monitor",
216
+        "value": "true"
217
+    },
218
+    {
219
+        "desc": "Weight for the read I/O requests issued by this role. The greater the weight, the higher the priority of the requests when the host experiences I/O contention. Must be between 100 and 1000. Defaults to 1000 for processes not managed by Cloudera Manager.",
220
+        "display_name": "Cgroup I/O Weight",
221
+        "name": "rm_io_weight",
222
+        "value": "500"
223
+    },
224
+    {
225
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore File Password parameter.",
226
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore File Password",
227
+        "name": "role_config_suppression_hbase_thriftserver_http_keystore_password",
228
+        "value": "false"
229
+    },
230
+    {
231
+        "desc": "The amount of stacks data that is retained. After the retention limit is reached, the oldest data is deleted.",
232
+        "display_name": "Stacks Collection Data Retention",
233
+        "name": "stacks_collection_data_retention",
234
+        "value": "104857600"
235
+    },
236
+    {
237
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Heap Dump Directory parameter.",
238
+        "display_name": "Suppress Parameter Validation: Heap Dump Directory",
239
+        "name": "role_config_suppression_oom_heap_dump_dir",
240
+        "value": "false"
241
+    },
242
+    {
243
+        "desc": "For advanced use only, key-value pairs (one on each line) to be inserted into a role's environment. Applies to configurations of this role except client configuration.",
244
+        "display_name": "HBase Thrift Server Environment Advanced Configuration Snippet (Safety Valve)",
245
+        "name": "HBASETHRIFTSERVER_role_env_safety_valve",
246
+        "value": null
247
+    },
248
+    {
249
+        "desc": "For advanced use only, a string to be inserted into <strong>log4j.properties</strong> for this role only.",
250
+        "display_name": "HBase Thrift Server Logging Advanced Configuration Snippet (Safety Valve)",
251
+        "name": "log4j_safety_valve",
252
+        "value": null
253
+    },
254
+    {
255
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Role Triggers parameter.",
256
+        "display_name": "Suppress Parameter Validation: Role Triggers",
257
+        "name": "role_config_suppression_role_triggers",
258
+        "value": "false"
259
+    },
260
+    {
261
+        "desc": "When computing the overall HBase Thrift Server health, consider the host's health.",
262
+        "display_name": "HBase Thrift Server Host Health Test",
263
+        "name": "hbasethriftserver_host_health_enabled",
264
+        "value": "true"
265
+    },
266
+    {
267
+        "desc": "The password that protects the private key contained in the JKS keystore used when HBase Thrift Server over HTTP is acting as a TLS/SSL server.",
268
+        "display_name": "HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore Key Password",
269
+        "name": "hbase_thriftserver_http_keystore_keypassword",
270
+        "value": null
271
+    },
272
+    {
273
+        "desc": "Enables the health test that the HBase Thrift Server's process state is consistent with the role configuration",
274
+        "display_name": "HBase Thrift Server Process Health Test",
275
+        "name": "hbasethriftserver_scm_health_enabled",
276
+        "value": "true"
277
+    },
278
+    {
279
+        "desc": "These arguments will be passed as part of the Java command line. Commonly, garbage collection flags, PermGen, or extra debugging flags would be passed here.",
280
+        "display_name": "Java Configuration Options for HBase Thrift Server",
281
+        "name": "hbase_thriftserver_java_opts",
282
+        "value": "-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled"
283
+    },
284
+    {
285
+        "desc": "Use framed transport. When using the THsHaServer or TNonblockingServer, framed transport is always used irrespective of this configuration value.",
286
+        "display_name": "Enable HBase Thrift Server Framed Transport",
287
+        "name": "hbase_thriftserver_framed",
288
+        "value": "false"
289
+    },
290
+    {
291
+        "desc": "If configured, overrides the process soft and hard rlimits (also called ulimits) for file descriptors to the configured value.",
292
+        "display_name": "Maximum Process File Descriptors",
293
+        "name": "rlimit_fds",
294
+        "value": null
295
+    },
296
+    {
297
+        "desc": "When set, Cloudera Manager will send alerts when this entity's configuration changes.",
298
+        "display_name": "Enable Configuration Change Alerts",
299
+        "name": "enable_config_alerts",
300
+        "value": "false"
301
+    },
302
+    {
303
+        "desc": "The maximum size, in megabytes, per log file for HBase Thrift Server logs.  Typically used by log4j or logback.",
304
+        "display_name": "HBase Thrift Server Max Log Size",
305
+        "name": "max_log_size",
306
+        "value": "200"
307
+    },
308
+    {
309
+        "desc": "When set, a SIGKILL signal is sent to the role process when java.lang.OutOfMemoryError is thrown.",
310
+        "display_name": "Kill When Out of Memory",
311
+        "name": "oom_sigkill_enabled",
312
+        "value": "true"
313
+    },
314
+    {
315
+        "desc": "The port that HBase Thrift Server Web UI binds to.",
316
+        "display_name": "HBase Thrift Server Web UI Port",
317
+        "name": "hbase_thriftserver_info_port",
318
+        "value": "9095"
319
+    },
320
+    {
321
+        "desc": "When set, generates heap dump file when java.lang.OutOfMemoryError is thrown.",
322
+        "display_name": "Dump Heap When Out of Memory",
323
+        "name": "oom_heap_dump_enabled",
324
+        "value": "true"
325
+    },
326
+    {
327
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore Key Password parameter.",
328
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server over HTTP TLS/SSL Server JKS Keystore Key Password",
329
+        "name": "role_config_suppression_hbase_thriftserver_http_keystore_keypassword",
330
+        "value": "false"
331
+    },
332
+    {
333
+        "desc": "Whether to suppress the results of the Audit Pipeline Test heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
334
+        "display_name": "Suppress Health Test: Audit Pipeline Test",
335
+        "name": "role_health_suppression_hbase_thrift_server_audit_health",
336
+        "value": "false"
337
+    },
338
+    {
339
+        "desc": "The health test thresholds for unexpected exits encountered within a recent period specified by the unexpected_exits_window configuration for the role.",
340
+        "display_name": "Unexpected Exits Thresholds",
341
+        "name": "unexpected_exits_thresholds",
342
+        "value": "{\"critical\":\"any\",\"warning\":\"never\"}"
343
+    },
344
+    {
345
+        "desc": "Whether to suppress the results of the Swap Memory Usage heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
346
+        "display_name": "Suppress Health Test: Swap Memory Usage",
347
+        "name": "role_health_suppression_hbase_thrift_server_swap_memory_usage",
348
+        "value": "false"
349
+    },
350
+    {
351
+        "desc": "<p>The configured triggers for this role. This is a JSON-formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed.</p><p>Each trigger has the following fields:</p><ul><li><code>triggerName</code> <b>(mandatory)</b> - The name of the trigger. This value must be unique for the specific role. </li><li><code>triggerExpression</code> <b>(mandatory)</b> - A tsquery expression representing the trigger. </li><li><code>streamThreshold</code> <b>(optional)</b> - The maximum number of streams that can satisfy a condition of a trigger before the condition fires. By default set to 0, and any stream returned causes the condition to fire. </li><li><code>enabled</code> <b> (optional)</b> - By default set to 'true'. If set to 'false', the trigger is not evaluated.</li><li><code>expressionEditorConfig</code> <b> (optional)</b> - Metadata for the trigger editor. If present, the trigger should only be edited from the Edit Trigger page; editing the trigger here can lead to inconsistencies.</li></ul><p>For example, the following JSON formatted trigger configured for a DataNode fires if the DataNode has more than 1500 file descriptors opened:</p><p><pre>[{\"triggerName\": \"sample-trigger\",\n  \"triggerExpression\": \"IF (SELECT fd_open WHERE roleName=$ROLENAME and last(fd_open) > 1500) DO health:bad\",\n  \"streamThreshold\": 0, \"enabled\": \"true\"}]</pre></p><p>See the trigger rules documentation for more details on how to write triggers using tsquery.</p><p>The JSON format is evolving and may change and, as a result, backward compatibility is not guaranteed between releases.</p>",
352
+        "display_name": "Role Triggers",
353
+        "name": "role_triggers",
354
+        "value": "[]"
355
+    },
356
+    {
357
+        "desc": "The host name or IP address of the DNS name server which an HBase Thrift Server should use to determine the host name used for communication and display purposes.",
358
+        "display_name": "HBase Thrift Server DNS Name Server",
359
+        "name": "hbase_thriftserver_dns_nameserver",
360
+        "value": null
361
+    },
362
+    {
363
+        "desc": "When set, Cloudera Manager will send alerts when the health of this role reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold",
364
+        "display_name": "Enable Health Alerts for this Role",
365
+        "name": "enable_alerts",
366
+        "value": "true"
367
+    },
368
+    {
369
+        "desc": "Whether to suppress the results of the Process Status heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
370
+        "display_name": "Suppress Health Test: Process Status",
371
+        "name": "role_health_suppression_hbase_thrift_server_scm_health",
372
+        "value": "false"
373
+    },
374
+    {
375
+        "desc": "Use the TCompactProtocol instead of the default TBinaryProtocol. TCompactProtocol is a binary protocol that is more compact than the default and typically more efficient.",
376
+        "display_name": "Enable HBase Thrift Server Compact Protocol",
377
+        "name": "hbase_thriftserver_compact",
378
+        "value": "false"
379
+    },
380
+    {
381
+        "desc": "The name of the DNS network interface from which an HBase Thrift Server should report its IP address.",
382
+        "display_name": "HBase Thrift Server DNS Network Interface",
383
+        "name": "hbase_thriftserver_dns_interface",
384
+        "value": null
385
+    },
386
+    {
387
+        "desc": "The directory in which stacks logs are placed. If not set, stacks are logged into a <code>stacks</code> subdirectory of the role's log directory.",
388
+        "display_name": "Stacks Collection Directory",
389
+        "name": "stacks_collection_directory",
390
+        "value": null
391
+    },
392
+    {
393
+        "desc": "Directory where HBase Thrift Server will place its log files.",
394
+        "display_name": "HBase Thrift Server Log Directory",
395
+        "name": "hbase_thriftserver_log_dir",
396
+        "value": "/var/log/hbase"
397
+    },
398
+    {
399
+        "desc": "For advanced use only. A string to be inserted into <strong>hbase-site.xml</strong> for this role only.",
400
+        "display_name": "HBase Thrift Server Advanced Configuration Snippet (Safety Valve) for hbase-site.xml",
401
+        "name": "hbase_thriftserver_config_safety_valve",
402
+        "value": null
403
+    },
404
+    {
405
+        "desc": "Whether to suppress the results of the Heap Dump Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
406
+        "display_name": "Suppress Health Test: Heap Dump Directory Free Space",
407
+        "name": "role_health_suppression_hbase_thrift_server_heap_dump_directory_free_space",
408
+        "value": "false"
409
+    },
410
+    {
411
+        "desc": "The health test thresholds of the number of file descriptors used. Specified as a percentage of file descriptor limit.",
412
+        "display_name": "File Descriptor Monitoring Thresholds",
413
+        "name": "hbasethriftserver_fd_thresholds",
414
+        "value": "{\"critical\":\"70.0\",\"warning\":\"50.0\"}"
415
+    },
416
+    {
417
+        "desc": "Number of CPU shares to assign to this role. The greater the number of shares, the larger the share of the host's CPUs that will be given to this role when the host experiences CPU contention. Must be between 2 and 262144. Defaults to 1024 for processes not managed by Cloudera Manager.",
418
+        "display_name": "Cgroup CPU Shares",
419
+        "name": "rm_cpu_shares",
420
+        "value": "1024"
421
+    },
422
+    {
423
+        "desc": "Path to directory where heap dumps are generated when java.lang.OutOfMemoryError error is thrown. This directory is automatically created if it does not exist. If this directory already exists, role user must have write access to this directory. If this directory is shared among multiple roles, it should have 1777 permissions. The heap dump files are created with 600 permissions and are owned by the role user. The amount of free space in this directory should be greater than the maximum Java Process heap size configured for this role.",
424
+        "display_name": "Heap Dump Directory",
425
+        "name": "oom_heap_dump_dir",
426
+        "value": "/tmp"
427
+    },
428
+    {
429
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Thrift Server Advanced Configuration Snippet (Safety Valve) for hbase-site.xml parameter.",
430
+        "display_name": "Suppress Parameter Validation: HBase Thrift Server Advanced Configuration Snippet (Safety Valve) for hbase-site.xml",
431
+        "name": "role_config_suppression_hbase_thriftserver_config_safety_valve",
432
+        "value": "false"
433
+    },
434
+    {
435
+        "desc": "The frequency with which stacks are collected.",
436
+        "display_name": "Stacks Collection Frequency",
437
+        "name": "stacks_collection_frequency",
438
+        "value": "5.0"
439
+    },
440
+    {
441
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Stacks Collection Directory parameter.",
442
+        "display_name": "Suppress Parameter Validation: Stacks Collection Directory",
443
+        "name": "role_config_suppression_stacks_collection_directory",
444
+        "value": "false"
445
+    },
446
+    {
447
+        "desc": "The minimum log level for HBase Thrift Server logs",
448
+        "display_name": "HBase Thrift Server Logging Threshold",
449
+        "name": "log_threshold",
450
+        "value": "INFO"
451
+    },
452
+    {
453
+        "desc": "Encrypt communication between clients and HBase Thrift Server over HTTP using Transport Layer Security (TLS) (formerly known as Secure Socket Layer (SSL)).",
454
+        "display_name": "Enable TLS/SSL for HBase Thrift Server over HTTP",
455
+        "name": "hbase_thriftserver_http_use_ssl",
456
+        "value": "false"
457
+    }
458
+]

+ 530
- 0
sahara/plugins/cdh/v5_13_0/resources/hbase-master.json View File

@@ -0,0 +1,530 @@
1
+[
2
+    {
3
+        "desc": "Whether or not periodic stacks collection is enabled.",
4
+        "display_name": "Stacks Collection Enabled",
5
+        "name": "stacks_collection_enabled",
6
+        "value": "false"
7
+    },
8
+    {
9
+        "desc": "Directory where Master will place its log files.",
10
+        "display_name": "Master Log Directory",
11
+        "name": "hbase_master_log_dir",
12
+        "value": "/var/log/hbase"
13
+    },
14
+    {
15
+        "desc": "The health test thresholds on the duration of the metrics request to the web server.",
16
+        "display_name": "Web Metric Collection Duration",
17
+        "name": "master_web_metric_collection_thresholds",
18
+        "value": "{\"critical\":\"never\",\"warning\":\"10000.0\"}"
19
+    },
20
+    {
21
+        "desc": "Whether to suppress the results of the Log Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
22
+        "display_name": "Suppress Health Test: Log Directory Free Space",
23
+        "name": "role_health_suppression_master_log_directory_free_space",
24
+        "value": "false"
25
+    },
26
+    {
27
+        "desc": "Maximum size in bytes for the Java Process heap memory.  Passed to Java -Xmx.",
28
+        "display_name": "Java Heap Size of HBase Master in Bytes",
29
+        "name": "hbase_master_java_heapsize",
30
+        "value": "1073741824"
31
+    },
32
+    {
33
+        "desc": "For advanced use only, a string to be inserted into <strong>log4j.properties</strong> for this role only.",
34
+        "display_name": "Master Logging Advanced Configuration Snippet (Safety Valve)",
35
+        "name": "log4j_safety_valve",
36
+        "value": null
37
+    },
38
+    {
39
+        "desc": "When true, HBase Master will bind to 0.0.0.0. Only available with CDH 4.3 and later.",
40
+        "display_name": "HBase Master Bind to Wildcard Address",
41
+        "name": "hbase_master_bind_to_wildcard_address",
42
+        "value": "true"
43
+    },
44
+    {
45
+        "desc": "The period to review when computing unexpected exits.",
46
+        "display_name": "Unexpected Exits Monitoring Period",
47
+        "name": "unexpected_exits_window",
48
+        "value": "5"
49
+    },
50
+    {
51
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Master Web UI Address parameter.",
52
+        "display_name": "Suppress Parameter Validation: HBase Master Web UI Address",
53
+        "name": "role_config_suppression_hbase_master_info_bindaddress",
54
+        "value": "false"
55
+    },
56
+    {
57
+        "desc": "The port for the HBase Master web UI. Set to -1 to disable the HBase Master web UI.",
58
+        "display_name": "HBase Master Web UI Port",
59
+        "name": "hbase_master_info_port",
60
+        "value": "60010"
61
+    },
62
+    {
63
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Heap Dump Directory parameter.",
64
+        "display_name": "Suppress Parameter Validation: Heap Dump Directory",
65
+        "name": "role_config_suppression_oom_heap_dump_dir",
66
+        "value": "false"
67
+    },
68
+    {
69
+        "desc": "When set, Cloudera Manager will send alerts when this entity's configuration changes.",
70
+        "display_name": "Enable Configuration Change Alerts",
71
+        "name": "enable_config_alerts",
72
+        "value": "false"
73
+    },
74
+    {
75
+        "desc": "Maximum time an HLog remains in the .oldlogdir directory until an HBase Master thread deletes it.",
76
+        "display_name": "Maximum Time to Keep HLogs",
77
+        "name": "hbase_master_logcleaner_ttl",
78
+        "value": "60000"
79
+    },
80
+    {
81
+        "desc": "When set, generates heap dump file when java.lang.OutOfMemoryError is thrown.",
82
+        "display_name": "Dump Heap When Out of Memory",
83
+        "name": "oom_heap_dump_enabled",
84
+        "value": "true"
85
+    },
86
+    {
87
+        "desc": "Whether to suppress the results of the HBase Master Canary heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
88
+        "display_name": "Suppress Health Test: HBase Master Canary",
89
+        "name": "role_health_suppression_master_canary_health",
90
+        "value": "false"
91
+    },
92
+    {
93
+        "desc": "For advanced use only, key-value pairs (one on each line) to be inserted into a role's environment. Applies to configurations of this role except client configuration.",
94
+        "display_name": "Master Environment Advanced Configuration Snippet (Safety Valve)",
95
+        "name": "MASTER_role_env_safety_valve",
96
+        "value": null
97
+    },
98
+    {
99
+        "desc": "The address for the HBase Master web UI",
100
+        "display_name": "HBase Master Web UI Address",
101
+        "name": "hbase_master_info_bindAddress",
102
+        "value": null
103
+    },
104
+    {
105
+        "desc": "A comma-separated list of LogCleanerDelegate(s) that are used in LogsCleaner. WAL/HLog cleaner(s) are called in order, so put the log cleaner that prunes the most log files in the front. To implement your own LogCleanerDelegate, add it to HBase's classpath and add the fully-qualified class name here. You should always add the above default log cleaners in the list, unless you have a special reason not to.",
106
+        "display_name": "HBase Master Log Cleaner Plugins",
107
+        "name": "hbase_master_logcleaner_plugins",
108
+        "value": null
109
+    },
110
+    {
111
+        "desc": "Whether to suppress the results of the Web Server Status heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
112
+        "display_name": "Suppress Health Test: Web Server Status",
113
+        "name": "role_health_suppression_master_web_metric_collection",
114
+        "value": "false"
115
+    },
116
+    {
117
+        "desc": "The host name or IP address of the DNS name server which an HBase Master should use to determine the host name used for communication and display purposes.",
118
+        "display_name": "HBase Master DNS Name Server",
119
+        "name": "hbase_master_dns_nameserver",
120
+        "value": null
121
+    },
122
+    {
123
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Stacks Collection Directory parameter.",
124
+        "display_name": "Suppress Parameter Validation: Stacks Collection Directory",
125
+        "name": "role_config_suppression_stacks_collection_directory",
126
+        "value": "false"
127
+    },
128
+    {
129
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Master Environment Advanced Configuration Snippet (Safety Valve) parameter.",
130
+        "display_name": "Suppress Parameter Validation: Master Environment Advanced Configuration Snippet (Safety Valve)",
131
+        "name": "role_config_suppression_master_role_env_safety_valve",
132
+        "value": "false"
133
+    },
134
+    {
135
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Log Directory Free Space Monitoring Absolute Thresholds setting is configured.",
136
+        "display_name": "Log Directory Free Space Monitoring Percentage Thresholds",
137
+        "name": "log_directory_free_space_percentage_thresholds",
138
+        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
139
+    },
140
+    {
141
+        "desc": "<p>This file contains the rules that govern how log messages are turned into events by the custom log4j appender that this role loads. It is in JSON format, and is composed of a list of rules. Every log message is evaluated against each of these rules in turn to decide whether or not to send an event for that message. If a log message matches multiple rules, the first matching rule is used. </p><p>Each rule has some or all of the following fields:</p><ul><li><code>alert</code> - whether or not events generated from this rule should be promoted to alerts. A value of \"true\" will cause alerts to be generated. If not specified, the default is \"false\".</li><li><code>rate</code> <b>(mandatory)</b> - the maximum number of log messages matching this rule that can be sent as events every minute. If more than <code>rate</code> matching log messages are received in a single minute, the extra messages are ignored. If rate is less than 0, the number of messages per minute is unlimited.</li><li><code>periodminutes</code>  - the number of minutes during which the publisher will only publish <code>rate</code> events or fewer. If not specified, the default is <b>one minute</b></li><li><code>threshold</code> - apply this rule only to messages with this log4j severity level or above. An example is \"WARN\" for warning level messages or higher.</li><li><code>content</code> - match only those messages for which contents match this regular expression.</li><li><code>exceptiontype</code> - match only those messages that are part of an exception message. The exception type must match this regular expression.</li></ul><p>Example:</p><ul><li><pre>{\"alert\": false, \"rate\": 10, \"exceptiontype\": \"java.lang.StringIndexOutOfBoundsException\"}</pre>This rule sends events to Cloudera Manager for every <code>StringIndexOutOfBoundsException</code>, up to a maximum of 10 every minute.</li><li><pre>{\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"exceptiontype\": \".*\"}, {\"alert\": true, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"ERROR\"}</pre>In this example, an event generated may not be promoted to alert if an exception is in the ERROR log message, because the first rule with alert = false will match.</li></ul>",
142
+        "display_name": "Rules to Extract Events from Log Files",
143
+        "name": "log_event_whitelist",
144
+        "value": "{\n  \"version\": \"0\",\n  \"rules\": [\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"FATAL\"},\n    {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.io.IOException\"},\n    {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.net.SocketException\"},\n    {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.net.SocketClosedException\"},\n    {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.io.EOFException\"},\n    {\"alert\": false, \"rate\": 0, \"exceptiontype\": \"java.nio.channels.CancelledKeyException\"},\n    {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\": \".* is deprecated. Instead, use .*\"},\n    {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\": \".* is deprecated. Use .* instead\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"IPC Server handler.*ClosedChannelException\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"IPC Server Responder, call.*output error\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"Daughter regiondir does not exist: .*\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"File.*might still be open.*\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"File.*might still be open.*\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"Moving table .+ state to enabled but was already enabled\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\", \"content\": \"Received OPENED for region.*but region was in the state.*\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 2, \"exceptiontype\": \".*\"},\n    {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\":\"Unknown job [^ ]+ being deleted.*\"},\n    {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\":\"Error executing shell command .+ No such process.+\"},\n    {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\":\".*attempt to override final parameter.+\"},\n    {\"alert\": false, \"rate\": 0, \"threshold\":\"WARN\", \"content\":\"[^ ]+ is a deprecated filesystem name. Use.*\"},\n    {\"alert\": false, \"rate\": 1, \"periodminutes\": 1, \"threshold\":\"WARN\"}\n  ]\n}\n"
145
+    },
146
+    {
147
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Master Log Directory parameter.",
148
+        "display_name": "Suppress Parameter Validation: Master Log Directory",
149
+        "name": "role_config_suppression_hbase_master_log_dir",
150
+        "value": "false"
151
+    },
152
+    {
153
+        "desc": "The amount of time allowed after this role is started that failures of health tests that rely on communication with this role will be tolerated.",
154
+        "display_name": "Health Test Startup Tolerance",
155
+        "name": "master_startup_tolerance",
156
+        "value": "5"
157
+    },
158
+    {
159
+        "desc": "Number of pooled threads to handle region closing in the master.",
160
+        "display_name": "Region Closing Threads",
161
+        "name": "hbase_master_executor_closeregion_threads",
162
+        "value": "5"
163
+    },
164
+    {
165
+        "desc": "When computing the overall Master health, consider the host's health.",
166
+        "display_name": "Master Host Health Test",
167
+        "name": "master_host_health_enabled",
168
+        "value": "true"
169
+    },
170
+    {
171
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory.",
172
+        "display_name": "Heap Dump Directory Free Space Monitoring Absolute Thresholds",
173
+        "name": "heap_dump_directory_free_space_absolute_thresholds",
174
+        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
175
+    },
176
+    {
177
+        "desc": "The method used to collect stacks. The jstack option involves periodically running the jstack command against the role's daemon process. The servlet method is available for those roles that have an HTTP server endpoint exposing the current stacks traces of all threads. When the servlet method is selected, that HTTP endpoint is periodically scraped.",
178
+        "display_name": "Stacks Collection Method",
179
+        "name": "stacks_collection_method",
180
+        "value": "jstack"
181
+    },
182
+    {
183
+        "desc": "Enables the health test that the Cloudera Manager Agent can successfully contact and gather metrics from the web server.",
184
+        "display_name": "Web Metric Collection",
185
+        "name": "master_web_metric_collection_enabled",
186
+        "value": "true"
187
+    },
188
+    {
189
+        "desc": "The maximum size, in megabytes, per log file for Master logs.  Typically used by log4j or logback.",
190
+        "display_name": "Master Max Log Size",
191
+        "name": "max_log_size",
192
+        "value": "200"
193
+    },
194
+    {
195
+        "desc": "<p>The configured triggers for this role. This is a JSON-formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed.</p><p>Each trigger has the following fields:</p><ul><li><code>triggerName</code> <b>(mandatory)</b> - The name of the trigger. This value must be unique for the specific role. </li><li><code>triggerExpression</code> <b>(mandatory)</b> - A tsquery expression representing the trigger. </li><li><code>streamThreshold</code> <b>(optional)</b> - The maximum number of streams that can satisfy a condition of a trigger before the condition fires. By default set to 0, and any stream returned causes the condition to fire. </li><li><code>enabled</code> <b> (optional)</b> - By default set to 'true'. If set to 'false', the trigger is not evaluated.</li><li><code>expressionEditorConfig</code> <b> (optional)</b> - Metadata for the trigger editor. If present, the trigger should only be edited from the Edit Trigger page; editing the trigger here can lead to inconsistencies.</li></ul><p>For example, the following JSON formatted trigger configured for a DataNode fires if the DataNode has more than 1500 file descriptors opened:</p><p><pre>[{\"triggerName\": \"sample-trigger\",\n  \"triggerExpression\": \"IF (SELECT fd_open WHERE roleName=$ROLENAME and last(fd_open) > 1500) DO health:bad\",\n  \"streamThreshold\": 0, \"enabled\": \"true\"}]</pre></p><p>See the trigger rules documentation for more details on how to write triggers using tsquery.</p><p>The JSON format is evolving and may change and, as a result, backward compatibility is not guaranteed between releases.</p>",
196
+        "display_name": "Role Triggers",
197
+        "name": "role_triggers",
198
+        "value": "[]"
199
+    },
200
+    {
201
+        "desc": "The health test thresholds for the weighted average time spent in Java garbage collection. Specified as a percentage of elapsed wall clock time.",
202
+        "display_name": "Garbage Collection Duration Thresholds",
203
+        "name": "master_gc_duration_thresholds",
204
+        "value": "{\"critical\":\"60.0\",\"warning\":\"30.0\"}"
205
+    },
206
+    {
207
+        "desc": "Whether to suppress the results of the Process Status heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
208
+        "display_name": "Suppress Health Test: Process Status",
209
+        "name": "role_health_suppression_master_scm_health",
210
+        "value": "false"
211
+    },
212
+    {
213
+        "desc": "Advanced Configuration Snippet (Safety Valve) for Hadoop Metrics2. Properties will be inserted into <strong>hadoop-metrics2.properties</strong>.",
214
+        "display_name": "Hadoop Metrics2 Advanced Configuration Snippet (Safety Valve)",
215
+        "name": "hadoop_metrics2_safety_valve",
216
+        "value": null
217
+    },
218
+    {
219
+        "desc": "The amount of stacks data that is retained. After the retention limit is reached, the oldest data is deleted.",
220
+        "display_name": "Stacks Collection Data Retention",
221
+        "name": "stacks_collection_data_retention",
222
+        "value": "104857600"
223
+    },
224
+    {
225
+        "desc": "For advanced use only. A string to be inserted into <strong>hbase-site.xml</strong> for this role only.",
226
+        "display_name": "Master Advanced Configuration Snippet (Safety Valve) for hbase-site.xml",
227
+        "name": "hbase_master_config_safety_valve",
228
+        "value": null
229
+    },
230
+    {
231
+        "desc": "These arguments will be passed as part of the Java command line. Commonly, garbage collection flags, PermGen, or extra debugging flags would be passed here.",
232
+        "display_name": "Java Configuration Options for HBase Master",
233
+        "name": "hbase_master_java_opts",
234
+        "value": "-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:ReservedCodeCacheSize=256m"
235
+    },
236
+    {
237
+        "desc": "When set, this role's process is automatically (and transparently) restarted in the event of an unexpected failure.",
238
+        "display_name": "Automatically Restart Process",
239
+        "name": "process_auto_restart",
240
+        "value": "false"
241
+    },
242
+    {
243
+        "desc": "The health test thresholds for unexpected exits encountered within a recent period specified by the unexpected_exits_window configuration for the role.",
244
+        "display_name": "Unexpected Exits Thresholds",
245
+        "name": "unexpected_exits_thresholds",
246
+        "value": "{\"critical\":\"any\",\"warning\":\"never\"}"
247
+    },
248
+    {
249
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Master DNS Network Interface parameter.",
250
+        "display_name": "Suppress Parameter Validation: HBase Master DNS Network Interface",
251
+        "name": "role_config_suppression_hbase_master_dns_interface",
252
+        "value": "false"
253
+    },
254
+    {
255
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Hadoop Metrics2 Advanced Configuration Snippet (Safety Valve) parameter.",
256
+        "display_name": "Suppress Parameter Validation: Hadoop Metrics2 Advanced Configuration Snippet (Safety Valve)",
257
+        "name": "role_config_suppression_hadoop_metrics2_safety_valve",
258
+        "value": "false"
259
+    },
260
+    {
261
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's heap dump directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Heap Dump Directory Free Space Monitoring Absolute Thresholds setting is configured.",
262
+        "display_name": "Heap Dump Directory Free Space Monitoring Percentage Thresholds",
263
+        "name": "heap_dump_directory_free_space_percentage_thresholds",
264
+        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
265
+    },
266
+    {
267
+        "desc": "Number of CPU shares to assign to this role. The greater the number of shares, the larger the share of the host's CPUs that will be given to this role when the host experiences CPU contention. Must be between 2 and 262144. Defaults to 1024 for processes not managed by Cloudera Manager.",
268
+        "display_name": "Cgroup CPU Shares",
269
+        "name": "rm_cpu_shares",
270
+        "value": "1024"
271
+    },
272
+    {
273
+        "desc": "The minimum log level for Master logs",
274
+        "display_name": "Master Logging Threshold",
275
+        "name": "log_threshold",
276
+        "value": "INFO"
277
+    },
278
+    {
279
+        "desc": "Whether to suppress the results of the Audit Pipeline Test heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
280
+        "display_name": "Suppress Health Test: Audit Pipeline Test",
281
+        "name": "role_health_suppression_master_audit_health",
282
+        "value": "false"
283
+    },
284
+    {
285
+        "desc": "Whether to suppress the results of the HBase Regions In Transition Over Threshold heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
286
+        "display_name": "Suppress Health Test: HBase Regions In Transition Over Threshold",
287
+        "name": "role_health_suppression_master_regions_in_transition_over_threshold",
288
+        "value": "false"
289
+    },
290
+    {
291
+        "desc": "Number of pooled threads to handle the recovery of the RegionServers in the master.",
292
+        "display_name": "RegionServer Recovery Threads",
293
+        "name": "hbase_master_executor_serverops_threads",
294
+        "value": "5"
295
+    },
296
+    {
297
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Master Logging Advanced Configuration Snippet (Safety Valve) parameter.",
298
+        "display_name": "Suppress Parameter Validation: Master Logging Advanced Configuration Snippet (Safety Valve)",
299
+        "name": "role_config_suppression_log4j_safety_valve",
300
+        "value": "false"
301
+    },
302
+    {
303
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Rules to Extract Events from Log Files parameter.",
304
+        "display_name": "Suppress Parameter Validation: Rules to Extract Events from Log Files",
305
+        "name": "role_config_suppression_log_event_whitelist",
306
+        "value": "false"
307
+    },
308
+    {
309
+        "desc": "Whether to suppress configuration warnings produced by the CDH Version Validator configuration validator.",
310
+        "display_name": "Suppress Configuration Validator: CDH Version Validator",
311
+        "name": "role_config_suppression_cdh_version_validator",
312
+        "value": "false"
313
+    },
314
+    {
315
+        "desc": "Hard memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
316
+        "display_name": "Cgroup Memory Hard Limit",
317
+        "name": "rm_memory_hard_limit",
318
+        "value": "-1"
319
+    },
320
+    {
321
+        "desc": "Whether to suppress the results of the GC Duration heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
322
+        "display_name": "Suppress Health Test: GC Duration",
323
+        "name": "role_health_suppression_master_gc_duration",
324
+        "value": "false"
325
+    },
326
+    {
327
+        "desc": "The period to review when computing the moving average of garbage collection time.",
328
+        "display_name": "Garbage Collection Duration Monitoring Period",
329
+        "name": "master_gc_duration_window",
330
+        "value": "5"
331
+    },
332
+    {
333
+        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory.",
334
+        "display_name": "Log Directory Free Space Monitoring Absolute Thresholds",
335
+        "name": "log_directory_free_space_absolute_thresholds",
336
+        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
337
+    },
338
+    {
339
+        "desc": "Enable the health test that checks if there are regions in transition over the threshold configured in HBase.",
340
+        "display_name": "HBase Regions In Transition Over Threshold Health Test",
341
+        "name": "master_regions_in_transition_health_enabled",
342
+        "value": "true"
343
+    },
344
+    {
345
+        "desc": "If configured, overrides the process soft and hard rlimits (also called ulimits) for file descriptors to the configured value.",
346
+        "display_name": "Maximum Process File Descriptors",
347
+        "name": "rlimit_fds",
348
+        "value": null
349
+    },
350
+    {
351
+        "desc": "Number of RPC Server instances spun up on HBase Master.",
352
+        "display_name": "HBase Master Handler Count",
353
+        "name": "hbase_master_handler_count",
354
+        "value": "25"
355
+    },
356
+    {
357
+        "desc": "Whether to suppress the results of the Unexpected Exits heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
358
+        "display_name": "Suppress Health Test: Unexpected Exits",
359
+        "name": "role_health_suppression_master_unexpected_exits",
360
+        "value": "false"
361
+    },
362
+    {
363
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Master DNS Name Server parameter.",
364
+        "display_name": "Suppress Parameter Validation: HBase Master DNS Name Server",
365
+        "name": "role_config_suppression_hbase_master_dns_nameserver",
366
+        "value": "false"
367
+    },
368
+    {
369
+        "desc": "Path to directory where heap dumps are generated when java.lang.OutOfMemoryError error is thrown. This directory is automatically created if it does not exist. If this directory already exists, role user must have write access to this directory. If this directory is shared among multiple roles, it should have 1777 permissions. The heap dump files are created with 600 permissions and are owned by the role user. The amount of free space in this directory should be greater than the maximum Java Process heap size configured for this role.",
370
+        "display_name": "Heap Dump Directory",
371
+        "name": "oom_heap_dump_dir",
372
+        "value": "/tmp"
373
+    },
374
+    {
375
+        "desc": "Number of pooled threads to handle region opening in the master.",
376
+        "display_name": "Region Opening Threads",
377
+        "name": "hbase_master_executor_openregion_threads",
378
+        "value": "5"
379
+    },
380
+    {
381
+        "desc": "The frequency with which stacks are collected.",
382
+        "display_name": "Stacks Collection Frequency",
383
+        "name": "stacks_collection_frequency",
384
+        "value": "5.0"
385
+    },
386
+    {
387
+        "desc": "When set, Cloudera Manager will send alerts when the health of this role reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold",
388
+        "display_name": "Enable Health Alerts for this Role",
389
+        "name": "enable_alerts",
390
+        "value": "true"
391
+    },
392
+    {
393
+        "desc": "The name of the DNS network interface from which an HBase Master should report its IP address.",
394
+        "display_name": "HBase Master DNS Network Interface",
395
+        "name": "hbase_master_dns_interface",
396
+        "value": null
397
+    },
398
+    {
399
+        "desc": "Enables the health test that the Master's process state is consistent with the role configuration",
400
+        "display_name": "Master Process Health Test",
401
+        "name": "master_scm_health_enabled",
402
+        "value": "true"
403
+    },
404
+    {
405
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Coprocessor Master Classes parameter.",
406
+        "display_name": "Suppress Parameter Validation: HBase Coprocessor Master Classes",
407
+        "name": "role_config_suppression_hbase_coprocessor_master_classes",
408
+        "value": "false"
409
+    },
410
+    {
411
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Master Advanced Configuration Snippet (Safety Valve) for hbase-site.xml parameter.",
412
+        "display_name": "Suppress Parameter Validation: Master Advanced Configuration Snippet (Safety Valve) for hbase-site.xml",
413
+        "name": "role_config_suppression_hbase_master_config_safety_valve",
414
+        "value": "false"
415
+    },
416
+    {
417
+        "desc": "Time period in seconds to reset long-running metrics (e.g. compactions). This is an HBase specific configuration.",
418
+        "display_name": "Extended Period",
419
+        "name": "hbase_metrics_extended_period",
420
+        "value": "3600"
421
+    },
422
+    {
423
+        "desc": "The health test thresholds on the swap memory usage of the process.",
424
+        "display_name": "Process Swap Memory Thresholds",
425
+        "name": "process_swap_memory_thresholds",
426
+        "value": "{\"critical\":\"never\",\"warning\":\"any\"}"
427
+    },
428
+    {
429
+        "desc": "The health test thresholds of the number of file descriptors used. Specified as a percentage of file descriptor limit.",
430
+        "display_name": "File Descriptor Monitoring Thresholds",
431
+        "name": "master_fd_thresholds",
432
+        "value": "{\"critical\":\"70.0\",\"warning\":\"50.0\"}"
433
+    },
434
+    {
435
+        "desc": "The port that the HBase Master binds to.",
436
+        "display_name": "HBase Master Port",
437
+        "name": "hbase_master_port",
438
+        "value": "60000"
439
+    },
440
+    {
441
+        "desc": "The maximum number of rolled log files to keep for Master logs.  Typically used by log4j or logback.",
442
+        "display_name": "Master Maximum Log File Backups",
443
+        "name": "max_log_backup_index",
444
+        "value": "10"
445
+    },
446
+    {
447
+        "desc": "List of org.apache.hadoop.hbase.coprocessor.MasterObserver coprocessors that are loaded by default on the active HMaster process. For any implemented coprocessor methods, the listed classes will be called in order. After implementing your own MasterObserver, just put it in HBase's classpath and add the fully qualified class name here.",
448
+        "display_name": "HBase Coprocessor Master Classes",
449
+        "name": "hbase_coprocessor_master_classes",
450
+        "value": ""
451
+    },
452
+    {
453
+        "desc": "Soft memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process if and only if the host is facing memory pressure. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
454
+        "display_name": "Cgroup Memory Soft Limit",
455
+        "name": "rm_memory_soft_limit",
456
+        "value": "-1"
457
+    },
458
+    {
459
+        "desc": "Whether to suppress the results of the File Descriptors heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
460
+        "display_name": "Suppress Health Test: File Descriptors",
461
+        "name": "role_health_suppression_master_file_descriptor",
462
+        "value": "false"
463
+    },
464
+    {
465
+        "desc": "Enables the health test that a client can connect to the HBase Master",
466
+        "display_name": "HBase Master Canary Health Test",
467
+        "name": "master_canary_health_enabled",
468
+        "value": "true"
469
+    },
470
+    {
471
+        "desc": "Cloudera Manager agent monitors each service and each of its role by publishing metrics to the Cloudera Manager Service Monitor. Setting it to false will stop Cloudera Manager agent from publishing any metric for corresponding service/roles. This is usually helpful for services that generate large amount of metrics which Service Monitor is not able to process.",
472
+        "display_name": "Enable Metric Collection",
473
+        "name": "process_should_monitor",
474
+        "value": "true"
475
+    },
476
+    {
477
+        "desc": "Whether to suppress the results of the Swap Memory Usage heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
478
+        "display_name": "Suppress Health Test: Swap Memory Usage",
479
+        "name": "role_health_suppression_master_swap_memory_usage",
480
+        "value": "false"
481
+    },
482
+    {
483
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Role Triggers parameter.",
484
+        "display_name": "Suppress Parameter Validation: Role Triggers",
485
+        "name": "role_config_suppression_role_triggers",
486
+        "value": "false"
487
+    },
488
+    {
489
+        "desc": "Whether to suppress the results of the Heap Dump Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
490
+        "display_name": "Suppress Health Test: Heap Dump Directory Free Space",
491
+        "name": "role_health_suppression_master_heap_dump_directory_free_space",
492
+        "value": "false"
493
+    },
494
+    {
495
+        "desc": "When set, a SIGKILL signal is sent to the role process when java.lang.OutOfMemoryError is thrown.",
496
+        "display_name": "Kill When Out of Memory",
497
+        "name": "oom_sigkill_enabled",
498
+        "value": "true"
499
+    },
500
+    {
501
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the HBase Master Log Cleaner Plugins parameter.",
502
+        "display_name": "Suppress Parameter Validation: HBase Master Log Cleaner Plugins",
503
+        "name": "role_config_suppression_hbase_master_logcleaner_plugins",
504
+        "value": "false"
505
+    },
506
+    {
507
+        "desc": "The directory in which stacks logs are placed. If not set, stacks are logged into a <code>stacks</code> subdirectory of the role's log directory.",
508
+        "display_name": "Stacks Collection Directory",
509
+        "name": "stacks_collection_directory",
510
+        "value": null
511
+    },
512
+    {
513
+        "desc": "Weight for the read I/O requests issued by this role. The greater the weight, the higher the priority of the requests when the host experiences I/O contention. Must be between 100 and 1000. Defaults to 1000 for processes not managed by Cloudera Manager.",
514
+        "display_name": "Cgroup I/O Weight",
515
+        "name": "rm_io_weight",
516
+        "value": "500"
517
+    },
518
+    {
519
+        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Java Configuration Options for HBase Master parameter.",
520
+        "display_name": "Suppress Parameter Validation: Java Configuration Options for HBase Master",
521
+        "name": "role_config_suppression_hbase_master_java_opts",
522
+        "value": "false"
523
+    },
524
+    {
525
+        "desc": "Whether to suppress the results of the Host Health heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
526
+        "display_name": "Suppress Health Test: Host Health",
527
+        "name": "role_health_suppression_master_host_health",
528
+        "value": "false"
529
+    }
530
+]

+ 884
- 0
sahara/plugins/cdh/v5_13_0/resources/hbase-regionserver.json
File diff suppressed because it is too large
View File


+ 692
- 0
sahara/plugins/cdh/v5_13_0/resources/hbase-service.json View File

@@ -0,0 +1,692 @@
1
+[
2
+    {
3
+        "desc": "Whether to suppress configuration warnings produced by the Short-Circuit Read Enabled Validator configuration validator.",
4
+        "display_name": "Suppress Configuration Validator: Short-Circuit Read Enabled Validator",
5
+        "name": "service_config_suppression_short_circuit_read_validator",
6
+        "value": "false"