重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
摘要
In TSB 2019-310 the workaround we asked users to do was to disable Zookeeper monitoring. However turning off the monitoring of Zookeeper service can be risky. This article explain the workaround which would allow Cloudera Manager monitoring Zookeeper health using Safety Valve.
成都网站建设哪家好,找创新互联公司!专注于网页设计、网站建设公司、微信开发、微信平台小程序开发、集团成都企业网站定制等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:航空箱等众多领域,积累了大量丰富的经验,同时也获得了客户的一致称赞!
适用于
Zookeeper
Cloudera Manager 6.1.0 and lower, Cloudera Manager 5.16 and lower
说明
If you can not upgrade to Cloudera Manager 6.1, then use below workaround:
Step 1:
Confirm that Zookeeper service monitoring is turned off in Cloudera Manager by checking:
Cloudera Manager > Zookeeper > Configuration, locate the configuration field: "Enable JMX Agent", the check box should be already unchecked. If it is not unchecked, make sure to uncheck it and then save.
Step 2:
In Cloudera Manager > Zookeeper > Configuration, locate the following configuration field: Java Configuration Options for Zookeeper Server
You will need to add the following values into this filed separated either by spaces or lines:
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.ssl=true
-Djavax.net.ssl.keyStore=/opt/cloudera/security/jks/bigdata-host-keystore.jks
-Djavax.net.ssl.keyStorePassword=xxxxxxxxxx
-Dcom.sun.management.jmxremote.ssl.need.client.auth=true
-Djavax.net.ssl.trustStore=/opt/cloudera/security/jks/bigdata-ca-truststore.jks
-Djavax.net.ssl.trustStorePassword=xxxxxxx
Note: Above would though expose plain text keystore and trustore passwords in the configuration, if you want to avoid that, then instead of this set of properties you can specify only the general properties and an additional file location like this:
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.ssl=true
-Dcom.sun.management.jmxremote.ssl.need.client.auth=true
-Dcom.sun.management.jmxremote.ssl.config.file=/full/path/of/jmxremote.properties.key
and then in the jmxremote.properties.key file can contain the following values:
javax.net.ssl.keyStore=keystore.jks
javax.net.ssl.keyStorePassword=my_keystore_pw
javax.net.ssl.trustStore=truststore.jks
javax.net.ssl.trustStorePassword=my_truststore_pw
This jmxremote.properties.key file can be protected by file system permissions, they still contain plain text password, but unfortunately this is a limitation in the jmx framework in Java we can not overcome. If you choose to use the properties file, it has to be readable by the user who runs the Zookeeper process, usually zookeeper.
Step 3:
In addition to the Zookeeper setup, you will need to setup Service Monitor also to authenticate itself, for this you need to edit the following setting:
Cloudera Manager > Cloudera Management Services > Service Monitor > Configuration, locate the following configuration field: Java Configuration Options for Service Monitor
what you need to add here is the following (must be separated by spaces, using line break for easy reading only):
-Djavax.net.ssl.keyStore=/opt/cloudera/security/jks/bigdata-host-keystore.jks
-Djavax.net.ssl.keyStorePassword=xxxxxxxx
-Djavax.net.ssl.trustStore=/opt/cloudera/security/jks/bigdata-ca-truststore.jks
-Djavax.net.ssl.trustStorePassword=xxxxxxxx
Step 4:
Restart Zookeeper and Service Monitor from Cloudera Manager.