You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by st...@apache.org on 2017/09/06 13:08:03 UTC

[1/8] ambari git commit: AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)

Repository: ambari
Updated Branches:
  refs/heads/trunk 202eaed6f -> 680f1148e


http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/configs/sqoop_unsupported_jdbc_driver.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/configs/sqoop_unsupported_jdbc_driver.json b/ambari-server/src/test/python/common-services/configs/sqoop_unsupported_jdbc_driver.json
new file mode 100644
index 0000000..dc76fbb
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/configs/sqoop_unsupported_jdbc_driver.json
@@ -0,0 +1,879 @@
+{
+  "roleCommand": "SERVICE_CHECK",
+  "clusterName": "c1",
+  "hostname": "c6401.ambari.apache.org",
+  "hostLevelParams": {
+    "not_managed_hdfs_path_list": "[\"/apps/hive/warehouse\",\"/apps/falcon\",\"/mr-history/done\",\"/app-logs\",\"/tmp\"]",
+    "agent_stack_retry_count": "5",
+    "agent_stack_retry_on_unavailability": "false",
+    "jdk_location": "http://c6401.ambari.apache.org:8080/resources/",
+    "ambari_db_rca_password": "mapred",
+    "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca",
+    "repo_info": "[{\"baseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\",\"osType\":\"centos6\",\"repoId\":\"HDP-2.0._\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\"}]",
+    "jce_name": "UnlimitedJCEPolicyJDK7.zip",
+    "stack_version": "2.0",
+    "stack_name": "HDP",
+    "ambari_db_rca_driver": "org.postgresql.Driver",
+    "jdk_name": "jdk-7u67-linux-x64.tar.gz",
+    "ambari_db_rca_username": "mapred",
+    "java_home": "/usr/jdk64/jdk1.7.0_45",
+    "java_version": "8",
+    "db_name": "ambari"
+  },
+  "commandType": "EXECUTION_COMMAND",
+  "roleParams": {},
+  "serviceName": "HIVE",
+  "role": "HIVE_CLIENT",
+  "commandParams": {
+    "command_timeout": "300",
+    "service_package_folder": "OOZIE",
+    "script_type": "PYTHON",
+    "script": "scripts/service_check.py",
+    "excluded_hosts": "host1,host2",
+    "mark_draining_only" : "false",
+    "xml_configs_list":[{"hdfs-site.xml":"hdfs-site"}],
+    "env_configs_list":[{"hadoop-env.sh":"hadoop-env"}],
+    "output_file":"HDFS_CLIENT-configs.tar.gz"
+
+  },
+  "taskId": 152,
+  "public_hostname": "c6401.ambari.apache.org",
+  "configurations": {
+    "mapred-site": {
+      "mapreduce.jobhistory.address": "c6402.ambari.apache.org:10020",
+      "mapreduce.cluster.administrators": " hadoop",
+      "mapreduce.reduce.input.buffer.percent": "0.0",
+      "mapreduce.output.fileoutputformat.compress": "false",
+      "mapreduce.framework.name": "yarn",
+      "mapreduce.map.speculative": "false",
+      "mapreduce.reduce.shuffle.merge.percent": "0.66",
+      "yarn.app.mapreduce.am.resource.mb": "683",
+      "mapreduce.map.java.opts": "-Xmx273m",
+      "mapreduce.application.classpath": "$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*",
+      "mapreduce.job.reduce.slowstart.completedmaps": "0.05",
+      "mapreduce.output.fileoutputformat.compress.type": "BLOCK",
+      "mapreduce.reduce.speculative": "false",
+      "mapreduce.reduce.java.opts": "-Xmx546m",
+      "mapreduce.am.max-attempts": "2",
+      "yarn.app.mapreduce.am.admin-command-opts": "-Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log.level=WARN",
+      "mapreduce.reduce.log.level": "INFO",
+      "mapreduce.map.sort.spill.percent": "0.7",
+      "mapreduce.task.timeout": "300000",
+      "mapreduce.map.memory.mb": "341",
+      "mapreduce.task.io.sort.factor": "100",
+      "mapreduce.jobhistory.intermediate-done-dir": "/mr-history/tmp",
+      "mapreduce.reduce.memory.mb": "683",
+      "yarn.app.mapreduce.am.log.level": "INFO",
+      "mapreduce.map.log.level": "INFO",
+      "mapreduce.shuffle.port": "13562",
+      "mapreduce.admin.user.env": "LD_LIBRARY_PATH=/usr/lib/hadoop/lib/native:/usr/lib/hadoop/lib/native/`$JAVA_HOME/bin/java -d32 -version &> /dev/null;if [ $? -eq 0 ]; then echo Linux-i386-32; else echo Linux-amd64-64;fi`",
+      "mapreduce.map.output.compress": "false",
+      "yarn.app.mapreduce.am.staging-dir": "/user",
+      "mapreduce.reduce.shuffle.parallelcopies": "30",
+      "mapreduce.reduce.shuffle.input.buffer.percent": "0.7",
+      "mapreduce.jobhistory.webapp.address": "c6402.ambari.apache.org:19888",
+      "mapreduce.jobhistory.done-dir": "/mr-history/done",
+      "mapreduce.admin.reduce.child.java.opts": "-Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log.level=WARN",
+      "mapreduce.task.io.sort.mb": "136",
+      "yarn.app.mapreduce.am.command-opts": "-Xmx546m",
+      "mapreduce.admin.map.child.java.opts": "-Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log.level=WARN"
+    },
+    "oozie-site": {
+      "oozie.service.PurgeService.purge.interval": "3600",
+      "oozie.service.CallableQueueService.queue.size": "1000",
+      "oozie.service.SchemaService.wf.ext.schemas": "shell-action-0.1.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,sqoop-action-0.2.xsd,ssh-action-0.1.xsd,distcp-action-0.1.xsd,shell-action-0.2.xsd,oozie-sla-0.1.xsd,oozie-sla-0.2.xsd,hive-action-0.3.xsd",
+      "oozie.service.JPAService.jdbc.url": "jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create=true",
+      "oozie.service.HadoopAccessorService.nameNode.whitelist": " ",
+      "use.system.libpath.for.mapreduce.and.pig.jobs": "false",
+      "oozie.db.schema.name": "oozie",
+      "oozie.credentials.credentialclasses": "hcat=org.apache.oozie.action.hadoop.HCatCredentials",
+      "oozie.service.JPAService.create.db.schema": "false",
+      "oozie.authentication.kerberos.name.rules": "\n        RULE:[2:$1@$0]([jt]t@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-MAPREDUSER/\n        RULE:[2:$1@$0]([nd]n@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HDFSUSER/\n        RULE:[2:$1@$0](hm@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/\n        RULE:[2:$1@$0](rs@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/\n        DEFAULT",
+      "oozie.service.ActionService.executor.ext.classes": "\n            org.apache.oozie.action.email.EmailActionExecutor,\n            org.apache.oozie.action.hadoop.HiveActionExecutor,\n            org.apache.oozie.action.hadoop.ShellActionExecutor,\n            org.apache.oozie.action.hadoop.SqoopActionExecutor,\n            org.apache.oozie.action.hadoop.DistcpActionExecutor",
+      "oozie.base.url": "http://c6402.ambari.apache.org:11000/oozie",
+      "oozie.service.JPAService.jdbc.password": "asd",
+      "oozie.service.coord.normal.default.timeout": "120",
+      "oozie.service.AuthorizationService.security.enabled": "true",
+      "oozie.service.JPAService.pool.max.active.conn": "10",
+      "oozie.service.PurgeService.older.than": "30",
+      "oozie.service.coord.push.check.requeue.interval": "30000",
+      "oozie.service.HadoopAccessorService.hadoop.configurations": "*=/etc/hadoop/conf",
+      "oozie.service.HadoopAccessorService.jobTracker.whitelist": " ",
+      "oozie.service.CallableQueueService.callable.concurrency": "3",
+      "oozie.service.JPAService.jdbc.username": "oozie",
+      "oozie.service.CallableQueueService.threads": "10",
+      "oozie.services.ext": "org.apache.oozie.service.PartitionDependencyManagerService,org.apache.oozie.service.HCatAccessorService",
+      "oozie.systemmode": "NORMAL",
+      "oozie.service.WorkflowAppService.system.libpath": "/user/${user.name}/share/lib",
+      "oozie.services": "\n        org.apache.oozie.service.SchedulerService,\n        org.apache.oozie.service.InstrumentationService,\n        org.apache.oozie.service.CallableQueueService,\n        org.apache.oozie.service.UUIDService,\n        org.apache.oozie.service.ELService,\n        org.apache.oozie.service.AuthorizationService,\n        org.apache.oozie.service.UserGroupInformationService,\n        org.apache.oozie.service.HadoopAccessorService,\n        org.apache.oozie.service.URIHandlerService,\n        org.apache.oozie.service.MemoryLocksService,\n        org.apache.oozie.service.DagXLogInfoService,\n        org.apache.oozie.service.SchemaService,\n        org.apache.oozie.service.LiteWorkflowAppService,\n        org.apache.oozie.service.JPAService,\n        org.apache.oozie.service.StoreService,\n        org.apache.oozie.service.CoordinatorStoreService,\n        org.apache.oozie.service.SLAStoreService,\n        org.apache.oozie.service.DBLiteWorkflowStoreService,\n  
       org.apache.oozie.service.CallbackService,\n        org.apache.oozie.service.ActionService,\n        org.apache.oozie.service.ActionCheckerService,\n        org.apache.oozie.service.RecoveryService,\n        org.apache.oozie.service.PurgeService,\n        org.apache.oozie.service.CoordinatorEngineService,\n        org.apache.oozie.service.BundleEngineService,\n        org.apache.oozie.service.DagEngineService,\n        org.apache.oozie.service.CoordMaterializeTriggerService,\n        org.apache.oozie.service.StatusTransitService,\n        org.apache.oozie.service.PauseTransitService,\n        org.apache.oozie.service.GroupsService,\n        org.apache.oozie.service.ProxyUserService",
+      "oozie.service.URIHandlerService.uri.handlers": "org.apache.oozie.dependency.FSURIHandler,org.apache.oozie.dependency.HCatURIHandler",
+      "oozie.authentication.type": "simple",
+      "oozie.service.JPAService.jdbc.driver": "org.apache.derby.jdbc.EmbeddedDriver",
+      "oozie.system.id": "oozie-${user.name}"
+    },
+    "storm-site": {
+      "topology.tuple.serializer": "backtype.storm.serialization.types.ListDelegateSerializer",
+      "topology.workers": "1",
+      "drpc.worker.threads": "64",
+      "storm.zookeeper.servers": "['c6401.ambari.apache.org','c6402.ambari.apache.org']",
+      "supervisor.heartbeat.frequency.secs": "5",
+      "topology.executor.send.buffer.size": "1024",
+      "drpc.childopts": "-Xmx768m",
+      "nimbus.thrift.port": "6627",
+      "storm.zookeeper.retry.intervalceiling.millis": "30000",
+      "storm.local.dir": "/hadoop/storm",
+      "topology.receiver.buffer.size": "8",
+      "storm.messaging.netty.client_worker_threads": "1",
+      "transactional.zookeeper.root": "/transactional",
+      "drpc.request.timeout.secs": "600",
+      "topology.skip.missing.kryo.registrations": "false",
+      "worker.heartbeat.frequency.secs": "1",
+      "zmq.hwm": "0",
+      "storm.zookeeper.connection.timeout": "15000",
+      "topology.max.error.report.per.interval": "5",
+      "storm.messaging.netty.server_worker_threads": "1",
+      "supervisor.worker.start.timeout.secs": "120",
+      "zmq.threads": "1",
+      "topology.acker.executors": "null",
+      "storm.local.mode.zmq": "false",
+      "topology.max.task.parallelism": "null",
+      "storm.zookeeper.port": "2181",
+      "nimbus.childopts": "-Xmx1024m",
+      "worker.childopts": "-Xmx768m",
+      "drpc.queue.size": "128",
+      "storm.zookeeper.retry.times": "5",
+      "nimbus.monitor.freq.secs": "10",
+      "storm.cluster.mode": "distributed",
+      "dev.zookeeper.path": "/tmp/dev-storm-zookeeper",
+      "drpc.invocations.port": "3773",
+      "storm.zookeeper.root": "/storm",
+      "logviewer.childopts": "-Xmx128m",
+      "transactional.zookeeper.port": "null",
+      "topology.worker.childopts": "null",
+      "topology.max.spout.pending": "null",
+      "nimbus.cleanup.inbox.freq.secs": "600",
+      "storm.messaging.netty.min_wait_ms": "100",
+      "nimbus.task.timeout.secs": "30",
+      "nimbus.thrift.max_buffer_size": "1048576",
+      "topology.sleep.spout.wait.strategy.time.ms": "1",
+      "topology.optimize": "true",
+      "nimbus.reassign": "true",
+      "storm.messaging.transport": "backtype.storm.messaging.netty.Context",
+      "logviewer.appender.name": "A1",
+      "nimbus.host": "c6401.ambari.apache.org",
+      "ui.port": "8744",
+      "supervisor.slots.ports": "[6700, 6701]",
+      "nimbus.file.copy.expiration.secs": "600",
+      "supervisor.monitor.frequency.secs": "3",
+      "ui.childopts": "-Xmx768m",
+      "transactional.zookeeper.servers": "null",
+      "zmq.linger.millis": "5000",
+      "topology.error.throttle.interval.secs": "10",
+      "topology.worker.shared.thread.pool.size": "4",
+      "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib",
+      "topology.spout.wait.strategy": "backtype.storm.spout.SleepSpoutWaitStrategy",
+      "task.heartbeat.frequency.secs": "3",
+      "topology.transfer.buffer.size": "1024",
+      "storm.zookeeper.session.timeout": "20000",
+      "topology.executor.receive.buffer.size": "1024",
+      "topology.stats.sample.rate": "0.05",
+      "topology.fall.back.on.java.serialization": "true",
+      "supervisor.childopts": "-Xmx256m",
+      "topology.enable.message.timeouts": "true",
+      "storm.messaging.netty.max_wait_ms": "1000",
+      "nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator",
+      "nimbus.supervisor.timeout.secs": "60",
+      "topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy",
+      "nimbus.inbox.jar.expiration.secs": "3600",
+      "drpc.port": "3772",
+      "topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory",
+      "storm.zookeeper.retry.interval": "1000",
+      "storm.messaging.netty.max_retries": "30",
+      "topology.tick.tuple.freq.secs": "null",
+      "supervisor.enable": "true",
+      "nimbus.task.launch.secs": "120",
+      "task.refresh.poll.secs": "10",
+      "topology.message.timeout.secs": "30",
+      "storm.messaging.netty.buffer_size": "5242880",
+      "topology.state.synchronization.timeout.secs": "60",
+      "supervisor.worker.timeout.secs": "30",
+      "topology.trident.batch.emit.interval.millis": "500",
+      "topology.builtin.metrics.bucket.size.secs": "60",
+      "storm.thrift.transport": "backtype.storm.security.auth.SimpleTransportPlugin",
+      "logviewer.port": "8000",
+      "topology.debug": "false"
+    },
+    "ranger-hive-plugin-properties": {
+      "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900",
+      "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit",
+      "common.name.for.certificate": "-",
+      "XAAUDIT.HDFS.IS_ENABLED": "false",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log",
+      "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword",
+      "XAAUDIT.DB.IS_ENABLED": "true",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600",
+      "XAAUDIT.SOLR.SOLR_URL": "http://localhost:6083/solr/ranger_audits",
+      "XAAUDIT.SOLR.IS_ENABLED": "false",
+      "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks",
+      "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60",
+      "policy_user": "ambari-qa",
+      "UPDATE_XAPOLICIES_ON_GRANT_REVOKE": "true",
+      "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log",
+      "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400",
+      "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10",
+      "SSL_TRUSTSTORE_PASSWORD": "changeit",
+      "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive",
+      "ranger-hive-plugin-enabled": "No",
+      "jdbc.driverClassName": "org.apache.hive.jdbc.HiveDriver",
+      "REPOSITORY_CONFIG_USERNAME": "hive",
+      "XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS": "1000",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60",
+      "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks",
+      "REPOSITORY_CONFIG_PASSWORD": "hive",
+      "XAAUDIT.SOLR.MAX_QUEUE_SIZE": "1"
+    },
+    "webhcat-site": {
+      "templeton.pig.path": "pig.tar.gz/pig/bin/pig",
+      "templeton.exec.timeout": "60000",
+      "templeton.override.enabled": "false",
+      "templeton.jar": "/usr/lib/hcatalog/share/webhcat/svr/webhcat.jar",
+      "templeton.zookeeper.hosts": "c6401.ambari.apache.org:2181,c6402.ambari.apache.org:2181",
+      "templeton.hive.properties": "hive.metastore.local=false,hive.metastore.uris=thrift://c6402.ambari.apache.org:9083,hive.metastore.sasl.enabled=yes,hive.metastore.execute.setugi=true,hive.metastore.warehouse.dir=/apps/hive/warehouse",
+      "templeton.storage.class": "org.apache.hive.hcatalog.templeton.tool.ZooKeeperStorage",
+      "templeton.hive.archive": "hdfs:///apps/webhcat/hive.tar.gz",
+      "templeton.streaming.jar": "hdfs:///apps/webhcat/hadoop-streaming.jar",
+      "templeton.port": "50111",
+      "templeton.libjars": "/usr/lib/zookeeper/zookeeper.jar",
+      "templeton.hadoop": "/usr/bin/hadoop",
+      "templeton.hive.path": "hive.tar.gz/hive/bin/hive",
+      "templeton.hadoop.conf.dir": "/etc/hadoop/conf",
+      "templeton.hcat": "/usr/bin/hcat",
+      "templeton.pig.archive": "hdfs:///apps/webhcat/pig.tar.gz"
+    },
+    "capacity-scheduler": {
+      "yarn.scheduler.capacity.node-locality-delay": "40",
+      "yarn.scheduler.capacity.root.capacity": "100",
+      "yarn.scheduler.capacity.root.acl_administer_queue": "*",
+      "yarn.scheduler.capacity.root.queues": "default",
+      "yarn.scheduler.capacity.maximum-applications": "10000",
+      "yarn.scheduler.capacity.root.default.user-limit-factor": "1",
+      "yarn.scheduler.capacity.root.default.maximum-capacity": "100",
+      "yarn.scheduler.capacity.root.default.state": "RUNNING",
+      "yarn.scheduler.capacity.maximum-am-resource-percent": "0.2",
+      "yarn.scheduler.capacity.root.default.acl_administer_jobs": "*",
+      "yarn.scheduler.capacity.root.default.capacity": "100",
+      "yarn.scheduler.capacity.root.default.acl_submit_applications": "*"
+    },
+    "hdfs-site": {
+      "dfs.namenode.checkpoint.period": "21600",
+      "dfs.namenode.avoid.write.stale.datanode": "true",
+      "dfs.block.access.token.enable": "true",
+      "dfs.support.append": "true",
+      "dfs.datanode.address": "0.0.0.0:${ambari.dfs.datanode.port}",
+      "dfs.cluster.administrators": " hdfs",
+      "dfs.replication": "3",
+      "ambari.dfs.datanode.http.port": "50075",
+      "dfs.datanode.balance.bandwidthPerSec": "6250000",
+      "dfs.namenode.safemode.threshold-pct": "1.0f",
+      "dfs.namenode.checkpoint.edits.dir": "${dfs.namenode.checkpoint.dir}",
+      "dfs.permissions.enabled": "true",
+      "fs.checkpoint.size": "67108864",
+      "dfs.client.read.shortcircuit": "true",
+      "dfs.namenode.https-address": "c6401.ambari.apache.org:50470",
+      "dfs.journalnode.edits.dir": "/grid/0/hdfs/journal",
+      "dfs.blocksize": "134217728",
+      "dfs.datanode.max.transfer.threads": "1024",
+      "dfs.datanode.du.reserved": "1073741824",
+      "dfs.webhdfs.enabled": "true",
+      "dfs.namenode.handler.count": "100",
+      "dfs.namenode.checkpoint.dir": "/hadoop/hdfs/namesecondary",
+      "fs.permissions.umask-mode": "022",
+      "dfs.datanode.http.address": "0.0.0.0:50075",
+      "dfs.datanode.ipc.address": "0.0.0.0:8010",
+      "dfs.datanode.data.dir": "/hadoop/hdfs/data",
+      "dfs.namenode.http-address": "c6401.ambari.apache.org:50070",
+      "dfs.blockreport.initialDelay": "120",
+      "dfs.datanode.failed.volumes.tolerated": "0",
+      "dfs.namenode.accesstime.precision": "0",
+      "ambari.dfs.datanode.port": "50010",
+      "dfs.namenode.avoid.read.stale.datanode": "true",
+      "dfs.namenode.secondary.http-address": "c6402.ambari.apache.org:50090",
+      "dfs.namenode.stale.datanode.interval": "30000",
+      "dfs.heartbeat.interval": "3",
+      "dfs.client.read.shortcircuit.streams.cache.size": "4096",
+      "dfs.permissions.superusergroup": "hdfs",
+      "dfs.https.port": "50470",
+      "dfs.journalnode.http-address": "0.0.0.0:8480",
+      "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket",
+      "dfs.namenode.write.stale.datanode.ratio": "1.0f",
+      "dfs.hosts.exclude": "/etc/hadoop/conf/dfs.exclude",
+      "dfs.datanode.data.dir.perm": "750",
+      "dfs.namenode.name.dir.restore": "true",
+      "dfs.replication.max": "50",
+      "dfs.namenode.name.dir": "/hadoop/hdfs/namenode"
+    },
+    "hbase-site": {
+      "hbase.hstore.flush.retries.number": "120",
+      "hbase.client.keyvalue.maxsize": "10485760",
+      "hbase.hstore.compactionThreshold": "3",
+      "hbase.rootdir": "hdfs://c6401.ambari.apache.org:8020/apps/hbase/data",
+      "hbase.regionserver.handler.count": "60",
+      "hbase.regionserver.global.memstore.lowerLimit": "0.38",
+      "hbase.hregion.memstore.block.multiplier": "2",
+      "hbase.hregion.memstore.flush.size": "134217728",
+      "hbase.superuser": "hbase",
+      "hbase.zookeeper.property.clientPort": "2181",
+      "hbase.regionserver.global.memstore.upperLimit": "0.4",
+      "zookeeper.session.timeout": "30000",
+      "hbase.tmp.dir": "/hadoop/hbase",
+      "hbase.local.dir": "${hbase.tmp.dir}/local",
+      "hbase.hregion.max.filesize": "10737418240",
+      "hfile.block.cache.size": "0.40",
+      "hbase.security.authentication": "simple",
+      "hbase.defaults.for.version.skip": "true",
+      "hbase.zookeeper.quorum": "c6401.ambari.apache.org,c6402.ambari.apache.org",
+      "zookeeper.znode.parent": "/hbase-unsecure",
+      "hbase.hstore.blockingStoreFiles": "10",
+      "hbase.master.port": "60000",
+      "hbase.hregion.majorcompaction": "86400000",
+      "hbase.security.authorization": "false",
+      "hbase.cluster.distributed": "true",
+      "hbase.hregion.memstore.mslab.enabled": "true",
+      "hbase.client.scanner.caching": "100",
+      "hbase.zookeeper.useMulti": "true"
+    },
+    "core-site": {
+      "io.serializations": "org.apache.hadoop.io.serializer.WritableSerialization",
+      "gluster.daemon.user": "null",
+      "hadoop.proxyuser.oozie.groups": "users",
+      "hadoop.proxyuser.hcat.hosts": "c6402.ambari.apache.org",
+      "hadoop.proxyuser.hive.groups": "users",
+      "hadoop.security.authentication": "simple",
+      "hadoop.proxyuser.oozie.hosts": "c6402.ambari.apache.org",
+      "io.compression.codecs": "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec",
+      "mapreduce.jobtracker.webinterface.trusted": "false",
+      "fs.AbstractFileSystem.glusterfs.impl": "null",
+      "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020",
+      "fs.trash.interval": "360",
+      "ipc.client.idlethreshold": "8000",
+      "io.file.buffer.size": "131072",
+      "hadoop.security.authorization": "false",
+      "hadoop.proxyuser.hive.hosts": "c6402.ambari.apache.org",
+      "hadoop.security.auth_to_local": "\n        RULE:[2:$1@$0]([rn]m@.*)s/.*/yarn/\n        RULE:[2:$1@$0](jhs@.*)s/.*/mapred/\n        RULE:[2:$1@$0]([nd]n@.*)s/.*/hdfs/\n        RULE:[2:$1@$0](hm@.*)s/.*/hbase/\n        RULE:[2:$1@$0](rs@.*)s/.*/hbase/\n        DEFAULT",
+      "hadoop.proxyuser.hcat.groups": "users",
+      "ipc.client.connection.maxidletime": "30000",
+      "ipc.client.connect.max.retries": "50"
+    },
+    "hive-site": {
+      "hive.enforce.sorting": "true",
+      "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+      "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+      "hive.optimize.bucketmapjoin.sortedmerge": "true",
+      "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "fs.file.impl.disable.cache": "true",
+      "hive.auto.convert.join.noconditionaltask": "true",
+      "hive.map.aggr": "true",
+      "hive.optimize.index.filter": "true",
+      "hive.security.authorization.enabled": "false",
+      "hive.optimize.reducededuplication.min.reducer": "1",
+      "hive.optimize.bucketmapjoin": "true",
+      "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9083",
+      "hive.mapjoin.bucket.cache.size": "10000",
+      "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+      "hive.vectorized.execution.enabled": "false",
+      "javax.jdo.option.ConnectionUserName": "hive",
+      "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+      "hive.optimize.reducededuplication": "true",
+      "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+      "hive.metastore.client.socket.timeout": "60",
+      "hive.auto.convert.join": "true",
+      "hive.enforce.bucketing": "true",
+      "hive.mapred.reduce.tasks.speculative.execution": "false",
+      "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+      "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+      "hive.auto.convert.sortmerge.join": "true",
+      "fs.hdfs.impl.disable.cache": "true",
+      "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "ambari.hive.db.schema.name": "hive",
+      "hive.metastore.execute.setugi": "true",
+      "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+      "hive.server2.enable.doAs": "true",
+      "hive.server2.transport.mode": "binary",
+      "hive.optimize.mapjoin.mapreduce": "true"
+    },
+    "hive-interactive-site": {
+      "hive.enforce.sorting": "true",
+      "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+      "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+      "hive.optimize.bucketmapjoin.sortedmerge": "true",
+      "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "fs.file.impl.disable.cache": "true",
+      "hive.auto.convert.join.noconditionaltask": "true",
+      "hive.map.aggr": "true",
+      "hive.optimize.index.filter": "true",
+      "hive.security.authorization.enabled": "false",
+      "hive.optimize.reducededuplication.min.reducer": "1",
+      "hive.optimize.bucketmapjoin": "true",
+      "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+      "hive.mapjoin.bucket.cache.size": "10000",
+      "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+      "hive.vectorized.execution.enabled": "false",
+      "javax.jdo.option.ConnectionUserName": "hive",
+      "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+      "hive.optimize.reducededuplication": "true",
+      "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+      "hive.metastore.client.socket.timeout": "60",
+      "hive.auto.convert.join": "true",
+      "hive.enforce.bucketing": "true",
+      "hive.mapred.reduce.tasks.speculative.execution": "false",
+      "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+      "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+      "hive.auto.convert.sortmerge.join": "true",
+      "fs.hdfs.impl.disable.cache": "true",
+      "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "ambari.hive.db.schema.name": "hive",
+      "hive.metastore.execute.setugi": "true",
+      "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+      "hive.server2.enable.doAs": "true",
+      "hive.server2.transport.mode": "binary",
+      "hive.optimize.mapjoin.mapreduce": "true"
+    },
+    "yarn-site": {
+      "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25",
+      "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor",
+      "yarn.nodemanager.local-dirs": "/hadoop/yarn/local,/hadoop/yarn/local1",
+      "yarn.resourcemanager.resource-tracker.address": "c6402.ambari.apache.org:8025",
+      "yarn.nodemanager.remote-app-log-dir-suffix": "logs",
+      "yarn.resourcemanager.hostname": "c6402.ambari.apache.org",
+      "yarn.nodemanager.health-checker.script.timeout-ms": "60000",
+      "yarn.resourcemanager.scheduler.class": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler",
+      "yarn.nodemanager.resource.memory-mb": "2048",
+      "yarn.scheduler.minimum-allocation-mb": "683",
+      "yarn.resourcemanager.address": "c6402.ambari.apache.org:8050",
+      "yarn.resourcemanager.scheduler.address": "c6402.ambari.apache.org:8030",
+      "yarn.log-aggregation.retain-seconds": "2592000",
+      "yarn.scheduler.maximum-allocation-mb": "2048",
+      "yarn.log-aggregation-enable": "true",
+      "yarn.nodemanager.address": "0.0.0.0:45454",
+      "yarn.nodemanager.container-monitor.interval-ms": "3000",
+      "yarn.nodemanager.log-aggregation.compression-type": "gz",
+      "yarn.nodemanager.log.retain-seconds": "604800",
+      "yarn.nodemanager.delete.debug-delay-sec": "0",
+      "yarn.nodemanager.log-dirs": "/hadoop/yarn/log,/hadoop/yarn/log1",
+      "yarn.nodemanager.health-checker.interval-ms": "135000",
+      "yarn.resourcemanager.am.max-attempts": "2",
+      "yarn.nodemanager.remote-app-log-dir": "/app-logs",
+      "yarn.nodemanager.admin-env": "MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX",
+      "yarn.nodemanager.aux-services": "mapreduce_shuffle",
+      "yarn.nodemanager.vmem-check-enabled": "false",
+      "yarn.nodemanager.vmem-pmem-ratio": "2.1",
+      "yarn.admin.acl": "*",
+      "yarn.resourcemanager.webapp.address": "c6402.ambari.apache.org:8088",
+      "yarn.resourcemanager.nodes.exclude-path": "/etc/hadoop/conf/yarn.exclude",
+      "yarn.nodemanager.linux-container-executor.group": "hadoop",
+      "yarn.acl.enable": "true",
+      "yarn.log.server.url": "http://c6402.ambari.apache.org:19888/jobhistory/logs",
+      "yarn.application.classpath": "/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*",
+      "yarn.resourcemanager.admin.address": "c6402.ambari.apache.org:8141",
+      "yarn.nodemanager.aux-services.mapreduce_shuffle.class": "org.apache.hadoop.mapred.ShuffleHandler",
+      "yarn.timeline-service.leveldb-timeline-store.path": "/var/log/hadoop-yarn/timeline"
+    },
+    "tez-site": {
+      "tez.am.log.level": "WARN",
+      "tez.lib.uris": "hdfs:///apps/tez/,hdfs:///apps/tez/lib/",
+      "tez.staging-dir": "/tmp/${user.name}/staging",
+      "tez.am.am-rm.heartbeat.interval-ms.max": "250"
+    },
+    "yarn-env": {
+      "yarn_pid_dir_prefix": "/var/run/hadoop-yarn",
+      "apptimelineserver_heapsize": "1024",
+      "nodemanager_heapsize": "1024",
+      "content": "\nexport HADOOP_YARN_HOME={{hadoop_yarn_home}}\nexport YARN_LOG_DIR={{yarn_log_dir_prefix}}/$USER\nexport YARN_PID_DIR={{yarn_pid_dir_prefix}}/$USER\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\nexport JAVA_HOME={{java64_home}}\n\n# User for YARN daemons\nexport HADOOP_YARN_USER=${HADOOP_YARN_USER:-yarn}\n\n# resolve links - $0 may be a softlink\nexport YARN_CONF_DIR=\"${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}\"\n\n# some Java parameters\n# export JAVA_HOME=/home/y/libexec/jdk1.6.0/\nif [ \"$JAVA_HOME\" != \"\" ]; then\n  #echo \"run java in $JAVA_HOME\"\n  JAVA_HOME=$JAVA_HOME\nfi\n\nif [ \"$JAVA_HOME\" = \"\" ]; then\n  echo \"Error: JAVA_HOME is not set.\"\n  exit 1\nfi\n\nJAVA=$JAVA_HOME/bin/java\nJAVA_HEAP_MAX=-Xmx1000m\n\n# For setting YARN specific HEAP sizes please use this\n# Parameter and set appropriately\nYARN_HEAPSIZE={{yarn_heapsize}}\n\n# check envvars which might override default args\nif [ \"$YARN_HEAPSIZE\" != \"\" ]; then\n  JAVA_HEAP_MAX=\"-
 Xmx\"\"$YARN_HEAPSIZE\"\"m\"\nfi\n\n# Resource Manager specific parameters\n\n# Specify the max Heapsize for the ResourceManager using a numerical value\n# in the scale of MB. For example, to specify an jvm option of -Xmx1000m, set\n# the value to 1000.\n# This value will be overridden by an Xmx setting specified in either YARN_OPTS\n# and/or YARN_RESOURCEMANAGER_OPTS.\n# If not specified, the default value will be picked from either YARN_HEAPMAX\n# or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\nexport YARN_RESOURCEMANAGER_HEAPSIZE={{resourcemanager_heapsize}}\n\n# Specify the JVM options to be used when starting the ResourceManager.\n# These options will be appended to the options specified as YARN_OPTS\n# and therefore may override any similar flags set in YARN_OPTS\n#export YARN_RESOURCEMANAGER_OPTS=\n\n# Node Manager specific parameters\n\n# Specify the max Heapsize for the NodeManager using a numerical value\n# in the scale of MB. For example, to specif
 y an jvm option of -Xmx1000m, set\n# the value to 1000.\n# This value will be overridden by an Xmx setting specified in either YARN_OPTS\n# and/or YARN_NODEMANAGER_OPTS.\n# If not specified, the default value will be picked from either YARN_HEAPMAX\n# or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\nexport YARN_NODEMANAGER_HEAPSIZE={{nodemanager_heapsize}}\n\n# Specify the max Heapsize for the HistoryManager using a numerical value\n# in the scale of MB. For example, to specify an jvm option of -Xmx1000m, set\n# the value to 1024.\n# This value will be overridden by an Xmx setting specified in either YARN_OPTS\n# and/or YARN_HISTORYSERVER_OPTS.\n# If not specified, the default value will be picked from either YARN_HEAPMAX\n# or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\nexport YARN_HISTORYSERVER_HEAPSIZE={{apptimelineserver_heapsize}}\n\n# Specify the JVM options to be used when starting the NodeManager.\n# These options will be appen
 ded to the options specified as YARN_OPTS\n# and therefore may override any similar flags set in YARN_OPTS\n#export YARN_NODEMANAGER_OPTS=\n\n# so that filenames w/ spaces are handled correctly in loops below\nIFS=\n\n\n# default log directory and file\nif [ \"$YARN_LOG_DIR\" = \"\" ]; then\n  YARN_LOG_DIR=\"$HADOOP_YARN_HOME/logs\"\nfi\nif [ \"$YARN_LOGFILE\" = \"\" ]; then\n  YARN_LOGFILE='yarn.log'\nfi\n\n# default policy file for service-level authorization\nif [ \"$YARN_POLICYFILE\" = \"\" ]; then\n  YARN_POLICYFILE=\"hadoop-policy.xml\"\nfi\n\n# restore ordinary behaviour\nunset IFS\n\n\nYARN_OPTS=\"$YARN_OPTS -Dhadoop.log.dir=$YARN_LOG_DIR\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.log.dir=$YARN_LOG_DIR\"\nYARN_OPTS=\"$YARN_OPTS -Dhadoop.log.file=$YARN_LOGFILE\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.log.file=$YARN_LOGFILE\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.home.dir=$YARN_COMMON_HOME\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.id.str=$YARN_IDENT_STRING\"\nYARN_OPTS=\"$YARN_OPTS -Dhadoop.root.logger=${YARN_
 ROOT_LOGGER:-INFO,console}\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.root.logger=${YARN_ROOT_LOGGER:-INFO,console}\"\nif [ \"x$JAVA_LIBRARY_PATH\" != \"x\" ]; then\n  YARN_OPTS=\"$YARN_OPTS -Djava.library.path=$JAVA_LIBRARY_PATH\"\nfi\nYARN_OPTS=\"$YARN_OPTS -Dyarn.policy.file=$YARN_POLICYFILE\"",
+      "yarn_heapsize": "1024",
+      "yarn_user": "yarn",
+      "resourcemanager_heapsize": "1024",
+      "yarn_log_dir_prefix": "/var/log/hadoop-yarn",
+      "min_user_id": "1000"
+    },
+    "cluster-env": {
+      "managed_hdfs_resource_property_names": "",
+      "security_enabled": "false",
+      "ignore_groupsusers_create": "false",
+      "smokeuser": "ambari-qa",
+      "kerberos_domain": "EXAMPLE.COM",
+      "user_group": "hadoop"
+    },
+    "hadoop-env": {
+      "namenode_opt_maxnewsize": "200m",
+      "hdfs_log_dir_prefix": "/var/log/hadoop",
+      "namenode_heapsize": "1024m",
+      "namenode_opt_newsize": "200m",
+      "namenode_opt_permsize" : "128m",
+      "namenode_opt_maxpermsize" : "256m",
+      "content": "\n# Set Hadoop-specific environment variables here.\n\n# The only required environment variable is JAVA_HOME.  All others are\n# optional.  When running a distributed configuration it is best to\n# set JAVA_HOME in this file, so that it is correctly defined on\n# remote nodes.\n\n# The java implementation to use.  Required.\nexport JAVA_HOME={{java_home}}\nexport HADOOP_HOME_WARN_SUPPRESS=1\n\n# Hadoop home directory\nexport HADOOP_HOME=${HADOOP_HOME:-/usr/lib/hadoop}\n\n# Hadoop Configuration Directory\n#TODO: if env var set that can cause problems\nexport HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-{{hadoop_conf_dir}}}\n\n{# this is different for HDP1 #}\n# Path to jsvc required by secure HDP 2.0 datanode\nexport JSVC_HOME={{jsvc_path}}\n\n\n# The maximum amount of heap to use, in MB. Default is 1000.\nexport HADOOP_HEAPSIZE=\"{{hadoop_heapsize}}\"\n\nexport HADOOP_NAMENODE_INIT_HEAPSIZE=\"-Xms{{namenode_heapsize}}\"\n\n# Extra Java runtime options.  Empty by default.\nex
 port HADOOP_OPTS=\"-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}\"\n\n# Command specific options appended to HADOOP_OPTS when specified\nexport HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_NAMENODE_OPTS}\"\nHADOOP_JOBTRACKER_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{jtnode_opt_newsize}} -XX:MaxNewSize={{jtnode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USE
 R/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xmx{{jtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}\"\n\nHADOOP_TASKTRACKER_OPTS=\"-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}\"\nHADOOP_DATANODE_OPTS=\"-Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=ERROR,DRFAS ${HADOOP_DATANODE_OPTS}\"\nHADOOP_BALANCER_OPTS=\"-server -Xmx{{hadoop_heapsize}}m ${HADOOP_BALANCER_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/
 gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps ${HADOOP_NAMENODE_INIT_HEAPSIZE} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_SECONDARYNAMENODE_OPTS}\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n# On secure datanodes, user to run the datanode as after dropping privileges\nexport HADOOP_SECURE_DN_USER={{hdfs_user}}\n\n# Extra ssh options.  Empty by default.\nexport HADOOP_SSH_OPTS=\"-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR\"\n\n# Where log files are stored.  $HADOOP_HOME/logs by default.\nexport HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER\n\n# History server logs\nexport HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER\n\n# Where log files are stored in the secure data environment.\nexport HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SE
 CURE_DN_USER\n\n# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.\n# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves\n\n# host:path where hadoop code should be rsync'd from.  Unset by default.\n# export HADOOP_MASTER=master:/home/$USER/src/hadoop\n\n# Seconds to sleep between slave commands.  Unset by default.  This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HADOOP_SLAVE_SLEEP=0.1\n\n# The directory where pid files are stored. /tmp by default.\nexport HADOOP_PID_DIR={{hadoop_pid_dir_prefix}}/$USER\nexport HADOOP_SECURE_DN_PID_DIR={{hadoop_pid_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# History server pid\nexport HADOOP_MAPRED_PID_DIR={{mapred_pid_dir_prefix}}/$USER\n\nYARN_RESOURCEMANAGER_OPTS=\"-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY\"\n\n# A string representing this instance of hadoop. $USER by default.\nexport HADOOP_IDENT_STRING=$USER\n\n# The s
 cheduling priority for daemon processes.  See 'man nice'.\n\n# export HADOOP_NICENESS=10\n\n# Use libraries from standard classpath\nJAVA_JDBC_LIBS=\"\"\n#Add libraries required by mysql connector\nfor jarFile in `ls /usr/share/java/*mysql* 2>/dev/null`\ndo\n  JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\ndone\n#Add libraries required by oracle connector\nfor jarFile in `ls /usr/share/java/*ojdbc* 2>/dev/null`\ndo\n  JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\ndone\n#Add libraries required by nodemanager\nMAPREDUCE_LIBS={{mapreduce_libs_path}}\nexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}:${MAPREDUCE_LIBS}\n\nif [ -d \"/usr/lib/tez\" ]; then\n  export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/lib/tez/*:/usr/lib/tez/lib/*:/etc/tez/conf\nfi\n\n# Setting path to hdfs command line\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\n\n#Mostly required for hadoop 2.0\nexport JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:/usr/lib/hadoop/lib/native/Linux-amd64-64",
+      "hdfs_user": "hdfs",
+      "dtnode_heapsize": "1024m",
+      "proxyuser_group": "users",
+      "hadoop_heapsize": "1024",
+      "hadoop_pid_dir_prefix": "/var/run/hadoop"
+    },
+    "hive-env": {
+      "hcat_pid_dir": "/var/run/webhcat",
+      "hcat_user": "hcat",
+      "hive_ambari_database": "MySQL",
+      "hive_hostname": "abtest-3.c.pramod-thangali.internal",
+      "hive_metastore_port": "9083",
+      "webhcat_user": "hcat",
+      "content": "\n if [ \"$SERVICE\" = \"cli\" ]; then\n   if [ -z \"$DEBUG\" ]; then\n     export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseParNewGC -XX:-UseGCOverheadLimit\"\n   else\n     export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit\"\n   fi\n fi\n\n# The heap size of the jvm stared by hive shell script can be controlled via:\n\nexport HADOOP_HEAPSIZE=\"{{hive_heapsize}}\"\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n\n# Larger heap size may be required when running queries over large number of files or partitions.\n# By default hive shell scripts use a heap size of 256 (MB).  Larger heap size would also be\n# appropriate for hive server (hwi etc).\n\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nHADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hive Configuration Directory can 
 be controlled by:\nexport HIVE_CONF_DIR={{conf_dir}}\n\n# Folder containing extra ibraries required for hive compilation/execution can be controlled by:\nif [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n  export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\nelif [ -d \"/usr/lib/hive-hcatalog/\" ]; then\n  export HIVE_AUX_JARS_PATH=/usr/lib/hive-hcatalog/share/hcatalog/hive-hcatalog-core-*.jar\nelse\n  export HIVE_AUX_JARS_PATH=/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar\nfi\nexport METASTORE_PORT={{hive_metastore_port}}",
+      "hive_database_name": "hive",
+      "hive_database_type": "mysql",
+      "hive_pid_dir": "/var/run/hive",
+      "hive_log_dir": "/var/log/hive",
+      "hive_user": "hive",
+      "hcat_log_dir": "/var/log/webhcat",
+      "hive_database": "New MySQL Database",
+      "hive_security_authorization": "None"
+    },
+    "hbase-env": {
+      "hbase_pid_dir": "/var/run/hbase",
+      "hbase_user": "hbase",
+      "hbase_master_heapsize": "1024m",
+      "content": "\n# Set environment variables here.\n\n# The java implementation to use. Java 1.6 required.\nexport JAVA_HOME={{java64_home}}\n\n# HBase Configuration directory\nexport HBASE_CONF_DIR=${HBASE_CONF_DIR:-{{hbase_conf_dir}}}\n\n# Extra Java CLASSPATH elements. Optional.\nexport HBASE_CLASSPATH=${HBASE_CLASSPATH}\n\n# The maximum amount of heap to use, in MB. Default is 1000.\n# export HBASE_HEAPSIZE=1000\n\n# Extra Java runtime options.\n# Below are what we set by default. May only work with SUN JVM.\n# For more on why as well as other possible settings,\n# see http://wiki.apache.org/hadoop/PerformanceTuning\nexport HBASE_OPTS=\"-XX:+UseConcMarkSweepGC -XX:ErrorFile={{log_dir}}/hs_err_pid%p.log\"\nexport SERVER_GC_OPTS=\"-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:{{log_dir}}/gc.log-`date +'%Y%m%d%H%M'`\"\n# Uncomment below to enable java garbage collection logging.\n# export HBASE_OPTS=\"$HBASE_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateS
 tamps -Xloggc:$HBASE_HOME/logs/gc-hbase.log\"\n\n# Uncomment and adjust to enable JMX exporting\n# See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access.\n# More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html\n#\n# export HBASE_JMX_BASE=\"-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false\"\nexport HBASE_MASTER_OPTS=\"-Xmx{{master_heapsize}}\"\nexport HBASE_REGIONSERVER_OPTS=\"-Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70  -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}\"\n# export HBASE_THRIFT_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103\"\n# export HBASE_ZOOKEEPER_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104\"\n\n# File naming hosts on which HRegionServers will run. $HBASE_HOME/conf/regionservers by default.\nexport HBASE_REGIONSERVERS=${HBASE_CONF_DIR}/regionservers\n\n# Extra 
 ssh options. Empty by default.\n# export HBASE_SSH_OPTS=\"-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR\"\n\n# Where log files are stored. $HBASE_HOME/logs by default.\nexport HBASE_LOG_DIR={{log_dir}}\n\n# A string representing this instance of hbase. $USER by default.\n# export HBASE_IDENT_STRING=$USER\n\n# The scheduling priority for daemon processes. See 'man nice'.\n# export HBASE_NICENESS=10\n\n# The directory where pid files are stored. /tmp by default.\nexport HBASE_PID_DIR={{pid_dir}}\n\n# Seconds to sleep between slave commands. Unset by default. This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HBASE_SLAVE_SLEEP=0.1\n\n# Tell HBase whether it should manage it's own instance of Zookeeper or not.\nexport HBASE_MANAGES_ZK=false\n\n{% if security_enabled %}\nexport HBASE_OPTS=\"$HBASE_OPTS -Djava.security.auth.login.config={{client_jaas_config_file}}\"\nexport HBASE_MASTER_OPTS=\"$HBAS
 E_MASTER_OPTS -Djava.security.auth.login.config={{master_jaas_config_file}}\"\nexport HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS -Djava.security.auth.login.config={{regionserver_jaas_config_file}}\"\n{% endif %}",
+      "hbase_regionserver_heapsize": "1024m",
+      "hbase_regionserver_xmn_max": "512",
+      "hbase_regionserver_xmn_ratio": "0.2",
+      "hbase_log_dir": "/var/log/hbase",
+      "hbase_java_io_tmpdir" : "/tmp"
+    },
+    "ganglia-env": {
+      "gmond_user": "nobody",
+      "ganglia_runtime_dir": "/var/run/ganglia/hdp",
+      "rrdcached_base_dir": "/var/lib/ganglia/rrds",
+      "rrdcached_flush_timeout": "7200",
+      "gmetad_user": "nobody",
+      "rrdcached_write_threads": "4",
+      "rrdcached_delay": "1800",
+      "rrdcached_timeout": "3600"
+    },
+    "zookeeper-env": {
+      "clientPort": "2181",
+      "zk_user": "zookeeper",
+      "zk_log_dir": "/var/log/zookeeper",
+      "syncLimit": "5",
+      "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}",
+      "initLimit": "10",
+      "zk_pid_dir": "/var/run/zookeeper",
+      "zk_data_dir": "/hadoop/zookeeper",
+      "tickTime": "2000"
+    },
+    "mapred-env": {
+      "content": "\n# export JAVA_HOME=/home/y/libexec/jdk1.6.0/\n\nexport HADOOP_JOB_HISTORYSERVER_HEAPSIZE={{jobhistory_heapsize}}\n\nexport HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA\n\n#export HADOOP_JOB_HISTORYSERVER_OPTS=\n#export HADOOP_MAPRED_LOG_DIR=\"\" # Where log files are stored.  $HADOOP_MAPRED_HOME/logs by default.\n#export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.\n#export HADOOP_MAPRED_PID_DIR= # The pid files are stored. /tmp by default.\n#export HADOOP_MAPRED_IDENT_STRING= #A string representing this instance of hadoop. $USER by default\n#export HADOOP_MAPRED_NICENESS= #The scheduling priority for daemons. Defaults to 0.",
+      "mapred_pid_dir_prefix": "/var/run/hadoop-mapreduce",
+      "mapred_user": "mapred",
+      "jobhistory_heapsize": "900",
+      "mapred_log_dir_prefix": "/var/log/hadoop-mapreduce"
+    },
+    "tez-env": {
+      "content": "\n# Tez specific configuration\nexport TEZ_CONF_DIR={{config_dir}}\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# The java implementation to use.\nexport JAVA_HOME={{java64_home}}",
+      "tez_user": "tez"
+    },
+    "storm-env": {
+      "content": "\n#!/bin/bash\n\n# Set Storm specific environment variables here.\n\n# The java implementation to use.\nexport JAVA_HOME={{java_home}}\n\n# export STORM_CONF_DIR=\"\"",
+      "storm_log_dir": "/var/log/storm",
+      "storm_pid_dir": "/var/run/storm",
+      "storm_user": "storm"
+    },
+    "falcon-env": {
+      "falcon_port": "15000",
+      "falcon_pid_dir": "/var/run/falcon",
+      "falcon_log_dir": "/var/log/falcon",
+      "falcon.emeddedmq.port": "61616",
+      "falcon_user": "falcon",
+      "falcon_local_dir": "/hadoop/falcon",
+      "content": "\n# The java implementation to use. If JAVA_HOME is not found we expect java and jar to be in path\nexport JAVA_HOME={{java_home}}\n\n# any additional java opts you want to set. This will apply to both client and server operations\n#export FALCON_OPTS=\n\n# any additional java opts that you want to set for client only\n#export FALCON_CLIENT_OPTS=\n\n# java heap size we want to set for the client. Default is 1024MB\n#export FALCON_CLIENT_HEAP=\n\n# any additional opts you want to set for prisim service.\n#export FALCON_PRISM_OPTS=\n\n# java heap size we want to set for the prisim service. Default is 1024MB\n#export FALCON_PRISM_HEAP=\n\n# any additional opts you want to set for falcon service.\nexport FALCON_SERVER_OPTS=\"-Dfalcon.embeddedmq={{falcon_embeddedmq_enabled}} -Dfalcon.emeddedmq.port={{falcon_emeddedmq_port}}\"\n\n# java heap size we want to set for the falcon server. Default is 1024MB\n#export FALCON_SERVER_HEAP=\n\n# What is is considered as falcon home
  dir. Default is the base locaion of the installed software\n#export FALCON_HOME_DIR=\n\n# Where log files are stored. Defatult is logs directory under the base install location\nexport FALCON_LOG_DIR={{falcon_log_dir}}\n\n# Where pid files are stored. Defatult is logs directory under the base install location\nexport FALCON_PID_DIR={{falcon_pid_dir}}\n\n# where the falcon active mq data is stored. Defatult is logs/data directory under the base install location\nexport FALCON_DATA_DIR={{falcon_embeddedmq_data}}\n\n# Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir.\n#export FALCON_EXPANDED_WEBAPP_DIR=",
+      "falcon.embeddedmq.data": "/hadoop/falcon/embeddedmq/data",
+      "falcon.embeddedmq": "true",
+      "falcon_store_uri": "file:///hadoop/falcon/store"
+    },
+    "oozie-env": {
+      "oozie_derby_database": "Derby",
+      "oozie_admin_port": "11001",
+      "oozie_hostname": "abtest-3.c.pramod-thangali.internal",
+      "oozie_pid_dir": "/var/run/oozie",
+      "content": "\n#!/bin/bash\n\nif [ -d \"/usr/lib/bigtop-tomcat\" ]; then\n  export OOZIE_CONFIG=${OOZIE_CONFIG:-/etc/oozie/conf}\n  export CATALINA_BASE=${CATALINA_BASE:-/var/lib/oozie/oozie-server}\n  export CATALINA_TMPDIR=${CATALINA_TMPDIR:-/var/tmp/oozie}\n  export OOZIE_CATALINA_HOME=/usr/lib/bigtop-tomcat\nfi\n\n#Set JAVA HOME\nexport JAVA_HOME={{java_home}}\n\nexport JRE_HOME=${JAVA_HOME}\n\n# Set Oozie specific environment variables here.\n\n# Settings for the Embedded Tomcat that runs Oozie\n# Java System properties for Oozie should be specified in this variable\n#\n# export CATALINA_OPTS=\n\n# Oozie configuration file to load from Oozie configuration directory\n#\n# export OOZIE_CONFIG_FILE=oozie-site.xml\n\n# Oozie logs directory\n#\nexport OOZIE_LOG={{oozie_log_dir}}\n\n# Oozie pid directory\n#\nexport CATALINA_PID={{pid_file}}\n\n#Location of the data for oozie\nexport OOZIE_DATA={{oozie_data_dir}}\n\n# Oozie Log4J configuration file to load from Oozie configuratio
 n directory\n#\n# export OOZIE_LOG4J_FILE=oozie-log4j.properties\n\n# Reload interval of the Log4J configuration file, in seconds\n#\n# export OOZIE_LOG4J_RELOAD=10\n\n# The port Oozie server runs\n#\nexport OOZIE_HTTP_PORT={{oozie_server_port}}\n\n# The admin port Oozie server runs\n#\nexport OOZIE_ADMIN_PORT={{oozie_server_admin_port}}\n\n# The host name Oozie server runs on\n#\n# export OOZIE_HTTP_HOSTNAME=`hostname -f`\n\n# The base URL for callback URLs to Oozie\n#\n# export OOZIE_BASE_URL=\"http://${OOZIE_HTTP_HOSTNAME}:${OOZIE_HTTP_PORT}/oozie\"\nexport JAVA_LIBRARY_PATH=/usr/lib/hadoop/lib/native/Linux-amd64-64",
+      "oozie_user": "oozie",
+      "oozie_database": "New Derby Database",
+      "oozie_data_dir": "/hadoop/oozie/data",
+      "oozie_log_dir": "/var/log/oozie"
+    },
+    "webhcat-env": {
+      "content": "\n# The file containing the running pid\nPID_FILE={{pid_file}}\n\nTEMPLETON_LOG_DIR={{templeton_log_dir}}/\n\n\nWEBHCAT_LOG_DIR={{templeton_log_dir}}/\n\n# The console error log\nERROR_LOG={{templeton_log_dir}}/webhcat-console-error.log\n\n# The console log\nCONSOLE_LOG={{templeton_log_dir}}/webhcat-console.log\n\n#TEMPLETON_JAR=templeton_jar_name\n\n#HADOOP_PREFIX=hadoop_prefix\n\n#HCAT_PREFIX=hive_prefix\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nexport HADOOP_HOME=/usr/lib/hadoop"
+    },
+    "pig-env": {
+      "content": "\nJAVA_HOME={{java64_home}}\nHADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\nif [ -d \"/usr/lib/tez\" ]; then\n  PIG_OPTS=\"$PIG_OPTS -Dmapreduce.framework.name=yarn\"\nfi"
+    },
+    "sqoop-env": {
+      "content": "\n# Set Hadoop-specific environment variables here.\n\n#Set path to where bin/hadoop is available\n#Set path to where bin/hadoop is available\nexport HADOOP_HOME=${HADOOP_HOME:-/usr/lib/hadoop}\n\n#set the path to where bin/hbase is available\nexport HBASE_HOME=${HBASE_HOME:-/usr/lib/hbase}\n\n#Set the path to where bin/hive is available\nexport HIVE_HOME=${HIVE_HOME:-/usr/lib/hive}\n\n#Set the path for where zookeper config dir is\nexport ZOOCFGDIR=${ZOOCFGDIR:-/etc/zookeeper/conf}\n\n# add libthrift in hive to sqoop class path first so hive imports work\nexport SQOOP_USER_CLASSPATH=\"`ls ${HIVE_HOME}/lib/libthrift-*.jar 2> /dev/null`:${SQOOP_USER_CLASSPATH}\"",
+      "sqoop_user": "sqoop",
+      "jdbc_drivers" : "com.microsoft.sqlserver.jdbc.SQLServerDriver,Unsupported"
+    },
+    "hdfs-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "yarn-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "hbase-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "hive-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "hive-exec-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "webhcat-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "zookeeper-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "pig-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "pig-properties": {
+      "content": "pigproperties\nline2"
+    },
+    "oozie-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "flume-conf": {
+      "content": "a1.sources = r1\n a1.sinks = k1\n a1.channels = c1\n # Describe/configure the source\n a1.sources.r1.type = netcat\n a1.sources.r1.bind = localhost\n a1.sources.r1.port = 44444\n \n # Describe the sink\n a1.sinks.k1.type = logger\n \n # Use a channel which buffers events in memory\n a1.channels.c1.type = memory\n a1.channels.c1.capacity = 1000\n a1.channels.c1.transactionCapacity = 100\n \n # Bind the source and sink to the channel\n a1.sources.r1.channels = c1\n a1.sinks.k1.channel = c1\n"
+    },
+    "flume-log4j": {
+      "content": "log4jproperties\nline2"
+    }
+  },
+  "configuration_attributes": {
+    "yarn-site": {
+      "final": {
+        "yarn.nodemanager.disk-health-checker.min-healthy-disks": "true",
+        "yarn.nodemanager.container-executor.class": "true",
+        "yarn.nodemanager.local-dirs": "true"
+      }
+    },
+    "tez-site": {
+      "final": {
+        "tez.am.log.level": "true"
+      }
+    },
+    "capacity-scheduler": {
+      "final": {
+        "yarn.scheduler.capacity.node-locality-delay": "true"
+      }
+    },
+    "mapred-site": {
+      "final": {
+        "mapred.healthChecker.script.path": "true",
+        "mapreduce.jobtracker.staging.root.dir": "true"
+      }
+    },
+    "oozie-site": {
+      "final": {
+        "oozie.service.PurgeService.purge.interval": "true",
+        "oozie.service.CallableQueueService.queue.size": "true"
+      }
+    },
+    "webhcat-site": {
+      "final": {
+        "templeton.pig.path": "true",
+        "templeton.exec.timeout": "true",
+        "templeton.override.enabled": "true"
+      }
+    },
+    "hdfs-site": {
+      "final": {
+        "dfs.web.ugi": "true",
+        "dfs.support.append": "true",
+        "dfs.cluster.administrators": "true"
+      }
+    },
+    "hbase-site": {
+      "final": {
+        "hbase.client.keyvalue.maxsize": "true",
+        "hbase.hstore.compactionThreshold": "true",
+        "hbase.rootdir": "true"
+      }
+    },
+    "core-site": {
+      "final": {
+        "hadoop.proxyuser.hive.groups": "true",
+        "webinterface.private.actions": "true",
+        "hadoop.proxyuser.oozie.hosts": "true"
+      }
+    },
+    "hive-site": {
+      "final": {
+        "javax.jdo.option.ConnectionPassword": "true",
+        "javax.jdo.option.ConnectionDriverName": "true",
+        "hive.optimize.bucketmapjoin.sortedmerge": "true"
+      }
+    },
+    "hive-interactive-site": {
+      "final": {
+        "javax.jdo.option.ConnectionPassword": "true",
+        "javax.jdo.option.ConnectionDriverName": "true",
+        "hive.optimize.bucketmapjoin.sortedmerge": "true"
+      }
+    }
+  },
+  "configurationTags": {
+    "capacity-scheduler": {
+      "tag": "version1"
+    },
+    "oozie-site": {
+      "tag": "version1"
+    },
+    "storm-site": {
+      "tag": "version1"
+    },
+    "webhcat-site": {
+      "tag": "version1"
+    },
+    "global": {
+      "tag": "version1"
+    },
+    "mapred-site": {
+      "tag": "version1"
+    },
+    "hdfs-site": {
+      "tag": "version1"
+    },
+    "hbase-site": {
+      "tag": "version1"
+    },
+    "core-site": {
+      "tag": "version1"
+    },
+    "yarn-site": {
+      "tag": "version1"
+    },
+    "hive-site": {
+      "tag": "version1"
+    },
+    "hive-interactive-site": {
+      "tag": "version1"
+    },
+    "hdfs-log4j": {
+      "tag": "version1"
+    },
+    "yarn-log4j": {
+      "tag": "version1"
+    },
+    "hbase-log4j": {
+      "tag": "version1"
+    },
+    "hive-log4j": {
+      "tag": "version1"
+    },
+    "hive-exec-log4j": {
+      "tag": "version1"
+    },
+    "zookeeper-log4j": {
+      "tag": "version1"
+    },
+    "oozie-log4j": {
+      "tag": "version1"
+    },
+    "pig-log4j": {
+      "tag": "version1"
+    },
+    "pig-properties": {
+      "tag": "version1"
+    }
+  },
+  "commandId": "7-1",
+  "clusterHostInfo": {
+    "ambari_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "snamenode_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "nm_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "drpc_server_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "slave_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "ganglia_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "hive_server_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "logviewer_server_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "hive_metastore_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "hbase_rs_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "webhcat_server_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "zookeeper_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "supervisor_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "ganglia_monitor_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "all_ping_ports": [
+      "8670",
+      "8670"
+    ],
+    "rm_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "all_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "storm_ui_server_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "oozie_server": [
+      "c6402.ambari.apache.org"
+    ],
+    "hs_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "nimbus_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "namenode_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "hbase_master_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "hive_mysql_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "falcon_server_hosts": [
+      "c6402.ambari.apache.org"
+    ]
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/custom_actions/TestCheckHost.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/custom_actions/TestCheckHost.py b/ambari-server/src/test/python/custom_actions/TestCheckHost.py
index 0d4e485..9303d5d 100644
--- a/ambari-server/src/test/python/custom_actions/TestCheckHost.py
+++ b/ambari-server/src/test/python/custom_actions/TestCheckHost.py
@@ -413,4 +413,37 @@ class TestCheckHost(TestCase):
     self.assertEquals(structured_out_mock.call_args[0][0], {'transparentHugePage' : {'message': '', 'exit_code': 0}})
 
 
+  @patch.object(OSCheck, "os_distribution", new = MagicMock(return_value = os_distro_value))
+  @patch("tempfile.mkdtemp", new = MagicMock(return_value='/tmp/jdk_tmp_dir'))
+  @patch.object(Script, 'get_config')
+  @patch.object(Script, 'get_tmp_dir')
+  @patch("check_host.download_file")
+  @patch("resource_management.libraries.script.Script.put_structured_out")
+  @patch("os.path.isfile")
+  @patch("resource_management.core.shell.call")
+  def testUnsupportedDatabaseType(self, isfile_mock, format_mock, structured_out_mock, download_file_mock, get_tmp_dir_mock, mock_config):
+    mock_config.return_value = {"commandParams" : {"check_execute_list" : "db_connection_check",
+                                                   "java_home" : "test_java_home",
+                                                   "ambari_server_host" : "test_host",
+                                                   "jdk_location" : "test_jdk_location",
+                                                   "db_name" : "unsupported_db",
+                                                   "db_connection_url" : "test_db_connection_url",
+                                                   "user_name" : "test_user_name",
+                                                   "user_passwd" : "test_user_passwd",
+                                                   "jdk_name" : "test_jdk_name"},
+                                "hostLevelParams": { "agentCacheDir": "/nonexistent_tmp",
+                                                     "custom_mysql_jdbc_name" : "mysql-connector-java.jar"}
+                                }
+    get_tmp_dir_mock.return_value = "/tmp"
+    download_file_mock.side_effect = Exception("test exception")
+    isfile_mock.return_value = True
+    checkHost = CheckHost()
+
+    try:
+      checkHost.actionexecute(None)
+      self.fail("DB Check should be failed")
+    except Fail:
+      pass
+
+    self.assertEquals(structured_out_mock.call_args[0][0], {'db_connection_check': {'message': '\'unsupported_db\' database type not supported.', 'exit_code': 1}})
 


[5/8] ambari git commit: AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/configs/ranger_admin_default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/configs/ranger_admin_default.json b/ambari-server/src/test/python/common-services/configs/ranger_admin_default.json
new file mode 100644
index 0000000..b360c07
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/configs/ranger_admin_default.json
@@ -0,0 +1,386 @@
+{
+  "roleCommand": "SERVICE_CHECK",
+  "clusterName": "c1",
+  "hostname": "c6401.ambari.apache.org",
+  "hostLevelParams": {
+    "not_managed_hdfs_path_list": "[\"/apps/hive/warehouse\",\"/apps/falcon\",\"/mr-history/done\",\"/app-logs\",\"/tmp\"]",
+    "jdk_location": "http://c6401.ambari.apache.org:8080/resources/",
+    "ambari_db_rca_password": "mapred",
+    "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca",
+    "jce_name": "UnlimitedJCEPolicyJDK7.zip",
+    "stack_version": "2.2",
+    "stack_name": "HDP",
+    "ambari_db_rca_driver": "org.postgresql.Driver",
+    "jdk_name": "jdk-7u67-linux-x64.tar.gz",
+    "ambari_db_rca_username": "mapred",
+    "java_home": "/usr/jdk64/jdk1.7.0_45",
+    "java_version": "8",
+    "db_name": "ambari",
+    "custom_mysql_jdbc_name" : "mysql-connector-java.jar",
+    "custom_oracle_jdbc_name" : "oracle-jdbc-driver.jar",
+    "custom_postgres_jdbc_name" : "test-postgres-jdbc.jar",
+    "custom_mssql_jdbc_name" : "mssql-jdbc-driver.jar",
+    "custom_sqlanywhere_jdbc_name" : "sqla-client-jdbc.tar.gz"
+  },
+  "commandType": "EXECUTION_COMMAND",
+  "roleParams": {},
+  "serviceName": "SLIDER",
+  "role": "SLIDER",
+  "commandParams": {
+    "version": "2.2.1.0-2067",
+    "command_timeout": "300",
+    "service_package_folder": "OOZIE",
+    "script_type": "PYTHON",
+    "script": "scripts/service_check.py",
+    "excluded_hosts": "host1,host2"
+  },
+  "taskId": 152,
+  "public_hostname": "c6401.ambari.apache.org",
+  "configurations": {
+    "admin-properties": {
+      "authentication_method": "UNIX",
+      "db_root_user": "root",
+      "xa_ldap_groupSearchBase": "\"ou=groups,dc=xasecure,dc=net\"",
+      "audit_db_name": "ranger_audit",
+      "xa_ldap_ad_domain": "\"xasecure.net\"",
+      "remoteLoginEnabled": "true",
+      "SQL_CONNECTOR_JAR": "/usr/share/java/mysql-connector-java.jar",
+      "xa_ldap_userDNpattern": "\"uid={0},ou=users,dc=xasecure,dc=net\"",
+      "SQL_COMMAND_INVOKER": "mysql",
+      "db_user": "rangeradmin",
+      "db_password": "aa",
+      "authServicePort": "5151",
+      "audit_db_password": "aa",
+      "DB_FLAVOR": "MYSQL",
+      "audit_db_user": "rangerlogger",
+      "db_root_password": "aa",
+      "xa_ldap_url": "\"ldap://71.127.43.33:389\"",
+      "db_name": "ranger",
+      "xa_ldap_groupSearchFilter": "\"(member=uid={0},ou=users,dc=xasecure,dc=net)\"",
+      "authServiceHostName": "localhost",
+      "xa_ldap_ad_url": "\"ldap://ad.xasecure.net:389\"",
+      "policymgr_external_url": "http://localhost:6080",
+      "policymgr_http_enabled": "true",
+      "db_host": "localhost",
+      "xa_ldap_groupRoleAttribute": "\"cn\""
+    },
+    "ranger-site": {
+      "http.enabled": "true",
+      "http.service.port": "6080",
+      "https.attrib.keystorePass": "ranger",
+      "https.attrib.clientAuth": "want",
+      "https.attrib.keystoreFile": "/etc/ranger/admin/keys/server.jks",
+      "https.service.port": "6182",
+      "https.attrib.keyAlias": "myKey"
+    },
+    "ranger-admin-site": {
+      "ranger.admin.kerberos.cookie.domain": "",
+      "ranger.kms.service.user.hdfs": "hdfs",
+      "ranger.spnego.kerberos.principal": "",
+      "ranger.ldap.ad.url": "{{ranger_ug_ldap_url}}",
+      "ranger.plugins.hive.serviceuser": "hive",
+      "ranger.lookup.kerberos.keytab": "",
+      "ranger.plugins.kms.serviceuser": "kms",
+      "ranger.service.https.attrib.ssl.enabled": "false",
+      "ranger.sso.browser.useragent": "Mozilla,chrome",
+      "ranger.jpa.jdbc.url": "jdbc:mysql://c6401.ambari.apache.org:3306/ranger01",
+      "ranger.plugins.hbase.serviceuser": "hbase",
+      "ranger.plugins.hdfs.serviceuser": "hdfs",
+      "ranger.ldap.group.searchbase": "{{ranger_ug_ldap_group_searchbase}}",
+      "ranger.ldap.user.dnpattern": "uid={0},ou=users,dc=xasecure,dc=net",
+      "ranger.plugins.knox.serviceuser": "knox",
+      "ranger.ldap.base.dn": "dc=example,dc=com",
+      "ranger.sso.publicKey": "",
+      "ranger.admin.kerberos.cookie.path": "/",
+      "ranger.service.https.attrib.clientAuth": "want",
+      "ranger.jpa.jdbc.user": "{{ranger_db_user}}",
+      "ranger.ldap.ad.user.searchfilter": "(sAMAccountName={0})",
+      "ranger.ldap.group.roleattribute": "cn",
+      "ranger.plugins.kafka.serviceuser": "kafka",
+      "ranger.admin.kerberos.principal": "",
+      "ranger.ldap.ad.bind.dn": "{{ranger_ug_ldap_bind_dn}}",
+      "ranger.credential.provider.path": "/etc/ranger/admin/rangeradmin.jceks",
+      "ranger.ldap.referral": "ignore",
+      "ranger.service.http.port": "6080",
+      "ranger.ldap.user.searchfilter": "(uid={0})",
+      "ranger.plugins.atlas.serviceuser": "atlas",
+      "ranger.truststore.password": "changeit",
+      "ranger.ldap.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}",
+      "ranger.audit.solr.password": "NONE",
+      "ranger.audit.solr.zookeepers": "c6401.ambari.apache.org:2181/ambari-solr",
+      "ranger.lookup.kerberos.principal": "",
+      "ranger.service.https.port": "6182",
+      "ranger.plugins.storm.serviceuser": "storm",
+      "ranger.externalurl": "{{ranger_external_url}}",
+      "ranger.truststore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks",
+      "ranger.kms.service.user.hive": "",
+      "ranger.https.attrib.keystore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks",
+      "ranger.jpa.jdbc.dialect": "{{jdbc_dialect}}",
+      "ranger.service.host": "{{ranger_host}}",
+      "ranger.service.https.attrib.keystore.keyalias": "rangeradmin",
+      "ranger.service.https.attrib.keystore.pass": "xasecure",
+      "ranger.unixauth.remote.login.enabled": "true",
+      "ranger.jpa.jdbc.credential.alias": "rangeradmin",
+      "ranger.ldap.ad.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}",
+      "ranger.audit.solr.username": "ranger_solr",
+      "ranger.sso.enabled": "false",
+      "ranger.audit.solr.urls": "",
+      "ranger.ldap.ad.domain": "",
+      "ranger.plugins.yarn.serviceuser": "yarn",
+      "ranger.audit.source.type": "solr",
+      "ranger.ldap.bind.dn": "{{ranger_ug_ldap_bind_dn}}",
+      "ranger.ldap.url": "{{ranger_ug_ldap_url}}",
+      "ranger.authentication.method": "UNIX",
+      "ranger.service.http.enabled": "true",
+      "ranger.ldap.group.searchfilter": "{{ranger_ug_ldap_group_searchfilter}}",
+      "ranger.ldap.ad.referral": "ignore",
+      "ranger.ldap.ad.base.dn": "dc=example,dc=com",
+      "ranger.jpa.jdbc.password": "_",
+      "ranger.spnego.kerberos.keytab": "",
+      "ranger.sso.providerurl": "",
+      "ranger.unixauth.service.hostname": "{{ugsync_host}}",
+      "ranger.admin.kerberos.keytab": "",
+      "ranger.admin.kerberos.token.valid.seconds": "30",
+      "ranger.jpa.jdbc.driver": "com.mysql.jdbc.Driver",
+      "ranger.unixauth.service.port": "5151"
+    },
+    "usersync-properties": {
+      "SYNC_INTERVAL": "1",
+      "SYNC_LDAP_USERNAME_CASE_CONVERSION": "none",
+      "SYNC_LDAP_USER_SEARCH_FILTER": "-",
+      "SYNC_LDAP_URL": "ldap://localhost:389",
+      "SYNC_LDAP_GROUPNAME_CASE_CONVERSION": "none",
+      "SYNC_LDAP_USER_SEARCH_SCOPE": "sub",
+      "SYNC_LDAP_BIND_PASSWORD": "admin321",
+      "SYNC_LDAP_USER_NAME_ATTRIBUTE": "cn",
+      "MIN_UNIX_USER_ID_TO_SYNC": "1000",
+      "SYNC_LDAP_USER_SEARCH_BASE": "ou=users,dc=xasecure,dc=net",
+      "SYNC_LDAP_USER_OBJECT_CLASS": "person",
+      "CRED_KEYSTORE_FILENAME": "/usr/lib/xausersync/.jceks/xausersync.jceks",
+      "SYNC_SOURCE": "unix",
+      "SYNC_LDAP_BIND_DN": "cn=admin,dc=xasecure,dc=net",
+      "SYNC_LDAP_USER_GROUP_NAME_ATTRIBUTE": "memberof,ismemberof",
+      "logdir": "logs"
+    },
+    "usersync-properties": {
+      "SYNC_INTERVAL": "1",
+      "SYNC_LDAP_USERNAME_CASE_CONVERSION": "none",
+      "SYNC_LDAP_USER_SEARCH_FILTER": "-",
+      "SYNC_LDAP_URL": "ldap://localhost:389",
+      "SYNC_LDAP_GROUPNAME_CASE_CONVERSION": "none",
+      "SYNC_LDAP_USER_SEARCH_SCOPE": "sub",
+      "SYNC_LDAP_BIND_PASSWORD": "admin321",
+      "SYNC_LDAP_USER_NAME_ATTRIBUTE": "cn",
+      "MIN_UNIX_USER_ID_TO_SYNC": "1000",
+      "SYNC_LDAP_USER_SEARCH_BASE": "ou=users,dc=xasecure,dc=net",
+      "SYNC_LDAP_USER_OBJECT_CLASS": "person",
+      "CRED_KEYSTORE_FILENAME": "/usr/lib/xausersync/.jceks/xausersync.jceks",
+      "SYNC_SOURCE": "unix",
+      "SYNC_LDAP_BIND_DN": "cn=admin,dc=xasecure,dc=net",
+      "SYNC_LDAP_USER_GROUP_NAME_ATTRIBUTE": "memberof,ismemberof",
+      "logdir": "logs"
+    },
+    "ranger-env": {
+      "ranger_group": "ranger",
+      "ranger_admin_log_dir": "/var/log/ranger/admin",
+      "oracle_home": "-",
+      "admin_username": "admin",
+      "ranger_user": "ranger",
+      "ranger_admin_username": "amb_ranger_admin",
+      "admin_password": "admin",
+      "ranger_admin_password": "aa",
+      "ranger_usersync_log_dir": "/var/log/ranger/usersync",
+      "xml_configurations_supported" : "false"
+    },
+    "spark-javaopts-properties": {
+      "content": " "
+    },
+    "hadoop-env": {
+      "dtnode_heapsize": "1024m",
+      "namenode_opt_maxnewsize": "256m",
+      "hdfs_log_dir_prefix": "/var/log/hadoop",
+      "namenode_heapsize": "1024m",
+      "proxyuser_group": "users",
+      "hadoop_pid_dir_prefix": "/var/run/hadoop",
+      "content": "\n# Set Hadoop-specific environment variables here.\n\n# The only required environment variable is JAVA_HOME.  All others are\n# optional.  When running a distributed configuration it is best to\n# set JAVA_HOME in this file, so that it is correctly defined on\n# remote nodes.\n\n# The java implementation to use.  Required.\nexport JAVA_HOME={{java_home}}\nexport HADOOP_HOME_WARN_SUPPRESS=1\n\n# Hadoop home directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hadoop Configuration Directory\n\n{# this is different for HDP1 #}\n# Path to jsvc required by secure HDP 2.0 datanode\nexport JSVC_HOME={{jsvc_path}}\n\n\n# The maximum amount of heap to use, in MB. Default is 1000.\nexport HADOOP_HEAPSIZE=\"{{hadoop_heapsize}}\"\n\nexport HADOOP_NAMENODE_INIT_HEAPSIZE=\"-Xms{{namenode_heapsize}}\"\n\n# Extra Java runtime options.  Empty by default.\nexport HADOOP_OPTS=\"-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}\"\n\n# Command specific options appended to H
 ADOOP_OPTS when specified\nexport HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_NAMENODE_OPTS}\"\nHADOOP_JOBTRACKER_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{jtnode_opt_newsize}} -XX:MaxNewSize={{jtnode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xm
 x{{jtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}\"\n\nHADOOP_TASKTRACKER_OPTS=\"-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}\"\nexport HADOOP_DATANODE_OPTS=\"-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -XX:PermSize=128m -XX:MaxPermSize=256m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtnode_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}\"\nHADOOP_BALANCER_OPTS=\"-server -Xmx{{hadoop_heapsize}}m ${HADOOP_BALANCER_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=$HADOOP_NAMENODE_OPTS\n\n# The following appli
 es to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m -XX:MaxPermSize=512m $HADOOP_CLIENT_OPTS\"\n\n# On secure datanodes, user to run the datanode as after dropping privileges\nexport HADOOP_SECURE_DN_USER=${HADOOP_SECURE_DN_USER:-{{hadoop_secure_dn_user}}}\n\n# Extra ssh options.  Empty by default.\nexport HADOOP_SSH_OPTS=\"-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR\"\n\n# Where log files are stored.  $HADOOP_HOME/logs by default.\nexport HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER\n\n# History server logs\nexport HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER\n\n# Where log files are stored in the secure data environment.\nexport HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.\n# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves\n\n# host:path where hadoop code should be rsync'd from.  Unset by default.\n# export HADOOP_MA
 STER=master:/home/$USER/src/hadoop\n\n# Seconds to sleep between slave commands.  Unset by default.  This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HADOOP_SLAVE_SLEEP=0.1\n\n# The directory where pid files are stored. /tmp by default.\nexport HADOOP_PID_DIR={{hadoop_pid_dir_prefix}}/$USER\nexport HADOOP_SECURE_DN_PID_DIR={{hadoop_pid_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# History server pid\nexport HADOOP_MAPRED_PID_DIR={{mapred_pid_dir_prefix}}/$USER\n\nYARN_RESOURCEMANAGER_OPTS=\"-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY\"\n\n# A string representing this instance of hadoop. $USER by default.\nexport HADOOP_IDENT_STRING=$USER\n\n# The scheduling priority for daemon processes.  See 'man nice'.\n\n# export HADOOP_NICENESS=10\n\n# Use libraries from standard classpath\nJAVA_JDBC_LIBS=\"\"\n#Add libraries required by mysql connector\nfor jarFile in `ls /usr/share/java/*
 mysql* 2>/dev/null`\ndo\n  JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\ndone\n# Add libraries required by oracle connector\nfor jarFile in `ls /usr/share/java/*ojdbc* 2>/dev/null`\ndo\n  JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\ndone\n# Add libraries required by nodemanager\nMAPREDUCE_LIBS={{mapreduce_libs_path}}\nexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}:${MAPREDUCE_LIBS}\n\n# added to the HADOOP_CLASSPATH\nif [ -d \"/usr/hdp/current/tez-client\" ]; then\n  if [ -d \"/etc/tez/conf/\" ]; then\n    # When using versioned RPMs, the tez-client will be a symlink to the current folder of tez in HDP.\n    export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:/usr/hdp/current/tez-client/*:/usr/hdp/current/tez-client/lib/*:/etc/tez/conf/\n  fi\nfi\n\n\n# Setting path to hdfs command line\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\n\n# Mostly required for hadoop 2.0\nexport JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}\n\nexport HADOOP_OPTS=\"-Dhdp.version=$HDP_VERSION $HADOOP_OPTS\"
 ",
+      "hdfs_user": "hdfs",
+      "namenode_opt_newsize": "256m",
+      "hadoop_root_logger": "INFO,RFA",
+      "hadoop_heapsize": "1024",
+      "namenode_opt_maxpermsize": "256m",
+      "namenode_opt_permsize": "128m"
+    },
+    "slider-client": {
+      "slider.yarn.queue": "default"
+    },
+    "core-site": {
+      "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020"
+    },
+    "hdfs-site": {
+      "a": "b"
+    },
+    "yarn-site": {
+      "yarn.application.classpath": "/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*",
+      "yarn.resourcemanager.address": "c6401.ambari.apache.org:8050",
+      "yarn.resourcemanager.scheduler.address": "c6401.ambari.apache.org:8030"
+    },
+    "cluster-env": {
+      "managed_hdfs_resource_property_names": "",
+      "security_enabled": "false",
+      "ignore_groupsusers_create": "false",
+      "smokeuser": "ambari-qa",
+      "kerberos_domain": "EXAMPLE.COM",
+      "user_group": "hadoop"
+    },
+    "ranger-knox-plugin-properties": {
+      "POLICY_MGR_URL": "{{policymgr_mgr_url}}",
+      "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900",
+      "KNOX_HOME": "/usr/hdp/current/knox-server",
+      "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit",
+      "common.name.for.certificate": "-",
+      "XAAUDIT.HDFS.IS_ENABLED": "false",
+      "SQL_CONNECTOR_JAR": "{{sql_connector_jar}}",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log",
+      "REPOSITORY_NAME": "{{repo_name}}",
+      "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword",
+      "XAAUDIT.DB.IS_ENABLED": "true",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600",
+      "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60",
+      "XAAUDIT.SOLR.SOLR_URL": "http://localhost:6083/solr/ranger_audits",
+      "XAAUDIT.DB.DATABASE_NAME": "{{xa_audit_db_name}}",
+      "XAAUDIT.DB.HOSTNAME": "{{xa_db_host}}",
+      "XAAUDIT.SOLR.IS_ENABLED": "false",
+      "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks",
+      "ranger-knox-plugin-enabled": "Yes",
+      "XAAUDIT.DB.USER_NAME": "{{xa_audit_db_user}}",
+      "policy_user": "ambari-qa",
+      "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log",
+      "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400",
+      "XAAUDIT.DB.PASSWORD": "{{xa_audit_db_password}}",
+      "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10",
+      "SSL_TRUSTSTORE_PASSWORD": "changeit",
+      "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive",
+      "REPOSITORY_CONFIG_USERNAME": "admin",
+      "XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS": "1000",
+      "XAAUDIT.DB.FLAVOUR": "{{xa_audit_db_flavor}}",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60",
+      "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks",
+      "REPOSITORY_CONFIG_PASSWORD": "admin-password",
+      "XAAUDIT.SOLR.MAX_QUEUE_SIZE": "1"
+    },
+    "webhcat-site": {
+      "templeton.jar": "/usr/hdp/current/hive-webhcat/share/webhcat/svr/lib/hive-webhcat-*.jar",
+      "templeton.pig.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/pig/pig.tar.gz",
+      "templeton.hive.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/hive/hive.tar.gz",
+      "templeton.sqoop.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/sqoop/sqoop.tar.gz",
+      "templeton.streaming.jar": "hdfs:///hdp/apps/{{ hdp_stack_version }}/mr/hadoop-streaming.jar"
+    },
+    "slider-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "slider-env": {
+      "content": "envproperties\nline2"
+    },
+    "ranger-hbase-plugin-properties": {
+      "ranger-hbase-plugin-enabled":"yes"
+    },
+    "ranger-hive-plugin-properties": {
+      "ranger-hive-plugin-enabled":"yes"
+    }
+  },
+  "configuration_attributes": {
+    "yarn-site": {
+      "final": {
+        "yarn.nodemanager.disk-health-checker.min-healthy-disks": "true",
+        "yarn.nodemanager.container-executor.class": "true",
+        "yarn.nodemanager.local-dirs": "true"
+      }
+    },
+    "hdfs-site": {
+      "final": {
+        "dfs.web.ugi": "true",
+        "dfs.support.append": "true",
+        "dfs.cluster.administrators": "true"
+      }
+    },
+    "core-site": {
+      "final": {
+        "hadoop.proxyuser.hive.groups": "true",
+        "webinterface.private.actions": "true",
+        "hadoop.proxyuser.oozie.hosts": "true"
+      }
+    }
+  },
+  "configurationTags": {
+    "slider-client": {
+      "tag": "version1"
+    },
+    "slider-log4j": {
+      "tag": "version1"
+    },
+    "slider-env": {
+      "tag": "version1"
+    },
+    "core-site": {
+      "tag": "version1"
+    },
+    "hdfs-site": {
+      "tag": "version1"
+    },
+    "yarn-site": {
+      "tag": "version1"
+    },
+    "gateway-site": {
+      "tag": "version1"
+    },
+    "topology": {
+      "tag": "version1"
+    },
+    "users-ldif": {
+      "tag": "version1"
+    },
+    "kafka-env": {
+      "tag": "version1"
+    },
+    "kafka-log4j": {
+      "tag": "version1"
+    },
+    "kafka-broker": {
+      "tag": "version1"
+    }
+  },
+  "commandId": "7-1",
+  "clusterHostInfo": {
+    "ambari_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "all_ping_ports": [
+      "8670",
+      "8670"
+    ],
+    "rm_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "all_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "knox_gateway_hosts": [
+      "jaimin-knox-1.c.pramod-thangali.internal"
+    ],
+    "kafka_broker_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "zookeeper_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_admin_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_usersync_hosts" : [
+      "c6408.ambari.apache.org"
+    ]
+
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/configs/ranger_admin_unsupported_db_flavor.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/configs/ranger_admin_unsupported_db_flavor.json b/ambari-server/src/test/python/common-services/configs/ranger_admin_unsupported_db_flavor.json
new file mode 100644
index 0000000..aa620a4
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/configs/ranger_admin_unsupported_db_flavor.json
@@ -0,0 +1,386 @@
+{
+  "roleCommand": "SERVICE_CHECK",
+  "clusterName": "c1",
+  "hostname": "c6401.ambari.apache.org",
+  "hostLevelParams": {
+    "not_managed_hdfs_path_list": "[\"/apps/hive/warehouse\",\"/apps/falcon\",\"/mr-history/done\",\"/app-logs\",\"/tmp\"]",
+    "jdk_location": "http://c6401.ambari.apache.org:8080/resources/",
+    "ambari_db_rca_password": "mapred",
+    "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca",
+    "jce_name": "UnlimitedJCEPolicyJDK7.zip",
+    "stack_version": "2.2",
+    "stack_name": "HDP",
+    "ambari_db_rca_driver": "org.postgresql.Driver",
+    "jdk_name": "jdk-7u67-linux-x64.tar.gz",
+    "ambari_db_rca_username": "mapred",
+    "java_home": "/usr/jdk64/jdk1.7.0_45",
+    "java_version": "8",
+    "db_name": "ambari",
+    "custom_mysql_jdbc_name" : "mysql-connector-java.jar",
+    "custom_oracle_jdbc_name" : "oracle-jdbc-driver.jar",
+    "custom_postgres_jdbc_name" : "test-postgres-jdbc.jar",
+    "custom_mssql_jdbc_name" : "mssql-jdbc-driver.jar",
+    "custom_sqlanywhere_jdbc_name" : "sqla-client-jdbc.tar.gz"
+  },
+  "commandType": "EXECUTION_COMMAND",
+  "roleParams": {},
+  "serviceName": "SLIDER",
+  "role": "SLIDER",
+  "commandParams": {
+    "version": "2.2.1.0-2067",
+    "command_timeout": "300",
+    "service_package_folder": "OOZIE",
+    "script_type": "PYTHON",
+    "script": "scripts/service_check.py",
+    "excluded_hosts": "host1,host2"
+  },
+  "taskId": 152,
+  "public_hostname": "c6401.ambari.apache.org",
+  "configurations": {
+    "admin-properties": {
+      "authentication_method": "UNIX",
+      "db_root_user": "root",
+      "xa_ldap_groupSearchBase": "\"ou=groups,dc=xasecure,dc=net\"",
+      "audit_db_name": "ranger_audit",
+      "xa_ldap_ad_domain": "\"xasecure.net\"",
+      "remoteLoginEnabled": "true",
+      "SQL_CONNECTOR_JAR": "/usr/share/java/mysql-connector-java.jar",
+      "xa_ldap_userDNpattern": "\"uid={0},ou=users,dc=xasecure,dc=net\"",
+      "SQL_COMMAND_INVOKER": "mysql",
+      "db_user": "rangeradmin",
+      "db_password": "aa",
+      "authServicePort": "5151",
+      "audit_db_password": "aa",
+      "DB_FLAVOR": "UNSUPPORTED",
+      "audit_db_user": "rangerlogger",
+      "db_root_password": "aa",
+      "xa_ldap_url": "\"ldap://71.127.43.33:389\"",
+      "db_name": "ranger",
+      "xa_ldap_groupSearchFilter": "\"(member=uid={0},ou=users,dc=xasecure,dc=net)\"",
+      "authServiceHostName": "localhost",
+      "xa_ldap_ad_url": "\"ldap://ad.xasecure.net:389\"",
+      "policymgr_external_url": "http://localhost:6080",
+      "policymgr_http_enabled": "true",
+      "db_host": "localhost",
+      "xa_ldap_groupRoleAttribute": "\"cn\""
+    },
+    "ranger-site": {
+      "http.enabled": "true",
+      "http.service.port": "6080",
+      "https.attrib.keystorePass": "ranger",
+      "https.attrib.clientAuth": "want",
+      "https.attrib.keystoreFile": "/etc/ranger/admin/keys/server.jks",
+      "https.service.port": "6182",
+      "https.attrib.keyAlias": "myKey"
+    },
+    "ranger-admin-site": {
+      "ranger.admin.kerberos.cookie.domain": "",
+      "ranger.kms.service.user.hdfs": "hdfs",
+      "ranger.spnego.kerberos.principal": "",
+      "ranger.ldap.ad.url": "{{ranger_ug_ldap_url}}",
+      "ranger.plugins.hive.serviceuser": "hive",
+      "ranger.lookup.kerberos.keytab": "",
+      "ranger.plugins.kms.serviceuser": "kms",
+      "ranger.service.https.attrib.ssl.enabled": "false",
+      "ranger.sso.browser.useragent": "Mozilla,chrome",
+      "ranger.jpa.jdbc.url": "jdbc:mysql://c6401.ambari.apache.org:3306/ranger01",
+      "ranger.plugins.hbase.serviceuser": "hbase",
+      "ranger.plugins.hdfs.serviceuser": "hdfs",
+      "ranger.ldap.group.searchbase": "{{ranger_ug_ldap_group_searchbase}}",
+      "ranger.ldap.user.dnpattern": "uid={0},ou=users,dc=xasecure,dc=net",
+      "ranger.plugins.knox.serviceuser": "knox",
+      "ranger.ldap.base.dn": "dc=example,dc=com",
+      "ranger.sso.publicKey": "",
+      "ranger.admin.kerberos.cookie.path": "/",
+      "ranger.service.https.attrib.clientAuth": "want",
+      "ranger.jpa.jdbc.user": "{{ranger_db_user}}",
+      "ranger.ldap.ad.user.searchfilter": "(sAMAccountName={0})",
+      "ranger.ldap.group.roleattribute": "cn",
+      "ranger.plugins.kafka.serviceuser": "kafka",
+      "ranger.admin.kerberos.principal": "",
+      "ranger.ldap.ad.bind.dn": "{{ranger_ug_ldap_bind_dn}}",
+      "ranger.credential.provider.path": "/etc/ranger/admin/rangeradmin.jceks",
+      "ranger.ldap.referral": "ignore",
+      "ranger.service.http.port": "6080",
+      "ranger.ldap.user.searchfilter": "(uid={0})",
+      "ranger.plugins.atlas.serviceuser": "atlas",
+      "ranger.truststore.password": "changeit",
+      "ranger.ldap.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}",
+      "ranger.audit.solr.password": "NONE",
+      "ranger.audit.solr.zookeepers": "c6401.ambari.apache.org:2181/ambari-solr",
+      "ranger.lookup.kerberos.principal": "",
+      "ranger.service.https.port": "6182",
+      "ranger.plugins.storm.serviceuser": "storm",
+      "ranger.externalurl": "{{ranger_external_url}}",
+      "ranger.truststore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks",
+      "ranger.kms.service.user.hive": "",
+      "ranger.https.attrib.keystore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks",
+      "ranger.jpa.jdbc.dialect": "{{jdbc_dialect}}",
+      "ranger.service.host": "{{ranger_host}}",
+      "ranger.service.https.attrib.keystore.keyalias": "rangeradmin",
+      "ranger.service.https.attrib.keystore.pass": "xasecure",
+      "ranger.unixauth.remote.login.enabled": "true",
+      "ranger.jpa.jdbc.credential.alias": "rangeradmin",
+      "ranger.ldap.ad.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}",
+      "ranger.audit.solr.username": "ranger_solr",
+      "ranger.sso.enabled": "false",
+      "ranger.audit.solr.urls": "",
+      "ranger.ldap.ad.domain": "",
+      "ranger.plugins.yarn.serviceuser": "yarn",
+      "ranger.audit.source.type": "solr",
+      "ranger.ldap.bind.dn": "{{ranger_ug_ldap_bind_dn}}",
+      "ranger.ldap.url": "{{ranger_ug_ldap_url}}",
+      "ranger.authentication.method": "UNIX",
+      "ranger.service.http.enabled": "true",
+      "ranger.ldap.group.searchfilter": "{{ranger_ug_ldap_group_searchfilter}}",
+      "ranger.ldap.ad.referral": "ignore",
+      "ranger.ldap.ad.base.dn": "dc=example,dc=com",
+      "ranger.jpa.jdbc.password": "_",
+      "ranger.spnego.kerberos.keytab": "",
+      "ranger.sso.providerurl": "",
+      "ranger.unixauth.service.hostname": "{{ugsync_host}}",
+      "ranger.admin.kerberos.keytab": "",
+      "ranger.admin.kerberos.token.valid.seconds": "30",
+      "ranger.jpa.jdbc.driver": "com.mysql.jdbc.Driver",
+      "ranger.unixauth.service.port": "5151"
+    },
+    "usersync-properties": {
+      "SYNC_INTERVAL": "1",
+      "SYNC_LDAP_USERNAME_CASE_CONVERSION": "none",
+      "SYNC_LDAP_USER_SEARCH_FILTER": "-",
+      "SYNC_LDAP_URL": "ldap://localhost:389",
+      "SYNC_LDAP_GROUPNAME_CASE_CONVERSION": "none",
+      "SYNC_LDAP_USER_SEARCH_SCOPE": "sub",
+      "SYNC_LDAP_BIND_PASSWORD": "admin321",
+      "SYNC_LDAP_USER_NAME_ATTRIBUTE": "cn",
+      "MIN_UNIX_USER_ID_TO_SYNC": "1000",
+      "SYNC_LDAP_USER_SEARCH_BASE": "ou=users,dc=xasecure,dc=net",
+      "SYNC_LDAP_USER_OBJECT_CLASS": "person",
+      "CRED_KEYSTORE_FILENAME": "/usr/lib/xausersync/.jceks/xausersync.jceks",
+      "SYNC_SOURCE": "unix",
+      "SYNC_LDAP_BIND_DN": "cn=admin,dc=xasecure,dc=net",
+      "SYNC_LDAP_USER_GROUP_NAME_ATTRIBUTE": "memberof,ismemberof",
+      "logdir": "logs"
+    },
+    "usersync-properties": {
+      "SYNC_INTERVAL": "1",
+      "SYNC_LDAP_USERNAME_CASE_CONVERSION": "none",
+      "SYNC_LDAP_USER_SEARCH_FILTER": "-",
+      "SYNC_LDAP_URL": "ldap://localhost:389",
+      "SYNC_LDAP_GROUPNAME_CASE_CONVERSION": "none",
+      "SYNC_LDAP_USER_SEARCH_SCOPE": "sub",
+      "SYNC_LDAP_BIND_PASSWORD": "admin321",
+      "SYNC_LDAP_USER_NAME_ATTRIBUTE": "cn",
+      "MIN_UNIX_USER_ID_TO_SYNC": "1000",
+      "SYNC_LDAP_USER_SEARCH_BASE": "ou=users,dc=xasecure,dc=net",
+      "SYNC_LDAP_USER_OBJECT_CLASS": "person",
+      "CRED_KEYSTORE_FILENAME": "/usr/lib/xausersync/.jceks/xausersync.jceks",
+      "SYNC_SOURCE": "unix",
+      "SYNC_LDAP_BIND_DN": "cn=admin,dc=xasecure,dc=net",
+      "SYNC_LDAP_USER_GROUP_NAME_ATTRIBUTE": "memberof,ismemberof",
+      "logdir": "logs"
+    },
+    "ranger-env": {
+      "ranger_group": "ranger",
+      "ranger_admin_log_dir": "/var/log/ranger/admin",
+      "oracle_home": "-",
+      "admin_username": "admin",
+      "ranger_user": "ranger",
+      "ranger_admin_username": "amb_ranger_admin",
+      "admin_password": "admin",
+      "ranger_admin_password": "aa",
+      "ranger_usersync_log_dir": "/var/log/ranger/usersync",
+      "xml_configurations_supported" : "false"
+    },
+    "spark-javaopts-properties": {
+      "content": " "
+    },
+    "hadoop-env": {
+      "dtnode_heapsize": "1024m",
+      "namenode_opt_maxnewsize": "256m",
+      "hdfs_log_dir_prefix": "/var/log/hadoop",
+      "namenode_heapsize": "1024m",
+      "proxyuser_group": "users",
+      "hadoop_pid_dir_prefix": "/var/run/hadoop",
+      "content": "\n# Set Hadoop-specific environment variables here.\n\n# The only required environment variable is JAVA_HOME.  All others are\n# optional.  When running a distributed configuration it is best to\n# set JAVA_HOME in this file, so that it is correctly defined on\n# remote nodes.\n\n# The java implementation to use.  Required.\nexport JAVA_HOME={{java_home}}\nexport HADOOP_HOME_WARN_SUPPRESS=1\n\n# Hadoop home directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hadoop Configuration Directory\n\n{# this is different for HDP1 #}\n# Path to jsvc required by secure HDP 2.0 datanode\nexport JSVC_HOME={{jsvc_path}}\n\n\n# The maximum amount of heap to use, in MB. Default is 1000.\nexport HADOOP_HEAPSIZE=\"{{hadoop_heapsize}}\"\n\nexport HADOOP_NAMENODE_INIT_HEAPSIZE=\"-Xms{{namenode_heapsize}}\"\n\n# Extra Java runtime options.  Empty by default.\nexport HADOOP_OPTS=\"-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}\"\n\n# Command specific options appended to H
 ADOOP_OPTS when specified\nexport HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_NAMENODE_OPTS}\"\nHADOOP_JOBTRACKER_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{jtnode_opt_newsize}} -XX:MaxNewSize={{jtnode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xm
 x{{jtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}\"\n\nHADOOP_TASKTRACKER_OPTS=\"-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}\"\nexport HADOOP_DATANODE_OPTS=\"-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -XX:PermSize=128m -XX:MaxPermSize=256m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtnode_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}\"\nHADOOP_BALANCER_OPTS=\"-server -Xmx{{hadoop_heapsize}}m ${HADOOP_BALANCER_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=$HADOOP_NAMENODE_OPTS\n\n# The following appli
 es to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m -XX:MaxPermSize=512m $HADOOP_CLIENT_OPTS\"\n\n# On secure datanodes, user to run the datanode as after dropping privileges\nexport HADOOP_SECURE_DN_USER=${HADOOP_SECURE_DN_USER:-{{hadoop_secure_dn_user}}}\n\n# Extra ssh options.  Empty by default.\nexport HADOOP_SSH_OPTS=\"-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR\"\n\n# Where log files are stored.  $HADOOP_HOME/logs by default.\nexport HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER\n\n# History server logs\nexport HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER\n\n# Where log files are stored in the secure data environment.\nexport HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.\n# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves\n\n# host:path where hadoop code should be rsync'd from.  Unset by default.\n# export HADOOP_MA
 STER=master:/home/$USER/src/hadoop\n\n# Seconds to sleep between slave commands.  Unset by default.  This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HADOOP_SLAVE_SLEEP=0.1\n\n# The directory where pid files are stored. /tmp by default.\nexport HADOOP_PID_DIR={{hadoop_pid_dir_prefix}}/$USER\nexport HADOOP_SECURE_DN_PID_DIR={{hadoop_pid_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# History server pid\nexport HADOOP_MAPRED_PID_DIR={{mapred_pid_dir_prefix}}/$USER\n\nYARN_RESOURCEMANAGER_OPTS=\"-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY\"\n\n# A string representing this instance of hadoop. $USER by default.\nexport HADOOP_IDENT_STRING=$USER\n\n# The scheduling priority for daemon processes.  See 'man nice'.\n\n# export HADOOP_NICENESS=10\n\n# Use libraries from standard classpath\nJAVA_JDBC_LIBS=\"\"\n#Add libraries required by mysql connector\nfor jarFile in `ls /usr/share/java/*
 mysql* 2>/dev/null`\ndo\n  JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\ndone\n# Add libraries required by oracle connector\nfor jarFile in `ls /usr/share/java/*ojdbc* 2>/dev/null`\ndo\n  JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\ndone\n# Add libraries required by nodemanager\nMAPREDUCE_LIBS={{mapreduce_libs_path}}\nexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}:${MAPREDUCE_LIBS}\n\n# added to the HADOOP_CLASSPATH\nif [ -d \"/usr/hdp/current/tez-client\" ]; then\n  if [ -d \"/etc/tez/conf/\" ]; then\n    # When using versioned RPMs, the tez-client will be a symlink to the current folder of tez in HDP.\n    export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:/usr/hdp/current/tez-client/*:/usr/hdp/current/tez-client/lib/*:/etc/tez/conf/\n  fi\nfi\n\n\n# Setting path to hdfs command line\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\n\n# Mostly required for hadoop 2.0\nexport JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}\n\nexport HADOOP_OPTS=\"-Dhdp.version=$HDP_VERSION $HADOOP_OPTS\"
 ",
+      "hdfs_user": "hdfs",
+      "namenode_opt_newsize": "256m",
+      "hadoop_root_logger": "INFO,RFA",
+      "hadoop_heapsize": "1024",
+      "namenode_opt_maxpermsize": "256m",
+      "namenode_opt_permsize": "128m"
+    },
+    "slider-client": {
+      "slider.yarn.queue": "default"
+    },
+    "core-site": {
+      "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020"
+    },
+    "hdfs-site": {
+      "a": "b"
+    },
+    "yarn-site": {
+      "yarn.application.classpath": "/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*",
+      "yarn.resourcemanager.address": "c6401.ambari.apache.org:8050",
+      "yarn.resourcemanager.scheduler.address": "c6401.ambari.apache.org:8030"
+    },
+    "cluster-env": {
+      "managed_hdfs_resource_property_names": "",
+      "security_enabled": "false",
+      "ignore_groupsusers_create": "false",
+      "smokeuser": "ambari-qa",
+      "kerberos_domain": "EXAMPLE.COM",
+      "user_group": "hadoop"
+    },
+    "ranger-knox-plugin-properties": {
+      "POLICY_MGR_URL": "{{policymgr_mgr_url}}",
+      "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900",
+      "KNOX_HOME": "/usr/hdp/current/knox-server",
+      "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit",
+      "common.name.for.certificate": "-",
+      "XAAUDIT.HDFS.IS_ENABLED": "false",
+      "SQL_CONNECTOR_JAR": "{{sql_connector_jar}}",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log",
+      "REPOSITORY_NAME": "{{repo_name}}",
+      "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword",
+      "XAAUDIT.DB.IS_ENABLED": "true",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600",
+      "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60",
+      "XAAUDIT.SOLR.SOLR_URL": "http://localhost:6083/solr/ranger_audits",
+      "XAAUDIT.DB.DATABASE_NAME": "{{xa_audit_db_name}}",
+      "XAAUDIT.DB.HOSTNAME": "{{xa_db_host}}",
+      "XAAUDIT.SOLR.IS_ENABLED": "false",
+      "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks",
+      "ranger-knox-plugin-enabled": "Yes",
+      "XAAUDIT.DB.USER_NAME": "{{xa_audit_db_user}}",
+      "policy_user": "ambari-qa",
+      "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log",
+      "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400",
+      "XAAUDIT.DB.PASSWORD": "{{xa_audit_db_password}}",
+      "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10",
+      "SSL_TRUSTSTORE_PASSWORD": "changeit",
+      "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive",
+      "REPOSITORY_CONFIG_USERNAME": "admin",
+      "XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS": "1000",
+      "XAAUDIT.DB.FLAVOUR": "{{xa_audit_db_flavor}}",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60",
+      "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks",
+      "REPOSITORY_CONFIG_PASSWORD": "admin-password",
+      "XAAUDIT.SOLR.MAX_QUEUE_SIZE": "1"
+    },
+    "webhcat-site": {
+      "templeton.jar": "/usr/hdp/current/hive-webhcat/share/webhcat/svr/lib/hive-webhcat-*.jar",
+      "templeton.pig.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/pig/pig.tar.gz",
+      "templeton.hive.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/hive/hive.tar.gz",
+      "templeton.sqoop.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/sqoop/sqoop.tar.gz",
+      "templeton.streaming.jar": "hdfs:///hdp/apps/{{ hdp_stack_version }}/mr/hadoop-streaming.jar"
+    },
+    "slider-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "slider-env": {
+      "content": "envproperties\nline2"
+    },
+    "ranger-hbase-plugin-properties": {
+      "ranger-hbase-plugin-enabled":"yes"
+    },
+    "ranger-hive-plugin-properties": {
+      "ranger-hive-plugin-enabled":"yes"
+    }
+  },
+  "configuration_attributes": {
+    "yarn-site": {
+      "final": {
+        "yarn.nodemanager.disk-health-checker.min-healthy-disks": "true",
+        "yarn.nodemanager.container-executor.class": "true",
+        "yarn.nodemanager.local-dirs": "true"
+      }
+    },
+    "hdfs-site": {
+      "final": {
+        "dfs.web.ugi": "true",
+        "dfs.support.append": "true",
+        "dfs.cluster.administrators": "true"
+      }
+    },
+    "core-site": {
+      "final": {
+        "hadoop.proxyuser.hive.groups": "true",
+        "webinterface.private.actions": "true",
+        "hadoop.proxyuser.oozie.hosts": "true"
+      }
+    }
+  },
+  "configurationTags": {
+    "slider-client": {
+      "tag": "version1"
+    },
+    "slider-log4j": {
+      "tag": "version1"
+    },
+    "slider-env": {
+      "tag": "version1"
+    },
+    "core-site": {
+      "tag": "version1"
+    },
+    "hdfs-site": {
+      "tag": "version1"
+    },
+    "yarn-site": {
+      "tag": "version1"
+    },
+    "gateway-site": {
+      "tag": "version1"
+    },
+    "topology": {
+      "tag": "version1"
+    },
+    "users-ldif": {
+      "tag": "version1"
+    },
+    "kafka-env": {
+      "tag": "version1"
+    },
+    "kafka-log4j": {
+      "tag": "version1"
+    },
+    "kafka-broker": {
+      "tag": "version1"
+    }
+  },
+  "commandId": "7-1",
+  "clusterHostInfo": {
+    "ambari_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "all_ping_ports": [
+      "8670",
+      "8670"
+    ],
+    "rm_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "all_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "knox_gateway_hosts": [
+      "jaimin-knox-1.c.pramod-thangali.internal"
+    ],
+    "kafka_broker_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "zookeeper_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_admin_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_usersync_hosts" : [
+      "c6408.ambari.apache.org"
+    ]
+
+  }
+}


[2/8] ambari git commit: AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/configs/sqoop_default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/configs/sqoop_default.json b/ambari-server/src/test/python/common-services/configs/sqoop_default.json
new file mode 100644
index 0000000..73a810d
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/configs/sqoop_default.json
@@ -0,0 +1,879 @@
+{
+  "roleCommand": "SERVICE_CHECK",
+  "clusterName": "c1",
+  "hostname": "c6401.ambari.apache.org",
+  "hostLevelParams": {
+    "not_managed_hdfs_path_list": "[\"/apps/hive/warehouse\",\"/apps/falcon\",\"/mr-history/done\",\"/app-logs\",\"/tmp\"]",
+    "agent_stack_retry_count": "5",
+    "agent_stack_retry_on_unavailability": "false",
+    "jdk_location": "http://c6401.ambari.apache.org:8080/resources/",
+    "ambari_db_rca_password": "mapred",
+    "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca",
+    "repo_info": "[{\"baseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\",\"osType\":\"centos6\",\"repoId\":\"HDP-2.0._\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0\"}]",
+    "jce_name": "UnlimitedJCEPolicyJDK7.zip",
+    "stack_version": "2.0",
+    "stack_name": "HDP",
+    "ambari_db_rca_driver": "org.postgresql.Driver",
+    "jdk_name": "jdk-7u67-linux-x64.tar.gz",
+    "ambari_db_rca_username": "mapred",
+    "java_home": "/usr/jdk64/jdk1.7.0_45",
+    "java_version": "8",
+    "db_name": "ambari"
+  },
+  "commandType": "EXECUTION_COMMAND",
+  "roleParams": {},
+  "serviceName": "HIVE",
+  "role": "HIVE_CLIENT",
+  "commandParams": {
+    "command_timeout": "300",
+    "service_package_folder": "OOZIE",
+    "script_type": "PYTHON",
+    "script": "scripts/service_check.py",
+    "excluded_hosts": "host1,host2",
+    "mark_draining_only" : "false",
+    "xml_configs_list":[{"hdfs-site.xml":"hdfs-site"}],
+    "env_configs_list":[{"hadoop-env.sh":"hadoop-env"}],
+    "output_file":"HDFS_CLIENT-configs.tar.gz"
+
+  },
+  "taskId": 152,
+  "public_hostname": "c6401.ambari.apache.org",
+  "configurations": {
+    "mapred-site": {
+      "mapreduce.jobhistory.address": "c6402.ambari.apache.org:10020",
+      "mapreduce.cluster.administrators": " hadoop",
+      "mapreduce.reduce.input.buffer.percent": "0.0",
+      "mapreduce.output.fileoutputformat.compress": "false",
+      "mapreduce.framework.name": "yarn",
+      "mapreduce.map.speculative": "false",
+      "mapreduce.reduce.shuffle.merge.percent": "0.66",
+      "yarn.app.mapreduce.am.resource.mb": "683",
+      "mapreduce.map.java.opts": "-Xmx273m",
+      "mapreduce.application.classpath": "$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*",
+      "mapreduce.job.reduce.slowstart.completedmaps": "0.05",
+      "mapreduce.output.fileoutputformat.compress.type": "BLOCK",
+      "mapreduce.reduce.speculative": "false",
+      "mapreduce.reduce.java.opts": "-Xmx546m",
+      "mapreduce.am.max-attempts": "2",
+      "yarn.app.mapreduce.am.admin-command-opts": "-Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log.level=WARN",
+      "mapreduce.reduce.log.level": "INFO",
+      "mapreduce.map.sort.spill.percent": "0.7",
+      "mapreduce.task.timeout": "300000",
+      "mapreduce.map.memory.mb": "341",
+      "mapreduce.task.io.sort.factor": "100",
+      "mapreduce.jobhistory.intermediate-done-dir": "/mr-history/tmp",
+      "mapreduce.reduce.memory.mb": "683",
+      "yarn.app.mapreduce.am.log.level": "INFO",
+      "mapreduce.map.log.level": "INFO",
+      "mapreduce.shuffle.port": "13562",
+      "mapreduce.admin.user.env": "LD_LIBRARY_PATH=/usr/lib/hadoop/lib/native:/usr/lib/hadoop/lib/native/`$JAVA_HOME/bin/java -d32 -version &> /dev/null;if [ $? -eq 0 ]; then echo Linux-i386-32; else echo Linux-amd64-64;fi`",
+      "mapreduce.map.output.compress": "false",
+      "yarn.app.mapreduce.am.staging-dir": "/user",
+      "mapreduce.reduce.shuffle.parallelcopies": "30",
+      "mapreduce.reduce.shuffle.input.buffer.percent": "0.7",
+      "mapreduce.jobhistory.webapp.address": "c6402.ambari.apache.org:19888",
+      "mapreduce.jobhistory.done-dir": "/mr-history/done",
+      "mapreduce.admin.reduce.child.java.opts": "-Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log.level=WARN",
+      "mapreduce.task.io.sort.mb": "136",
+      "yarn.app.mapreduce.am.command-opts": "-Xmx546m",
+      "mapreduce.admin.map.child.java.opts": "-Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log.level=WARN"
+    },
+    "oozie-site": {
+      "oozie.service.PurgeService.purge.interval": "3600",
+      "oozie.service.CallableQueueService.queue.size": "1000",
+      "oozie.service.SchemaService.wf.ext.schemas": "shell-action-0.1.xsd,email-action-0.1.xsd,hive-action-0.2.xsd,sqoop-action-0.2.xsd,ssh-action-0.1.xsd,distcp-action-0.1.xsd,shell-action-0.2.xsd,oozie-sla-0.1.xsd,oozie-sla-0.2.xsd,hive-action-0.3.xsd",
+      "oozie.service.JPAService.jdbc.url": "jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create=true",
+      "oozie.service.HadoopAccessorService.nameNode.whitelist": " ",
+      "use.system.libpath.for.mapreduce.and.pig.jobs": "false",
+      "oozie.db.schema.name": "oozie",
+      "oozie.credentials.credentialclasses": "hcat=org.apache.oozie.action.hadoop.HCatCredentials",
+      "oozie.service.JPAService.create.db.schema": "false",
+      "oozie.authentication.kerberos.name.rules": "\n        RULE:[2:$1@$0]([jt]t@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-MAPREDUSER/\n        RULE:[2:$1@$0]([nd]n@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HDFSUSER/\n        RULE:[2:$1@$0](hm@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/\n        RULE:[2:$1@$0](rs@.*TODO-KERBEROS-DOMAIN)s/.*/TODO-HBASE-USER/\n        DEFAULT",
+      "oozie.service.ActionService.executor.ext.classes": "\n            org.apache.oozie.action.email.EmailActionExecutor,\n            org.apache.oozie.action.hadoop.HiveActionExecutor,\n            org.apache.oozie.action.hadoop.ShellActionExecutor,\n            org.apache.oozie.action.hadoop.SqoopActionExecutor,\n            org.apache.oozie.action.hadoop.DistcpActionExecutor",
+      "oozie.base.url": "http://c6402.ambari.apache.org:11000/oozie",
+      "oozie.service.JPAService.jdbc.password": "asd",
+      "oozie.service.coord.normal.default.timeout": "120",
+      "oozie.service.AuthorizationService.security.enabled": "true",
+      "oozie.service.JPAService.pool.max.active.conn": "10",
+      "oozie.service.PurgeService.older.than": "30",
+      "oozie.service.coord.push.check.requeue.interval": "30000",
+      "oozie.service.HadoopAccessorService.hadoop.configurations": "*=/etc/hadoop/conf",
+      "oozie.service.HadoopAccessorService.jobTracker.whitelist": " ",
+      "oozie.service.CallableQueueService.callable.concurrency": "3",
+      "oozie.service.JPAService.jdbc.username": "oozie",
+      "oozie.service.CallableQueueService.threads": "10",
+      "oozie.services.ext": "org.apache.oozie.service.PartitionDependencyManagerService,org.apache.oozie.service.HCatAccessorService",
+      "oozie.systemmode": "NORMAL",
+      "oozie.service.WorkflowAppService.system.libpath": "/user/${user.name}/share/lib",
+      "oozie.services": "\n        org.apache.oozie.service.SchedulerService,\n        org.apache.oozie.service.InstrumentationService,\n        org.apache.oozie.service.CallableQueueService,\n        org.apache.oozie.service.UUIDService,\n        org.apache.oozie.service.ELService,\n        org.apache.oozie.service.AuthorizationService,\n        org.apache.oozie.service.UserGroupInformationService,\n        org.apache.oozie.service.HadoopAccessorService,\n        org.apache.oozie.service.URIHandlerService,\n        org.apache.oozie.service.MemoryLocksService,\n        org.apache.oozie.service.DagXLogInfoService,\n        org.apache.oozie.service.SchemaService,\n        org.apache.oozie.service.LiteWorkflowAppService,\n        org.apache.oozie.service.JPAService,\n        org.apache.oozie.service.StoreService,\n        org.apache.oozie.service.CoordinatorStoreService,\n        org.apache.oozie.service.SLAStoreService,\n        org.apache.oozie.service.DBLiteWorkflowStoreService,\n  
       org.apache.oozie.service.CallbackService,\n        org.apache.oozie.service.ActionService,\n        org.apache.oozie.service.ActionCheckerService,\n        org.apache.oozie.service.RecoveryService,\n        org.apache.oozie.service.PurgeService,\n        org.apache.oozie.service.CoordinatorEngineService,\n        org.apache.oozie.service.BundleEngineService,\n        org.apache.oozie.service.DagEngineService,\n        org.apache.oozie.service.CoordMaterializeTriggerService,\n        org.apache.oozie.service.StatusTransitService,\n        org.apache.oozie.service.PauseTransitService,\n        org.apache.oozie.service.GroupsService,\n        org.apache.oozie.service.ProxyUserService",
+      "oozie.service.URIHandlerService.uri.handlers": "org.apache.oozie.dependency.FSURIHandler,org.apache.oozie.dependency.HCatURIHandler",
+      "oozie.authentication.type": "simple",
+      "oozie.service.JPAService.jdbc.driver": "org.apache.derby.jdbc.EmbeddedDriver",
+      "oozie.system.id": "oozie-${user.name}"
+    },
+    "storm-site": {
+      "topology.tuple.serializer": "backtype.storm.serialization.types.ListDelegateSerializer",
+      "topology.workers": "1",
+      "drpc.worker.threads": "64",
+      "storm.zookeeper.servers": "['c6401.ambari.apache.org','c6402.ambari.apache.org']",
+      "supervisor.heartbeat.frequency.secs": "5",
+      "topology.executor.send.buffer.size": "1024",
+      "drpc.childopts": "-Xmx768m",
+      "nimbus.thrift.port": "6627",
+      "storm.zookeeper.retry.intervalceiling.millis": "30000",
+      "storm.local.dir": "/hadoop/storm",
+      "topology.receiver.buffer.size": "8",
+      "storm.messaging.netty.client_worker_threads": "1",
+      "transactional.zookeeper.root": "/transactional",
+      "drpc.request.timeout.secs": "600",
+      "topology.skip.missing.kryo.registrations": "false",
+      "worker.heartbeat.frequency.secs": "1",
+      "zmq.hwm": "0",
+      "storm.zookeeper.connection.timeout": "15000",
+      "topology.max.error.report.per.interval": "5",
+      "storm.messaging.netty.server_worker_threads": "1",
+      "supervisor.worker.start.timeout.secs": "120",
+      "zmq.threads": "1",
+      "topology.acker.executors": "null",
+      "storm.local.mode.zmq": "false",
+      "topology.max.task.parallelism": "null",
+      "storm.zookeeper.port": "2181",
+      "nimbus.childopts": "-Xmx1024m",
+      "worker.childopts": "-Xmx768m",
+      "drpc.queue.size": "128",
+      "storm.zookeeper.retry.times": "5",
+      "nimbus.monitor.freq.secs": "10",
+      "storm.cluster.mode": "distributed",
+      "dev.zookeeper.path": "/tmp/dev-storm-zookeeper",
+      "drpc.invocations.port": "3773",
+      "storm.zookeeper.root": "/storm",
+      "logviewer.childopts": "-Xmx128m",
+      "transactional.zookeeper.port": "null",
+      "topology.worker.childopts": "null",
+      "topology.max.spout.pending": "null",
+      "nimbus.cleanup.inbox.freq.secs": "600",
+      "storm.messaging.netty.min_wait_ms": "100",
+      "nimbus.task.timeout.secs": "30",
+      "nimbus.thrift.max_buffer_size": "1048576",
+      "topology.sleep.spout.wait.strategy.time.ms": "1",
+      "topology.optimize": "true",
+      "nimbus.reassign": "true",
+      "storm.messaging.transport": "backtype.storm.messaging.netty.Context",
+      "logviewer.appender.name": "A1",
+      "nimbus.host": "c6401.ambari.apache.org",
+      "ui.port": "8744",
+      "supervisor.slots.ports": "[6700, 6701]",
+      "nimbus.file.copy.expiration.secs": "600",
+      "supervisor.monitor.frequency.secs": "3",
+      "ui.childopts": "-Xmx768m",
+      "transactional.zookeeper.servers": "null",
+      "zmq.linger.millis": "5000",
+      "topology.error.throttle.interval.secs": "10",
+      "topology.worker.shared.thread.pool.size": "4",
+      "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib",
+      "topology.spout.wait.strategy": "backtype.storm.spout.SleepSpoutWaitStrategy",
+      "task.heartbeat.frequency.secs": "3",
+      "topology.transfer.buffer.size": "1024",
+      "storm.zookeeper.session.timeout": "20000",
+      "topology.executor.receive.buffer.size": "1024",
+      "topology.stats.sample.rate": "0.05",
+      "topology.fall.back.on.java.serialization": "true",
+      "supervisor.childopts": "-Xmx256m",
+      "topology.enable.message.timeouts": "true",
+      "storm.messaging.netty.max_wait_ms": "1000",
+      "nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator",
+      "nimbus.supervisor.timeout.secs": "60",
+      "topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy",
+      "nimbus.inbox.jar.expiration.secs": "3600",
+      "drpc.port": "3772",
+      "topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory",
+      "storm.zookeeper.retry.interval": "1000",
+      "storm.messaging.netty.max_retries": "30",
+      "topology.tick.tuple.freq.secs": "null",
+      "supervisor.enable": "true",
+      "nimbus.task.launch.secs": "120",
+      "task.refresh.poll.secs": "10",
+      "topology.message.timeout.secs": "30",
+      "storm.messaging.netty.buffer_size": "5242880",
+      "topology.state.synchronization.timeout.secs": "60",
+      "supervisor.worker.timeout.secs": "30",
+      "topology.trident.batch.emit.interval.millis": "500",
+      "topology.builtin.metrics.bucket.size.secs": "60",
+      "storm.thrift.transport": "backtype.storm.security.auth.SimpleTransportPlugin",
+      "logviewer.port": "8000",
+      "topology.debug": "false"
+    },
+    "ranger-hive-plugin-properties": {
+      "XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS": "900",
+      "XAAUDIT.HDFS.DESTINATION_DIRECTORY": "hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit",
+      "common.name.for.certificate": "-",
+      "XAAUDIT.HDFS.IS_ENABLED": "false",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_FILE": "%time:yyyyMMdd-HHmm.ss%.log",
+      "SSL_KEYSTORE_PASSWORD": "myKeyFilePassword",
+      "XAAUDIT.DB.IS_ENABLED": "true",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS": "600",
+      "XAAUDIT.SOLR.SOLR_URL": "http://localhost:6083/solr/ranger_audits",
+      "XAAUDIT.SOLR.IS_ENABLED": "false",
+      "SSL_KEYSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-keystore.jks",
+      "XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS": "60",
+      "policy_user": "ambari-qa",
+      "UPDATE_XAPOLICIES_ON_GRANT_REVOKE": "true",
+      "XAAUDIT.HDFS.DESTINTATION_FILE": "%hostname%-audit.log",
+      "XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS": "86400",
+      "XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT": "10",
+      "SSL_TRUSTSTORE_PASSWORD": "changeit",
+      "XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY": "__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive",
+      "ranger-hive-plugin-enabled": "No",
+      "jdbc.driverClassName": "org.apache.hive.jdbc.HiveDriver",
+      "REPOSITORY_CONFIG_USERNAME": "hive",
+      "XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS": "1000",
+      "XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS": "60",
+      "SSL_TRUSTSTORE_FILE_PATH": "/etc/hadoop/conf/ranger-plugin-truststore.jks",
+      "REPOSITORY_CONFIG_PASSWORD": "hive",
+      "XAAUDIT.SOLR.MAX_QUEUE_SIZE": "1"
+    },
+    "webhcat-site": {
+      "templeton.pig.path": "pig.tar.gz/pig/bin/pig",
+      "templeton.exec.timeout": "60000",
+      "templeton.override.enabled": "false",
+      "templeton.jar": "/usr/lib/hcatalog/share/webhcat/svr/webhcat.jar",
+      "templeton.zookeeper.hosts": "c6401.ambari.apache.org:2181,c6402.ambari.apache.org:2181",
+      "templeton.hive.properties": "hive.metastore.local=false,hive.metastore.uris=thrift://c6402.ambari.apache.org:9083,hive.metastore.sasl.enabled=yes,hive.metastore.execute.setugi=true,hive.metastore.warehouse.dir=/apps/hive/warehouse",
+      "templeton.storage.class": "org.apache.hive.hcatalog.templeton.tool.ZooKeeperStorage",
+      "templeton.hive.archive": "hdfs:///apps/webhcat/hive.tar.gz",
+      "templeton.streaming.jar": "hdfs:///apps/webhcat/hadoop-streaming.jar",
+      "templeton.port": "50111",
+      "templeton.libjars": "/usr/lib/zookeeper/zookeeper.jar",
+      "templeton.hadoop": "/usr/bin/hadoop",
+      "templeton.hive.path": "hive.tar.gz/hive/bin/hive",
+      "templeton.hadoop.conf.dir": "/etc/hadoop/conf",
+      "templeton.hcat": "/usr/bin/hcat",
+      "templeton.pig.archive": "hdfs:///apps/webhcat/pig.tar.gz"
+    },
+    "capacity-scheduler": {
+      "yarn.scheduler.capacity.node-locality-delay": "40",
+      "yarn.scheduler.capacity.root.capacity": "100",
+      "yarn.scheduler.capacity.root.acl_administer_queue": "*",
+      "yarn.scheduler.capacity.root.queues": "default",
+      "yarn.scheduler.capacity.maximum-applications": "10000",
+      "yarn.scheduler.capacity.root.default.user-limit-factor": "1",
+      "yarn.scheduler.capacity.root.default.maximum-capacity": "100",
+      "yarn.scheduler.capacity.root.default.state": "RUNNING",
+      "yarn.scheduler.capacity.maximum-am-resource-percent": "0.2",
+      "yarn.scheduler.capacity.root.default.acl_administer_jobs": "*",
+      "yarn.scheduler.capacity.root.default.capacity": "100",
+      "yarn.scheduler.capacity.root.default.acl_submit_applications": "*"
+    },
+    "hdfs-site": {
+      "dfs.namenode.checkpoint.period": "21600",
+      "dfs.namenode.avoid.write.stale.datanode": "true",
+      "dfs.block.access.token.enable": "true",
+      "dfs.support.append": "true",
+      "dfs.datanode.address": "0.0.0.0:${ambari.dfs.datanode.port}",
+      "dfs.cluster.administrators": " hdfs",
+      "dfs.replication": "3",
+      "ambari.dfs.datanode.http.port": "50075",
+      "dfs.datanode.balance.bandwidthPerSec": "6250000",
+      "dfs.namenode.safemode.threshold-pct": "1.0f",
+      "dfs.namenode.checkpoint.edits.dir": "${dfs.namenode.checkpoint.dir}",
+      "dfs.permissions.enabled": "true",
+      "fs.checkpoint.size": "67108864",
+      "dfs.client.read.shortcircuit": "true",
+      "dfs.namenode.https-address": "c6401.ambari.apache.org:50470",
+      "dfs.journalnode.edits.dir": "/grid/0/hdfs/journal",
+      "dfs.blocksize": "134217728",
+      "dfs.datanode.max.transfer.threads": "1024",
+      "dfs.datanode.du.reserved": "1073741824",
+      "dfs.webhdfs.enabled": "true",
+      "dfs.namenode.handler.count": "100",
+      "dfs.namenode.checkpoint.dir": "/hadoop/hdfs/namesecondary",
+      "fs.permissions.umask-mode": "022",
+      "dfs.datanode.http.address": "0.0.0.0:50075",
+      "dfs.datanode.ipc.address": "0.0.0.0:8010",
+      "dfs.datanode.data.dir": "/hadoop/hdfs/data",
+      "dfs.namenode.http-address": "c6401.ambari.apache.org:50070",
+      "dfs.blockreport.initialDelay": "120",
+      "dfs.datanode.failed.volumes.tolerated": "0",
+      "dfs.namenode.accesstime.precision": "0",
+      "ambari.dfs.datanode.port": "50010",
+      "dfs.namenode.avoid.read.stale.datanode": "true",
+      "dfs.namenode.secondary.http-address": "c6402.ambari.apache.org:50090",
+      "dfs.namenode.stale.datanode.interval": "30000",
+      "dfs.heartbeat.interval": "3",
+      "dfs.client.read.shortcircuit.streams.cache.size": "4096",
+      "dfs.permissions.superusergroup": "hdfs",
+      "dfs.https.port": "50470",
+      "dfs.journalnode.http-address": "0.0.0.0:8480",
+      "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket",
+      "dfs.namenode.write.stale.datanode.ratio": "1.0f",
+      "dfs.hosts.exclude": "/etc/hadoop/conf/dfs.exclude",
+      "dfs.datanode.data.dir.perm": "750",
+      "dfs.namenode.name.dir.restore": "true",
+      "dfs.replication.max": "50",
+      "dfs.namenode.name.dir": "/hadoop/hdfs/namenode"
+    },
+    "hbase-site": {
+      "hbase.hstore.flush.retries.number": "120",
+      "hbase.client.keyvalue.maxsize": "10485760",
+      "hbase.hstore.compactionThreshold": "3",
+      "hbase.rootdir": "hdfs://c6401.ambari.apache.org:8020/apps/hbase/data",
+      "hbase.regionserver.handler.count": "60",
+      "hbase.regionserver.global.memstore.lowerLimit": "0.38",
+      "hbase.hregion.memstore.block.multiplier": "2",
+      "hbase.hregion.memstore.flush.size": "134217728",
+      "hbase.superuser": "hbase",
+      "hbase.zookeeper.property.clientPort": "2181",
+      "hbase.regionserver.global.memstore.upperLimit": "0.4",
+      "zookeeper.session.timeout": "30000",
+      "hbase.tmp.dir": "/hadoop/hbase",
+      "hbase.local.dir": "${hbase.tmp.dir}/local",
+      "hbase.hregion.max.filesize": "10737418240",
+      "hfile.block.cache.size": "0.40",
+      "hbase.security.authentication": "simple",
+      "hbase.defaults.for.version.skip": "true",
+      "hbase.zookeeper.quorum": "c6401.ambari.apache.org,c6402.ambari.apache.org",
+      "zookeeper.znode.parent": "/hbase-unsecure",
+      "hbase.hstore.blockingStoreFiles": "10",
+      "hbase.master.port": "60000",
+      "hbase.hregion.majorcompaction": "86400000",
+      "hbase.security.authorization": "false",
+      "hbase.cluster.distributed": "true",
+      "hbase.hregion.memstore.mslab.enabled": "true",
+      "hbase.client.scanner.caching": "100",
+      "hbase.zookeeper.useMulti": "true"
+    },
+    "core-site": {
+      "io.serializations": "org.apache.hadoop.io.serializer.WritableSerialization",
+      "gluster.daemon.user": "null",
+      "hadoop.proxyuser.oozie.groups": "users",
+      "hadoop.proxyuser.hcat.hosts": "c6402.ambari.apache.org",
+      "hadoop.proxyuser.hive.groups": "users",
+      "hadoop.security.authentication": "simple",
+      "hadoop.proxyuser.oozie.hosts": "c6402.ambari.apache.org",
+      "io.compression.codecs": "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec",
+      "mapreduce.jobtracker.webinterface.trusted": "false",
+      "fs.AbstractFileSystem.glusterfs.impl": "null",
+      "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020",
+      "fs.trash.interval": "360",
+      "ipc.client.idlethreshold": "8000",
+      "io.file.buffer.size": "131072",
+      "hadoop.security.authorization": "false",
+      "hadoop.proxyuser.hive.hosts": "c6402.ambari.apache.org",
+      "hadoop.security.auth_to_local": "\n        RULE:[2:$1@$0]([rn]m@.*)s/.*/yarn/\n        RULE:[2:$1@$0](jhs@.*)s/.*/mapred/\n        RULE:[2:$1@$0]([nd]n@.*)s/.*/hdfs/\n        RULE:[2:$1@$0](hm@.*)s/.*/hbase/\n        RULE:[2:$1@$0](rs@.*)s/.*/hbase/\n        DEFAULT",
+      "hadoop.proxyuser.hcat.groups": "users",
+      "ipc.client.connection.maxidletime": "30000",
+      "ipc.client.connect.max.retries": "50"
+    },
+    "hive-site": {
+      "hive.enforce.sorting": "true",
+      "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+      "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+      "hive.optimize.bucketmapjoin.sortedmerge": "true",
+      "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "fs.file.impl.disable.cache": "true",
+      "hive.auto.convert.join.noconditionaltask": "true",
+      "hive.map.aggr": "true",
+      "hive.optimize.index.filter": "true",
+      "hive.security.authorization.enabled": "false",
+      "hive.optimize.reducededuplication.min.reducer": "1",
+      "hive.optimize.bucketmapjoin": "true",
+      "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9083",
+      "hive.mapjoin.bucket.cache.size": "10000",
+      "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+      "hive.vectorized.execution.enabled": "false",
+      "javax.jdo.option.ConnectionUserName": "hive",
+      "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+      "hive.optimize.reducededuplication": "true",
+      "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+      "hive.metastore.client.socket.timeout": "60",
+      "hive.auto.convert.join": "true",
+      "hive.enforce.bucketing": "true",
+      "hive.mapred.reduce.tasks.speculative.execution": "false",
+      "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+      "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+      "hive.auto.convert.sortmerge.join": "true",
+      "fs.hdfs.impl.disable.cache": "true",
+      "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "ambari.hive.db.schema.name": "hive",
+      "hive.metastore.execute.setugi": "true",
+      "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+      "hive.server2.enable.doAs": "true",
+      "hive.server2.transport.mode": "binary",
+      "hive.optimize.mapjoin.mapreduce": "true"
+    },
+    "hive-interactive-site": {
+      "hive.enforce.sorting": "true",
+      "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+      "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+      "hive.optimize.bucketmapjoin.sortedmerge": "true",
+      "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "fs.file.impl.disable.cache": "true",
+      "hive.auto.convert.join.noconditionaltask": "true",
+      "hive.map.aggr": "true",
+      "hive.optimize.index.filter": "true",
+      "hive.security.authorization.enabled": "false",
+      "hive.optimize.reducededuplication.min.reducer": "1",
+      "hive.optimize.bucketmapjoin": "true",
+      "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9084",
+      "hive.mapjoin.bucket.cache.size": "10000",
+      "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+      "hive.vectorized.execution.enabled": "false",
+      "javax.jdo.option.ConnectionUserName": "hive",
+      "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+      "hive.optimize.reducededuplication": "true",
+      "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+      "hive.metastore.client.socket.timeout": "60",
+      "hive.auto.convert.join": "true",
+      "hive.enforce.bucketing": "true",
+      "hive.mapred.reduce.tasks.speculative.execution": "false",
+      "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+      "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+      "hive.auto.convert.sortmerge.join": "true",
+      "fs.hdfs.impl.disable.cache": "true",
+      "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "ambari.hive.db.schema.name": "hive",
+      "hive.metastore.execute.setugi": "true",
+      "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+      "hive.server2.enable.doAs": "true",
+      "hive.server2.transport.mode": "binary",
+      "hive.optimize.mapjoin.mapreduce": "true"
+    },
+    "yarn-site": {
+      "yarn.nodemanager.disk-health-checker.min-healthy-disks": "0.25",
+      "yarn.nodemanager.container-executor.class": "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor",
+      "yarn.nodemanager.local-dirs": "/hadoop/yarn/local,/hadoop/yarn/local1",
+      "yarn.resourcemanager.resource-tracker.address": "c6402.ambari.apache.org:8025",
+      "yarn.nodemanager.remote-app-log-dir-suffix": "logs",
+      "yarn.resourcemanager.hostname": "c6402.ambari.apache.org",
+      "yarn.nodemanager.health-checker.script.timeout-ms": "60000",
+      "yarn.resourcemanager.scheduler.class": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler",
+      "yarn.nodemanager.resource.memory-mb": "2048",
+      "yarn.scheduler.minimum-allocation-mb": "683",
+      "yarn.resourcemanager.address": "c6402.ambari.apache.org:8050",
+      "yarn.resourcemanager.scheduler.address": "c6402.ambari.apache.org:8030",
+      "yarn.log-aggregation.retain-seconds": "2592000",
+      "yarn.scheduler.maximum-allocation-mb": "2048",
+      "yarn.log-aggregation-enable": "true",
+      "yarn.nodemanager.address": "0.0.0.0:45454",
+      "yarn.nodemanager.container-monitor.interval-ms": "3000",
+      "yarn.nodemanager.log-aggregation.compression-type": "gz",
+      "yarn.nodemanager.log.retain-seconds": "604800",
+      "yarn.nodemanager.delete.debug-delay-sec": "0",
+      "yarn.nodemanager.log-dirs": "/hadoop/yarn/log,/hadoop/yarn/log1",
+      "yarn.nodemanager.health-checker.interval-ms": "135000",
+      "yarn.resourcemanager.am.max-attempts": "2",
+      "yarn.nodemanager.remote-app-log-dir": "/app-logs",
+      "yarn.nodemanager.admin-env": "MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX",
+      "yarn.nodemanager.aux-services": "mapreduce_shuffle",
+      "yarn.nodemanager.vmem-check-enabled": "false",
+      "yarn.nodemanager.vmem-pmem-ratio": "2.1",
+      "yarn.admin.acl": "*",
+      "yarn.resourcemanager.webapp.address": "c6402.ambari.apache.org:8088",
+      "yarn.resourcemanager.nodes.exclude-path": "/etc/hadoop/conf/yarn.exclude",
+      "yarn.nodemanager.linux-container-executor.group": "hadoop",
+      "yarn.acl.enable": "true",
+      "yarn.log.server.url": "http://c6402.ambari.apache.org:19888/jobhistory/logs",
+      "yarn.application.classpath": "/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*",
+      "yarn.resourcemanager.admin.address": "c6402.ambari.apache.org:8141",
+      "yarn.nodemanager.aux-services.mapreduce_shuffle.class": "org.apache.hadoop.mapred.ShuffleHandler",
+      "yarn.timeline-service.leveldb-timeline-store.path": "/var/log/hadoop-yarn/timeline"
+    },
+    "tez-site": {
+      "tez.am.log.level": "WARN",
+      "tez.lib.uris": "hdfs:///apps/tez/,hdfs:///apps/tez/lib/",
+      "tez.staging-dir": "/tmp/${user.name}/staging",
+      "tez.am.am-rm.heartbeat.interval-ms.max": "250"
+    },
+    "yarn-env": {
+      "yarn_pid_dir_prefix": "/var/run/hadoop-yarn",
+      "apptimelineserver_heapsize": "1024",
+      "nodemanager_heapsize": "1024",
+      "content": "\nexport HADOOP_YARN_HOME={{hadoop_yarn_home}}\nexport YARN_LOG_DIR={{yarn_log_dir_prefix}}/$USER\nexport YARN_PID_DIR={{yarn_pid_dir_prefix}}/$USER\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\nexport JAVA_HOME={{java64_home}}\n\n# User for YARN daemons\nexport HADOOP_YARN_USER=${HADOOP_YARN_USER:-yarn}\n\n# resolve links - $0 may be a softlink\nexport YARN_CONF_DIR=\"${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}\"\n\n# some Java parameters\n# export JAVA_HOME=/home/y/libexec/jdk1.6.0/\nif [ \"$JAVA_HOME\" != \"\" ]; then\n  #echo \"run java in $JAVA_HOME\"\n  JAVA_HOME=$JAVA_HOME\nfi\n\nif [ \"$JAVA_HOME\" = \"\" ]; then\n  echo \"Error: JAVA_HOME is not set.\"\n  exit 1\nfi\n\nJAVA=$JAVA_HOME/bin/java\nJAVA_HEAP_MAX=-Xmx1000m\n\n# For setting YARN specific HEAP sizes please use this\n# Parameter and set appropriately\nYARN_HEAPSIZE={{yarn_heapsize}}\n\n# check envvars which might override default args\nif [ \"$YARN_HEAPSIZE\" != \"\" ]; then\n  JAVA_HEAP_MAX=\"-
 Xmx\"\"$YARN_HEAPSIZE\"\"m\"\nfi\n\n# Resource Manager specific parameters\n\n# Specify the max Heapsize for the ResourceManager using a numerical value\n# in the scale of MB. For example, to specify an jvm option of -Xmx1000m, set\n# the value to 1000.\n# This value will be overridden by an Xmx setting specified in either YARN_OPTS\n# and/or YARN_RESOURCEMANAGER_OPTS.\n# If not specified, the default value will be picked from either YARN_HEAPMAX\n# or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\nexport YARN_RESOURCEMANAGER_HEAPSIZE={{resourcemanager_heapsize}}\n\n# Specify the JVM options to be used when starting the ResourceManager.\n# These options will be appended to the options specified as YARN_OPTS\n# and therefore may override any similar flags set in YARN_OPTS\n#export YARN_RESOURCEMANAGER_OPTS=\n\n# Node Manager specific parameters\n\n# Specify the max Heapsize for the NodeManager using a numerical value\n# in the scale of MB. For example, to specif
 y an jvm option of -Xmx1000m, set\n# the value to 1000.\n# This value will be overridden by an Xmx setting specified in either YARN_OPTS\n# and/or YARN_NODEMANAGER_OPTS.\n# If not specified, the default value will be picked from either YARN_HEAPMAX\n# or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\nexport YARN_NODEMANAGER_HEAPSIZE={{nodemanager_heapsize}}\n\n# Specify the max Heapsize for the HistoryManager using a numerical value\n# in the scale of MB. For example, to specify an jvm option of -Xmx1000m, set\n# the value to 1024.\n# This value will be overridden by an Xmx setting specified in either YARN_OPTS\n# and/or YARN_HISTORYSERVER_OPTS.\n# If not specified, the default value will be picked from either YARN_HEAPMAX\n# or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\nexport YARN_HISTORYSERVER_HEAPSIZE={{apptimelineserver_heapsize}}\n\n# Specify the JVM options to be used when starting the NodeManager.\n# These options will be appen
 ded to the options specified as YARN_OPTS\n# and therefore may override any similar flags set in YARN_OPTS\n#export YARN_NODEMANAGER_OPTS=\n\n# so that filenames w/ spaces are handled correctly in loops below\nIFS=\n\n\n# default log directory and file\nif [ \"$YARN_LOG_DIR\" = \"\" ]; then\n  YARN_LOG_DIR=\"$HADOOP_YARN_HOME/logs\"\nfi\nif [ \"$YARN_LOGFILE\" = \"\" ]; then\n  YARN_LOGFILE='yarn.log'\nfi\n\n# default policy file for service-level authorization\nif [ \"$YARN_POLICYFILE\" = \"\" ]; then\n  YARN_POLICYFILE=\"hadoop-policy.xml\"\nfi\n\n# restore ordinary behaviour\nunset IFS\n\n\nYARN_OPTS=\"$YARN_OPTS -Dhadoop.log.dir=$YARN_LOG_DIR\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.log.dir=$YARN_LOG_DIR\"\nYARN_OPTS=\"$YARN_OPTS -Dhadoop.log.file=$YARN_LOGFILE\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.log.file=$YARN_LOGFILE\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.home.dir=$YARN_COMMON_HOME\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.id.str=$YARN_IDENT_STRING\"\nYARN_OPTS=\"$YARN_OPTS -Dhadoop.root.logger=${YARN_
 ROOT_LOGGER:-INFO,console}\"\nYARN_OPTS=\"$YARN_OPTS -Dyarn.root.logger=${YARN_ROOT_LOGGER:-INFO,console}\"\nif [ \"x$JAVA_LIBRARY_PATH\" != \"x\" ]; then\n  YARN_OPTS=\"$YARN_OPTS -Djava.library.path=$JAVA_LIBRARY_PATH\"\nfi\nYARN_OPTS=\"$YARN_OPTS -Dyarn.policy.file=$YARN_POLICYFILE\"",
+      "yarn_heapsize": "1024",
+      "yarn_user": "yarn",
+      "resourcemanager_heapsize": "1024",
+      "yarn_log_dir_prefix": "/var/log/hadoop-yarn",
+      "min_user_id": "1000"
+    },
+    "cluster-env": {
+      "managed_hdfs_resource_property_names": "",
+      "security_enabled": "false",
+      "ignore_groupsusers_create": "false",
+      "smokeuser": "ambari-qa",
+      "kerberos_domain": "EXAMPLE.COM",
+      "user_group": "hadoop"
+    },
+    "hadoop-env": {
+      "namenode_opt_maxnewsize": "200m",
+      "hdfs_log_dir_prefix": "/var/log/hadoop",
+      "namenode_heapsize": "1024m",
+      "namenode_opt_newsize": "200m",
+      "namenode_opt_permsize" : "128m",
+      "namenode_opt_maxpermsize" : "256m",
+      "content": "\n# Set Hadoop-specific environment variables here.\n\n# The only required environment variable is JAVA_HOME.  All others are\n# optional.  When running a distributed configuration it is best to\n# set JAVA_HOME in this file, so that it is correctly defined on\n# remote nodes.\n\n# The java implementation to use.  Required.\nexport JAVA_HOME={{java_home}}\nexport HADOOP_HOME_WARN_SUPPRESS=1\n\n# Hadoop home directory\nexport HADOOP_HOME=${HADOOP_HOME:-/usr/lib/hadoop}\n\n# Hadoop Configuration Directory\n#TODO: if env var set that can cause problems\nexport HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-{{hadoop_conf_dir}}}\n\n{# this is different for HDP1 #}\n# Path to jsvc required by secure HDP 2.0 datanode\nexport JSVC_HOME={{jsvc_path}}\n\n\n# The maximum amount of heap to use, in MB. Default is 1000.\nexport HADOOP_HEAPSIZE=\"{{hadoop_heapsize}}\"\n\nexport HADOOP_NAMENODE_INIT_HEAPSIZE=\"-Xms{{namenode_heapsize}}\"\n\n# Extra Java runtime options.  Empty by default.\nex
 port HADOOP_OPTS=\"-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}\"\n\n# Command specific options appended to HADOOP_OPTS when specified\nexport HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_NAMENODE_OPTS}\"\nHADOOP_JOBTRACKER_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{jtnode_opt_newsize}} -XX:MaxNewSize={{jtnode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USE
 R/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xmx{{jtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}\"\n\nHADOOP_TASKTRACKER_OPTS=\"-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}\"\nHADOOP_DATANODE_OPTS=\"-Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=ERROR,DRFAS ${HADOOP_DATANODE_OPTS}\"\nHADOOP_BALANCER_OPTS=\"-server -Xmx{{hadoop_heapsize}}m ${HADOOP_BALANCER_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/
 gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps ${HADOOP_NAMENODE_INIT_HEAPSIZE} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_SECONDARYNAMENODE_OPTS}\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n# On secure datanodes, user to run the datanode as after dropping privileges\nexport HADOOP_SECURE_DN_USER={{hdfs_user}}\n\n# Extra ssh options.  Empty by default.\nexport HADOOP_SSH_OPTS=\"-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR\"\n\n# Where log files are stored.  $HADOOP_HOME/logs by default.\nexport HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER\n\n# History server logs\nexport HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER\n\n# Where log files are stored in the secure data environment.\nexport HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SE
 CURE_DN_USER\n\n# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.\n# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves\n\n# host:path where hadoop code should be rsync'd from.  Unset by default.\n# export HADOOP_MASTER=master:/home/$USER/src/hadoop\n\n# Seconds to sleep between slave commands.  Unset by default.  This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HADOOP_SLAVE_SLEEP=0.1\n\n# The directory where pid files are stored. /tmp by default.\nexport HADOOP_PID_DIR={{hadoop_pid_dir_prefix}}/$USER\nexport HADOOP_SECURE_DN_PID_DIR={{hadoop_pid_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# History server pid\nexport HADOOP_MAPRED_PID_DIR={{mapred_pid_dir_prefix}}/$USER\n\nYARN_RESOURCEMANAGER_OPTS=\"-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY\"\n\n# A string representing this instance of hadoop. $USER by default.\nexport HADOOP_IDENT_STRING=$USER\n\n# The s
 cheduling priority for daemon processes.  See 'man nice'.\n\n# export HADOOP_NICENESS=10\n\n# Use libraries from standard classpath\nJAVA_JDBC_LIBS=\"\"\n#Add libraries required by mysql connector\nfor jarFile in `ls /usr/share/java/*mysql* 2>/dev/null`\ndo\n  JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\ndone\n#Add libraries required by oracle connector\nfor jarFile in `ls /usr/share/java/*ojdbc* 2>/dev/null`\ndo\n  JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\ndone\n#Add libraries required by nodemanager\nMAPREDUCE_LIBS={{mapreduce_libs_path}}\nexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}:${MAPREDUCE_LIBS}\n\nif [ -d \"/usr/lib/tez\" ]; then\n  export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/lib/tez/*:/usr/lib/tez/lib/*:/etc/tez/conf\nfi\n\n# Setting path to hdfs command line\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\n\n#Mostly required for hadoop 2.0\nexport JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:/usr/lib/hadoop/lib/native/Linux-amd64-64",
+      "hdfs_user": "hdfs",
+      "dtnode_heapsize": "1024m",
+      "proxyuser_group": "users",
+      "hadoop_heapsize": "1024",
+      "hadoop_pid_dir_prefix": "/var/run/hadoop"
+    },
+    "hive-env": {
+      "hcat_pid_dir": "/var/run/webhcat",
+      "hcat_user": "hcat",
+      "hive_ambari_database": "MySQL",
+      "hive_hostname": "abtest-3.c.pramod-thangali.internal",
+      "hive_metastore_port": "9083",
+      "webhcat_user": "hcat",
+      "content": "\n if [ \"$SERVICE\" = \"cli\" ]; then\n   if [ -z \"$DEBUG\" ]; then\n     export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseParNewGC -XX:-UseGCOverheadLimit\"\n   else\n     export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit\"\n   fi\n fi\n\n# The heap size of the jvm stared by hive shell script can be controlled via:\n\nexport HADOOP_HEAPSIZE=\"{{hive_heapsize}}\"\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n\n# Larger heap size may be required when running queries over large number of files or partitions.\n# By default hive shell scripts use a heap size of 256 (MB).  Larger heap size would also be\n# appropriate for hive server (hwi etc).\n\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nHADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hive Configuration Directory can 
 be controlled by:\nexport HIVE_CONF_DIR={{conf_dir}}\n\n# Folder containing extra ibraries required for hive compilation/execution can be controlled by:\nif [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n  export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\nelif [ -d \"/usr/lib/hive-hcatalog/\" ]; then\n  export HIVE_AUX_JARS_PATH=/usr/lib/hive-hcatalog/share/hcatalog/hive-hcatalog-core-*.jar\nelse\n  export HIVE_AUX_JARS_PATH=/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar\nfi\nexport METASTORE_PORT={{hive_metastore_port}}",
+      "hive_database_name": "hive",
+      "hive_database_type": "mysql",
+      "hive_pid_dir": "/var/run/hive",
+      "hive_log_dir": "/var/log/hive",
+      "hive_user": "hive",
+      "hcat_log_dir": "/var/log/webhcat",
+      "hive_database": "New MySQL Database",
+      "hive_security_authorization": "None"
+    },
+    "hbase-env": {
+      "hbase_pid_dir": "/var/run/hbase",
+      "hbase_user": "hbase",
+      "hbase_master_heapsize": "1024m",
+      "content": "\n# Set environment variables here.\n\n# The java implementation to use. Java 1.6 required.\nexport JAVA_HOME={{java64_home}}\n\n# HBase Configuration directory\nexport HBASE_CONF_DIR=${HBASE_CONF_DIR:-{{hbase_conf_dir}}}\n\n# Extra Java CLASSPATH elements. Optional.\nexport HBASE_CLASSPATH=${HBASE_CLASSPATH}\n\n# The maximum amount of heap to use, in MB. Default is 1000.\n# export HBASE_HEAPSIZE=1000\n\n# Extra Java runtime options.\n# Below are what we set by default. May only work with SUN JVM.\n# For more on why as well as other possible settings,\n# see http://wiki.apache.org/hadoop/PerformanceTuning\nexport HBASE_OPTS=\"-XX:+UseConcMarkSweepGC -XX:ErrorFile={{log_dir}}/hs_err_pid%p.log\"\nexport SERVER_GC_OPTS=\"-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:{{log_dir}}/gc.log-`date +'%Y%m%d%H%M'`\"\n# Uncomment below to enable java garbage collection logging.\n# export HBASE_OPTS=\"$HBASE_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateS
 tamps -Xloggc:$HBASE_HOME/logs/gc-hbase.log\"\n\n# Uncomment and adjust to enable JMX exporting\n# See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access.\n# More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html\n#\n# export HBASE_JMX_BASE=\"-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false\"\nexport HBASE_MASTER_OPTS=\"-Xmx{{master_heapsize}}\"\nexport HBASE_REGIONSERVER_OPTS=\"-Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70  -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}\"\n# export HBASE_THRIFT_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103\"\n# export HBASE_ZOOKEEPER_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104\"\n\n# File naming hosts on which HRegionServers will run. $HBASE_HOME/conf/regionservers by default.\nexport HBASE_REGIONSERVERS=${HBASE_CONF_DIR}/regionservers\n\n# Extra 
 ssh options. Empty by default.\n# export HBASE_SSH_OPTS=\"-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR\"\n\n# Where log files are stored. $HBASE_HOME/logs by default.\nexport HBASE_LOG_DIR={{log_dir}}\n\n# A string representing this instance of hbase. $USER by default.\n# export HBASE_IDENT_STRING=$USER\n\n# The scheduling priority for daemon processes. See 'man nice'.\n# export HBASE_NICENESS=10\n\n# The directory where pid files are stored. /tmp by default.\nexport HBASE_PID_DIR={{pid_dir}}\n\n# Seconds to sleep between slave commands. Unset by default. This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HBASE_SLAVE_SLEEP=0.1\n\n# Tell HBase whether it should manage it's own instance of Zookeeper or not.\nexport HBASE_MANAGES_ZK=false\n\n{% if security_enabled %}\nexport HBASE_OPTS=\"$HBASE_OPTS -Djava.security.auth.login.config={{client_jaas_config_file}}\"\nexport HBASE_MASTER_OPTS=\"$HBAS
 E_MASTER_OPTS -Djava.security.auth.login.config={{master_jaas_config_file}}\"\nexport HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS -Djava.security.auth.login.config={{regionserver_jaas_config_file}}\"\n{% endif %}",
+      "hbase_regionserver_heapsize": "1024m",
+      "hbase_regionserver_xmn_max": "512",
+      "hbase_regionserver_xmn_ratio": "0.2",
+      "hbase_log_dir": "/var/log/hbase",
+      "hbase_java_io_tmpdir" : "/tmp"
+    },
+    "ganglia-env": {
+      "gmond_user": "nobody",
+      "ganglia_runtime_dir": "/var/run/ganglia/hdp",
+      "rrdcached_base_dir": "/var/lib/ganglia/rrds",
+      "rrdcached_flush_timeout": "7200",
+      "gmetad_user": "nobody",
+      "rrdcached_write_threads": "4",
+      "rrdcached_delay": "1800",
+      "rrdcached_timeout": "3600"
+    },
+    "zookeeper-env": {
+      "clientPort": "2181",
+      "zk_user": "zookeeper",
+      "zk_log_dir": "/var/log/zookeeper",
+      "syncLimit": "5",
+      "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}",
+      "initLimit": "10",
+      "zk_pid_dir": "/var/run/zookeeper",
+      "zk_data_dir": "/hadoop/zookeeper",
+      "tickTime": "2000"
+    },
+    "mapred-env": {
+      "content": "\n# export JAVA_HOME=/home/y/libexec/jdk1.6.0/\n\nexport HADOOP_JOB_HISTORYSERVER_HEAPSIZE={{jobhistory_heapsize}}\n\nexport HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA\n\n#export HADOOP_JOB_HISTORYSERVER_OPTS=\n#export HADOOP_MAPRED_LOG_DIR=\"\" # Where log files are stored.  $HADOOP_MAPRED_HOME/logs by default.\n#export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.\n#export HADOOP_MAPRED_PID_DIR= # The pid files are stored. /tmp by default.\n#export HADOOP_MAPRED_IDENT_STRING= #A string representing this instance of hadoop. $USER by default\n#export HADOOP_MAPRED_NICENESS= #The scheduling priority for daemons. Defaults to 0.",
+      "mapred_pid_dir_prefix": "/var/run/hadoop-mapreduce",
+      "mapred_user": "mapred",
+      "jobhistory_heapsize": "900",
+      "mapred_log_dir_prefix": "/var/log/hadoop-mapreduce"
+    },
+    "tez-env": {
+      "content": "\n# Tez specific configuration\nexport TEZ_CONF_DIR={{config_dir}}\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# The java implementation to use.\nexport JAVA_HOME={{java64_home}}",
+      "tez_user": "tez"
+    },
+    "storm-env": {
+      "content": "\n#!/bin/bash\n\n# Set Storm specific environment variables here.\n\n# The java implementation to use.\nexport JAVA_HOME={{java_home}}\n\n# export STORM_CONF_DIR=\"\"",
+      "storm_log_dir": "/var/log/storm",
+      "storm_pid_dir": "/var/run/storm",
+      "storm_user": "storm"
+    },
+    "falcon-env": {
+      "falcon_port": "15000",
+      "falcon_pid_dir": "/var/run/falcon",
+      "falcon_log_dir": "/var/log/falcon",
+      "falcon.emeddedmq.port": "61616",
+      "falcon_user": "falcon",
+      "falcon_local_dir": "/hadoop/falcon",
+      "content": "\n# The java implementation to use. If JAVA_HOME is not found we expect java and jar to be in path\nexport JAVA_HOME={{java_home}}\n\n# any additional java opts you want to set. This will apply to both client and server operations\n#export FALCON_OPTS=\n\n# any additional java opts that you want to set for client only\n#export FALCON_CLIENT_OPTS=\n\n# java heap size we want to set for the client. Default is 1024MB\n#export FALCON_CLIENT_HEAP=\n\n# any additional opts you want to set for prisim service.\n#export FALCON_PRISM_OPTS=\n\n# java heap size we want to set for the prisim service. Default is 1024MB\n#export FALCON_PRISM_HEAP=\n\n# any additional opts you want to set for falcon service.\nexport FALCON_SERVER_OPTS=\"-Dfalcon.embeddedmq={{falcon_embeddedmq_enabled}} -Dfalcon.emeddedmq.port={{falcon_emeddedmq_port}}\"\n\n# java heap size we want to set for the falcon server. Default is 1024MB\n#export FALCON_SERVER_HEAP=\n\n# What is is considered as falcon home
  dir. Default is the base locaion of the installed software\n#export FALCON_HOME_DIR=\n\n# Where log files are stored. Defatult is logs directory under the base install location\nexport FALCON_LOG_DIR={{falcon_log_dir}}\n\n# Where pid files are stored. Defatult is logs directory under the base install location\nexport FALCON_PID_DIR={{falcon_pid_dir}}\n\n# where the falcon active mq data is stored. Defatult is logs/data directory under the base install location\nexport FALCON_DATA_DIR={{falcon_embeddedmq_data}}\n\n# Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir.\n#export FALCON_EXPANDED_WEBAPP_DIR=",
+      "falcon.embeddedmq.data": "/hadoop/falcon/embeddedmq/data",
+      "falcon.embeddedmq": "true",
+      "falcon_store_uri": "file:///hadoop/falcon/store"
+    },
+    "oozie-env": {
+      "oozie_derby_database": "Derby",
+      "oozie_admin_port": "11001",
+      "oozie_hostname": "abtest-3.c.pramod-thangali.internal",
+      "oozie_pid_dir": "/var/run/oozie",
+      "content": "\n#!/bin/bash\n\nif [ -d \"/usr/lib/bigtop-tomcat\" ]; then\n  export OOZIE_CONFIG=${OOZIE_CONFIG:-/etc/oozie/conf}\n  export CATALINA_BASE=${CATALINA_BASE:-/var/lib/oozie/oozie-server}\n  export CATALINA_TMPDIR=${CATALINA_TMPDIR:-/var/tmp/oozie}\n  export OOZIE_CATALINA_HOME=/usr/lib/bigtop-tomcat\nfi\n\n#Set JAVA HOME\nexport JAVA_HOME={{java_home}}\n\nexport JRE_HOME=${JAVA_HOME}\n\n# Set Oozie specific environment variables here.\n\n# Settings for the Embedded Tomcat that runs Oozie\n# Java System properties for Oozie should be specified in this variable\n#\n# export CATALINA_OPTS=\n\n# Oozie configuration file to load from Oozie configuration directory\n#\n# export OOZIE_CONFIG_FILE=oozie-site.xml\n\n# Oozie logs directory\n#\nexport OOZIE_LOG={{oozie_log_dir}}\n\n# Oozie pid directory\n#\nexport CATALINA_PID={{pid_file}}\n\n#Location of the data for oozie\nexport OOZIE_DATA={{oozie_data_dir}}\n\n# Oozie Log4J configuration file to load from Oozie configuratio
 n directory\n#\n# export OOZIE_LOG4J_FILE=oozie-log4j.properties\n\n# Reload interval of the Log4J configuration file, in seconds\n#\n# export OOZIE_LOG4J_RELOAD=10\n\n# The port Oozie server runs\n#\nexport OOZIE_HTTP_PORT={{oozie_server_port}}\n\n# The admin port Oozie server runs\n#\nexport OOZIE_ADMIN_PORT={{oozie_server_admin_port}}\n\n# The host name Oozie server runs on\n#\n# export OOZIE_HTTP_HOSTNAME=`hostname -f`\n\n# The base URL for callback URLs to Oozie\n#\n# export OOZIE_BASE_URL=\"http://${OOZIE_HTTP_HOSTNAME}:${OOZIE_HTTP_PORT}/oozie\"\nexport JAVA_LIBRARY_PATH=/usr/lib/hadoop/lib/native/Linux-amd64-64",
+      "oozie_user": "oozie",
+      "oozie_database": "New Derby Database",
+      "oozie_data_dir": "/hadoop/oozie/data",
+      "oozie_log_dir": "/var/log/oozie"
+    },
+    "webhcat-env": {
+      "content": "\n# The file containing the running pid\nPID_FILE={{pid_file}}\n\nTEMPLETON_LOG_DIR={{templeton_log_dir}}/\n\n\nWEBHCAT_LOG_DIR={{templeton_log_dir}}/\n\n# The console error log\nERROR_LOG={{templeton_log_dir}}/webhcat-console-error.log\n\n# The console log\nCONSOLE_LOG={{templeton_log_dir}}/webhcat-console.log\n\n#TEMPLETON_JAR=templeton_jar_name\n\n#HADOOP_PREFIX=hadoop_prefix\n\n#HCAT_PREFIX=hive_prefix\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nexport HADOOP_HOME=/usr/lib/hadoop"
+    },
+    "pig-env": {
+      "content": "\nJAVA_HOME={{java64_home}}\nHADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\nif [ -d \"/usr/lib/tez\" ]; then\n  PIG_OPTS=\"$PIG_OPTS -Dmapreduce.framework.name=yarn\"\nfi"
+    },
+    "sqoop-env": {
+      "content": "\n# Set Hadoop-specific environment variables here.\n\n#Set path to where bin/hadoop is available\n#Set path to where bin/hadoop is available\nexport HADOOP_HOME=${HADOOP_HOME:-/usr/lib/hadoop}\n\n#set the path to where bin/hbase is available\nexport HBASE_HOME=${HBASE_HOME:-/usr/lib/hbase}\n\n#Set the path to where bin/hive is available\nexport HIVE_HOME=${HIVE_HOME:-/usr/lib/hive}\n\n#Set the path for where zookeper config dir is\nexport ZOOCFGDIR=${ZOOCFGDIR:-/etc/zookeeper/conf}\n\n# add libthrift in hive to sqoop class path first so hive imports work\nexport SQOOP_USER_CLASSPATH=\"`ls ${HIVE_HOME}/lib/libthrift-*.jar 2> /dev/null`:${SQOOP_USER_CLASSPATH}\"",
+      "sqoop_user": "sqoop",
+      "jdbc_drivers" : "com.microsoft.sqlserver.jdbc.SQLServerDriver,com.mysql.jdbc.Driver"
+    },
+    "hdfs-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "yarn-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "hbase-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "hive-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "hive-exec-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "webhcat-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "zookeeper-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "pig-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "pig-properties": {
+      "content": "pigproperties\nline2"
+    },
+    "oozie-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "flume-conf": {
+      "content": "a1.sources = r1\n a1.sinks = k1\n a1.channels = c1\n # Describe/configure the source\n a1.sources.r1.type = netcat\n a1.sources.r1.bind = localhost\n a1.sources.r1.port = 44444\n \n # Describe the sink\n a1.sinks.k1.type = logger\n \n # Use a channel which buffers events in memory\n a1.channels.c1.type = memory\n a1.channels.c1.capacity = 1000\n a1.channels.c1.transactionCapacity = 100\n \n # Bind the source and sink to the channel\n a1.sources.r1.channels = c1\n a1.sinks.k1.channel = c1\n"
+    },
+    "flume-log4j": {
+      "content": "log4jproperties\nline2"
+    }
+  },
+  "configuration_attributes": {
+    "yarn-site": {
+      "final": {
+        "yarn.nodemanager.disk-health-checker.min-healthy-disks": "true",
+        "yarn.nodemanager.container-executor.class": "true",
+        "yarn.nodemanager.local-dirs": "true"
+      }
+    },
+    "tez-site": {
+      "final": {
+        "tez.am.log.level": "true"
+      }
+    },
+    "capacity-scheduler": {
+      "final": {
+        "yarn.scheduler.capacity.node-locality-delay": "true"
+      }
+    },
+    "mapred-site": {
+      "final": {
+        "mapred.healthChecker.script.path": "true",
+        "mapreduce.jobtracker.staging.root.dir": "true"
+      }
+    },
+    "oozie-site": {
+      "final": {
+        "oozie.service.PurgeService.purge.interval": "true",
+        "oozie.service.CallableQueueService.queue.size": "true"
+      }
+    },
+    "webhcat-site": {
+      "final": {
+        "templeton.pig.path": "true",
+        "templeton.exec.timeout": "true",
+        "templeton.override.enabled": "true"
+      }
+    },
+    "hdfs-site": {
+      "final": {
+        "dfs.web.ugi": "true",
+        "dfs.support.append": "true",
+        "dfs.cluster.administrators": "true"
+      }
+    },
+    "hbase-site": {
+      "final": {
+        "hbase.client.keyvalue.maxsize": "true",
+        "hbase.hstore.compactionThreshold": "true",
+        "hbase.rootdir": "true"
+      }
+    },
+    "core-site": {
+      "final": {
+        "hadoop.proxyuser.hive.groups": "true",
+        "webinterface.private.actions": "true",
+        "hadoop.proxyuser.oozie.hosts": "true"
+      }
+    },
+    "hive-site": {
+      "final": {
+        "javax.jdo.option.ConnectionPassword": "true",
+        "javax.jdo.option.ConnectionDriverName": "true",
+        "hive.optimize.bucketmapjoin.sortedmerge": "true"
+      }
+    },
+    "hive-interactive-site": {
+      "final": {
+        "javax.jdo.option.ConnectionPassword": "true",
+        "javax.jdo.option.ConnectionDriverName": "true",
+        "hive.optimize.bucketmapjoin.sortedmerge": "true"
+      }
+    }
+  },
+  "configurationTags": {
+    "capacity-scheduler": {
+      "tag": "version1"
+    },
+    "oozie-site": {
+      "tag": "version1"
+    },
+    "storm-site": {
+      "tag": "version1"
+    },
+    "webhcat-site": {
+      "tag": "version1"
+    },
+    "global": {
+      "tag": "version1"
+    },
+    "mapred-site": {
+      "tag": "version1"
+    },
+    "hdfs-site": {
+      "tag": "version1"
+    },
+    "hbase-site": {
+      "tag": "version1"
+    },
+    "core-site": {
+      "tag": "version1"
+    },
+    "yarn-site": {
+      "tag": "version1"
+    },
+    "hive-site": {
+      "tag": "version1"
+    },
+    "hive-interactive-site": {
+      "tag": "version1"
+    },
+    "hdfs-log4j": {
+      "tag": "version1"
+    },
+    "yarn-log4j": {
+      "tag": "version1"
+    },
+    "hbase-log4j": {
+      "tag": "version1"
+    },
+    "hive-log4j": {
+      "tag": "version1"
+    },
+    "hive-exec-log4j": {
+      "tag": "version1"
+    },
+    "zookeeper-log4j": {
+      "tag": "version1"
+    },
+    "oozie-log4j": {
+      "tag": "version1"
+    },
+    "pig-log4j": {
+      "tag": "version1"
+    },
+    "pig-properties": {
+      "tag": "version1"
+    }
+  },
+  "commandId": "7-1",
+  "clusterHostInfo": {
+    "ambari_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "snamenode_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "nm_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "drpc_server_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "slave_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "ganglia_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "hive_server_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "logviewer_server_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "hive_metastore_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "hbase_rs_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "webhcat_server_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "zookeeper_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "supervisor_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "ganglia_monitor_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "all_ping_ports": [
+      "8670",
+      "8670"
+    ],
+    "rm_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "all_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "storm_ui_server_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "oozie_server": [
+      "c6402.ambari.apache.org"
+    ],
+    "hs_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "nimbus_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "namenode_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "hbase_master_hosts": [
+      "c6402.ambari.apache.org"
+    ],
+    "hive_mysql_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "falcon_server_hosts": [
+      "c6402.ambari.apache.org"
+    ]
+  }
+}


[4/8] ambari git commit: AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/configs/ranger_kms_default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/configs/ranger_kms_default.json b/ambari-server/src/test/python/common-services/configs/ranger_kms_default.json
new file mode 100644
index 0000000..b6de743
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/configs/ranger_kms_default.json
@@ -0,0 +1,802 @@
+{
+  "localComponents": [
+    "SECONDARY_NAMENODE",
+    "HDFS_CLIENT",
+    "DATANODE",
+    "NAMENODE",
+    "ZOOKEEPER_SERVER",
+    "ZOOKEEPER_CLIENT",
+    "RANGER_USERSYNC",
+    "RANGER_ADMIN",
+    "RANGER_TAGSYNC",
+    "RANGER_KMS_SERVER"
+  ],
+  "configuration_attributes": {
+    "ranger-hdfs-audit": {},
+    "ssl-client": {},
+    "ranger-admin-site": {},
+    "ranger-hdfs-policymgr-ssl": {},
+    "tagsync-application-properties": {},
+    "ranger-env": {},
+    "usersync-log4j": {},
+    "admin-properties": {},
+    "ranger-ugsync-site": {},
+    "hdfs-site": {
+      "final": {
+        "dfs.datanode.data.dir": "true",
+        "dfs.namenode.http-address": "true",
+        "dfs.datanode.failed.volumes.tolerated": "true",
+        "dfs.support.append": "true",
+        "dfs.namenode.name.dir": "true",
+        "dfs.webhdfs.enabled": "true"
+      }
+    },
+    "ranger-tagsync-site": {},
+    "zoo.cfg": {},
+    "hadoop-policy": {},
+    "hdfs-log4j": {},
+    "ranger-hdfs-plugin-properties": {},
+    "core-site": {
+      "final": {
+        "fs.defaultFS": "true"
+      }
+    },
+    "hadoop-env": {},
+    "zookeeper-log4j": {},
+    "ssl-server": {},
+    "ranger-site": {},
+    "admin-log4j": {},
+    "tagsync-log4j": {},
+    "ranger-hdfs-security": {},
+    "usersync-properties": {},
+    "zookeeper-env": {},
+    "cluster-env": {},
+    "dbks-site": {},
+    "kms-env": {},
+    "kms-log4j": {},
+    "kms-properties": {},
+    "kms-site": {},
+    "ranger-kms-security": {},
+    "ranger-kms-site": {},
+    "ranger-kms-policymgr-ssl": {},
+    "ranger-kms-audit": {}
+  },
+  "public_hostname": "c6401.ambari.apache.org",
+  "commandId": "9-1",
+  "hostname": "c6401.ambari.apache.org",
+  "kerberosCommandParams": [],
+  "serviceName": "RANGER_KMS",
+  "role": "RANGER_KMS_SERVER",
+  "forceRefreshConfigTagsBeforeExecution": [],
+  "requestId": 9,
+  "agentConfigParams": {
+    "agent": {
+      "parallel_execution": 0
+    }
+  },
+  "clusterName": "c1",
+  "commandType": "EXECUTION_COMMAND",
+  "taskId": 64,
+  "roleParams": {},
+  "configurationTags": {
+    "ranger-hdfs-audit": {
+      "tag": "version1466427664617"
+    },
+    "ssl-client": {
+      "tag": "version1"
+    },
+    "ranger-admin-site": {
+      "tag": "version1466427664621"
+    },
+    "ranger-hdfs-policymgr-ssl": {
+      "tag": "version1466427664617"
+    },
+    "tagsync-application-properties": {
+      "tag": "version1466427664621"
+    },
+    "ranger-env": {
+      "tag": "version1466427664621"
+    },
+    "usersync-log4j": {
+      "tag": "version1466427664621"
+    },
+    "admin-properties": {
+      "tag": "version1466427664621"
+    },
+    "ranger-ugsync-site": {
+      "tag": "version1466427664621"
+    },
+    "hdfs-site": {
+      "tag": "version1"
+    },
+    "ranger-tagsync-site": {
+      "tag": "version1466427664621"
+    },
+    "zoo.cfg": {
+      "tag": "version1"
+    },
+    "hadoop-policy": {
+      "tag": "version1"
+    },
+    "hdfs-log4j": {
+      "tag": "version1"
+    },
+    "ranger-hdfs-plugin-properties": {
+      "tag": "version1466427664617"
+    },
+    "core-site": {
+      "tag": "version1"
+    },
+    "hadoop-env": {
+      "tag": "version1"
+    },
+    "zookeeper-log4j": {
+      "tag": "version1"
+    },
+    "ssl-server": {
+      "tag": "version1"
+    },
+    "ranger-site": {
+      "tag": "version1466427664621"
+    },
+    "admin-log4j": {
+      "tag": "version1466427664621"
+    },
+    "tagsync-log4j": {
+      "tag": "version1466427664621"
+    },
+    "ranger-hdfs-security": {
+      "tag": "version1466427664617"
+    },
+    "usersync-properties": {
+      "tag": "version1466427664621"
+    },
+    "zookeeper-env": {
+      "tag": "version1"
+    },
+    "cluster-env": {
+      "tag": "version1"
+    },
+    "dbks-site": {
+      "tag": "version1"
+    },
+    "kms-env": {
+      "tag": "version1"
+    },
+    "kms-log4j": {
+      "tag": "version1"
+    },
+    "kms-properties": {
+      "tag": "version1"
+    },
+    "kms-site": {
+      "tag": "version1"
+    },
+    "ranger-kms-security": {
+      "tag": "version1"
+    },
+    "ranger-kms-site": {
+      "tag": "version1"
+    },
+    "ranger-kms-policymgr-ssl": {
+      "tag": "version1"
+    },
+    "ranger-kms-audit": {
+      "tag": "version1"
+    }
+  },
+  "roleCommand": "START",
+  "hostLevelParams": {
+    "agent_stack_retry_on_unavailability": "false",
+    "stack_name": "HDP",
+    "custom_mysql_jdbc_name": "mysql-connector-java.jar",
+    "previous_custom_mysql_jdbc_name": "mysql-connector-java-old.jar",
+    "host_sys_prepped": "false",
+    "ambari_db_rca_username": "mapred",
+    "mysql_jdbc_url": "http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar",
+    "agent_stack_retry_count": "5",
+    "stack_version": "2.5",
+    "jdk_name": "jdk-8u60-linux-x64.tar.gz",
+    "ambari_db_rca_driver": "org.postgresql.Driver",
+    "java_home": "/usr/jdk64/jdk1.7.0_45",
+    "repository_version_id": "1",
+    "jdk_location": "http://c6401.ambari.apache.org:8080/resources/",
+    "not_managed_hdfs_path_list": "[\"/tmp\"]",
+    "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca",
+    "java_version": "8",
+    "repo_info": "[{\"baseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.5.0.0-777\",\"osType\":\"redhat6\",\"repoId\":\"HDP-2.5\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/updates/2.5.0.0\",\"latestBaseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.5.0.0-776\",\"baseSaved\":true},{\"baseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"osType\":\"redhat6\",\"repoId\":\"HDP-UTILS-1.1.0.21\",\"repoName\":\"HDP-UTILS\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"latestBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"baseSaved\":true}]",
+    "package_list": "[{\"name\":\"ranger_${stack_version}-admin\",\"condition\":\"\",\"skipUpgrade\":false},{\"name\":\"ranger_${stack_version}-usersync\",\"condition\":\"\",\"skipUpgrade\":false},{\"name\":\"ranger_${stack_version}-tagsync\",\"condition\":\"should_install_ranger_tagsync\",\"skipUpgrade\":false},{\"name\":\"ambari-logsearch-solr-client\",\"condition\":\"should_install_logsearch_solr_client\",\"skipUpgrade\":false}]",
+    "db_name": "ambari",
+    "group_list": "[\"ranger\",\"hadoop\",\"users\"]",
+    "agentCacheDir": "/var/lib/ambari-agent/cache",
+    "ambari_db_rca_password": "mapred",
+    "jce_name": "UnlimitedJCEPolicyJDK7.zip",
+    "oracle_jdbc_url": "http://c6401.ambari.apache.org:8080/resources//ojdbc6.jar",
+    "db_driver_filename": "mysql-connector-java.jar",
+    "user_list": "[\"zookeeper\",\"ambari-qa\",\"ranger\",\"hdfs\"]",
+    "clientsToUpdateConfigs": "[\"*\"]"
+  },
+  "commandParams": {
+    "service_package_folder": "common-services/RANGER/0.4.0/package",
+    "script": "scripts/ranger_usersync.py",
+    "hooks_folder": "HDP/2.0.6/hooks",
+    "version": "2.5.0.0-777",
+    "max_duration_for_retries": "0",
+    "command_retry_enabled": "false",
+    "command_timeout": "600",
+    "script_type": "PYTHON"
+  },
+  "forceRefreshConfigTags": [],
+  "stageId": 1,
+  "clusterHostInfo": {
+    "snamenode_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "ambari_server_use_ssl": [
+      "false"
+    ],
+    "all_ping_ports": [
+      "8670"
+    ],
+    "ranger_tagsync_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_usersync_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "all_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "slave_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "namenode_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "ambari_server_port": [
+      "8080"
+    ],
+    "ranger_admin_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "all_racks": [
+      "/default-rack"
+    ],
+    "all_ipv4_ips": [
+      "172.22.125.4"
+    ],
+    "ambari_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "zookeeper_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_kms_server_hosts": [
+      "c6401.ambari.apache.org"
+    ]
+  },
+  "configurations": {
+    "ranger-hdfs-audit": {
+      "xasecure.audit.destination.solr.zookeepers": "c6401.ambari.apache.org:2181/ranger_audits",
+      "xasecure.audit.destination.solr.urls": "",
+      "xasecure.audit.destination.solr.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/solr/spool",
+      "xasecure.audit.destination.hdfs.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/hdfs/spool",
+      "xasecure.audit.destination.hdfs": "true",
+      "xasecure.audit.destination.solr": "true",
+      "xasecure.audit.provider.summary.enabled": "false",
+      "xasecure.audit.destination.hdfs.dir": "hdfs://c6401.ambari.apache.org:8020/ranger/audit",
+      "xasecure.audit.is.enabled": "true"
+    },
+    "ssl-client": {
+      "ssl.client.truststore.reload.interval": "10000",
+      "ssl.client.keystore.password": "bigdata",
+      "ssl.client.truststore.type": "jks",
+      "ssl.client.keystore.location": "/etc/security/clientKeys/keystore.jks",
+      "ssl.client.truststore.location": "/etc/security/clientKeys/all.jks",
+      "ssl.client.truststore.password": "bigdata",
+      "ssl.client.keystore.type": "jks"
+    },
+    "ranger-admin-site": {
+      "ranger.admin.kerberos.cookie.domain": "",
+      "ranger.kms.service.user.hdfs": "hdfs",
+      "ranger.spnego.kerberos.principal": "",
+      "ranger.ldap.ad.url": "{{ranger_ug_ldap_url}}",
+      "ranger.plugins.hive.serviceuser": "hive",
+      "ranger.lookup.kerberos.keytab": "",
+      "ranger.plugins.kms.serviceuser": "kms",
+      "ranger.service.https.attrib.ssl.enabled": "false",
+      "ranger.sso.browser.useragent": "Mozilla,chrome",
+      "ranger.jpa.jdbc.url": "jdbc:mysql://c6401.ambari.apache.org:3306/ranger01",
+      "ranger.plugins.hbase.serviceuser": "hbase",
+      "ranger.plugins.hdfs.serviceuser": "hdfs",
+      "ranger.ldap.group.searchbase": "{{ranger_ug_ldap_group_searchbase}}",
+      "ranger.ldap.user.dnpattern": "uid={0},ou=users,dc=xasecure,dc=net",
+      "ranger.plugins.knox.serviceuser": "knox",
+      "ranger.ldap.base.dn": "dc=example,dc=com",
+      "ranger.sso.publicKey": "",
+      "ranger.admin.kerberos.cookie.path": "/",
+      "ranger.service.https.attrib.clientAuth": "want",
+      "ranger.jpa.jdbc.user": "{{ranger_db_user}}",
+      "ranger.ldap.ad.user.searchfilter": "(sAMAccountName={0})",
+      "ranger.ldap.group.roleattribute": "cn",
+      "ranger.plugins.kafka.serviceuser": "kafka",
+      "ranger.admin.kerberos.principal": "",
+      "ranger.ldap.ad.bind.dn": "{{ranger_ug_ldap_bind_dn}}",
+      "ranger.credential.provider.path": "/etc/ranger/admin/rangeradmin.jceks",
+      "ranger.ldap.referral": "ignore",
+      "ranger.service.http.port": "6080",
+      "ranger.ldap.user.searchfilter": "(uid={0})",
+      "ranger.plugins.atlas.serviceuser": "atlas",
+      "ranger.truststore.password": "changeit",
+      "ranger.ldap.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}",
+      "ranger.audit.solr.password": "NONE",
+      "ranger.audit.solr.zookeepers": "c6401.ambari.apache.org:2181/ranger_audits",
+      "ranger.lookup.kerberos.principal": "",
+      "ranger.service.https.port": "6182",
+      "ranger.plugins.storm.serviceuser": "storm",
+      "ranger.externalurl": "{{ranger_external_url}}",
+      "ranger.truststore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks",
+      "ranger.kms.service.user.hive": "",
+      "ranger.https.attrib.keystore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks",
+      "ranger.jpa.jdbc.dialect": "{{jdbc_dialect}}",
+      "ranger.service.host": "{{ranger_host}}",
+      "ranger.service.https.attrib.keystore.keyalias": "rangeradmin",
+      "ranger.service.https.attrib.keystore.pass": "xasecure",
+      "ranger.unixauth.remote.login.enabled": "true",
+      "ranger.jpa.jdbc.credential.alias": "rangeradmin",
+      "ranger.ldap.ad.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}",
+      "ranger.audit.solr.username": "ranger_solr",
+      "ranger.sso.enabled": "false",
+      "ranger.audit.solr.urls": "",
+      "ranger.ldap.ad.domain": "",
+      "ranger.plugins.yarn.serviceuser": "yarn",
+      "ranger.audit.source.type": "solr",
+      "ranger.ldap.bind.dn": "{{ranger_ug_ldap_bind_dn}}",
+      "ranger.ldap.url": "{{ranger_ug_ldap_url}}",
+      "ranger.authentication.method": "UNIX",
+      "ranger.service.http.enabled": "true",
+      "ranger.ldap.group.searchfilter": "{{ranger_ug_ldap_group_searchfilter}}",
+      "ranger.ldap.ad.referral": "ignore",
+      "ranger.ldap.ad.base.dn": "dc=example,dc=com",
+      "ranger.jpa.jdbc.password": "_",
+      "ranger.spnego.kerberos.keytab": "",
+      "ranger.sso.providerurl": "",
+      "ranger.unixauth.service.hostname": "{{ugsync_host}}",
+      "ranger.admin.kerberos.keytab": "",
+      "ranger.admin.kerberos.token.valid.seconds": "30",
+      "ranger.jpa.jdbc.driver": "com.mysql.jdbc.Driver",
+      "ranger.unixauth.service.port": "5151"
+    },
+    "ranger-hdfs-policymgr-ssl": {
+      "xasecure.policymgr.clientssl.keystore": "/usr/hdp/current/hadoop-client/conf/ranger-plugin-keystore.jks",
+      "xasecure.policymgr.clientssl.truststore.password": "changeit",
+      "xasecure.policymgr.clientssl.keystore.credential.file": "jceks://file{{credential_file}}",
+      "xasecure.policymgr.clientssl.truststore": "/usr/hdp/current/hadoop-client/conf/ranger-plugin-truststore.jks",
+      "xasecure.policymgr.clientssl.truststore.credential.file": "jceks://file{{credential_file}}",
+      "xasecure.policymgr.clientssl.keystore.password": "myKeyFilePassword"
+    },
+    "tagsync-application-properties": {
+      "atlas.kafka.entities.group.id": "ranger_entities_consumer",
+      "atlas.kafka.zookeeper.connect": "c6401.ambari.apache.org:2181",
+      "atlas.kafka.bootstrap.servers": "localhost:6667"
+    },
+    "ranger-env": {
+      "ranger_solr_shards": "1",
+      "ranger_solr_config_set": "ranger_audits",
+      "ranger_user": "ranger",
+      "xml_configurations_supported": "true",
+      "ranger-atlas-plugin-enabled": "No",
+      "ranger-hbase-plugin-enabled": "No",
+      "ranger-yarn-plugin-enabled": "No",
+      "bind_anonymous": "false",
+      "ranger_admin_username": "amb_ranger_admin",
+      "admin_password": "admin",
+      "is_solrCloud_enabled": "true",
+      "ranger-storm-plugin-enabled": "No",
+      "ranger-hdfs-plugin-enabled": "No",
+      "ranger_group": "ranger",
+      "ranger-knox-plugin-enabled": "No",
+      "ranger_admin_log_dir": "/var/log/ranger/admin",
+      "ranger-kafka-plugin-enabled": "No",
+      "ranger_privelege_user_jdbc_url": "jdbc:mysql://c6401.ambari.apache.org:3306",
+      "ranger-hive-plugin-enabled": "No",
+      "xasecure.audit.destination.solr": "true",
+      "ranger_pid_dir": "/var/run/ranger",
+      "xasecure.audit.destination.hdfs": "true",
+      "admin_username": "admin",
+      "xasecure.audit.destination.hdfs.dir": "hdfs://c6401.ambari.apache.org:8020/ranger/audit",
+      "create_db_dbuser": "true",
+      "ranger_solr_collection_name": "ranger_audits",
+      "ranger_admin_password": "P1!qLEQwP24KVlWY",
+      "ranger_usersync_log_dir": "/var/log/ranger/usersync"
+    },
+    "usersync-log4j": {
+      "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nlog4j.rootLogger = info,logFile\n\n# logFile\nlog4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.logFile.file=${logdir}/usersync.log\nl
 og4j.appender.logFile.datePattern='.'yyyy-MM-dd\nlog4j.appender.logFile.layout=org.apache.log4j.PatternLayout\nlog4j.appender.logFile.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %m%n\n\n# console\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.Target=System.out\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %m%n"
+    },
+    "admin-properties": {
+      "db_user": "rangeradmin01",
+      "DB_FLAVOR": "MYSQL",
+      "db_password": "rangeradmin01",
+      "db_root_user": "root",
+      "policymgr_external_url": "http://c6401.ambari.apache.org:6080",
+      "db_name": "ranger01",
+      "db_host": "c6401.ambari.apache.org",
+      "db_root_password": "vagrant",
+      "SQL_CONNECTOR_JAR": "{{driver_curl_target}}"
+    },
+    "ranger-ugsync-site": {
+      "ranger.usersync.ldap.binddn": "",
+      "ranger.usersync.policymgr.username": "rangerusersync",
+      "ranger.usersync.policymanager.mockrun": "false",
+      "ranger.usersync.group.searchbase": "",
+      "ranger.usersync.ldap.bindalias": "testldapalias",
+      "ranger.usersync.truststore.file": "/usr/hdp/current/ranger-usersync/conf/mytruststore.jks",
+      "ranger.usersync.port": "5151",
+      "ranger.usersync.pagedresultssize": "500",
+      "ranger.usersync.group.memberattributename": "",
+      "ranger.usersync.kerberos.principal": "",
+      "ranger.usersync.source.impl.class": "org.apache.ranger.unixusersync.process.UnixUserGroupBuilder",
+      "ranger.usersync.ldap.referral": "ignore",
+      "ranger.usersync.group.searchfilter": "",
+      "ranger.usersync.ldap.user.objectclass": "person",
+      "ranger.usersync.logdir": "{{usersync_log_dir}}",
+      "ranger.usersync.ldap.user.searchfilter": "",
+      "ranger.usersync.ldap.groupname.caseconversion": "none",
+      "ranger.usersync.ldap.ldapbindpassword": "",
+      "ranger.usersync.unix.minUserId": "500",
+      "ranger.usersync.policymanager.maxrecordsperapicall": "1000",
+      "ranger.usersync.group.nameattribute": "",
+      "ranger.usersync.policymgr.alias": "ranger.usersync.policymgr.password",
+      "ranger.usersync.keystore.file": "/usr/hdp/current/ranger-usersync/conf/unixauthservice.jks",
+      "ranger.usersync.user.searchenabled": "false",
+      "ranger.usersync.group.usermapsyncenabled": "true",
+      "ranger.usersync.ldap.bindkeystore": "",
+      "ranger.usersync.ldap.user.groupnameattribute": "memberof, ismemberof",
+      "ranger.usersync.kerberos.keytab": "",
+      "ranger.usersync.passwordvalidator.path": "./native/credValidator.uexe",
+      "ranger.usersync.group.objectclass": "",
+      "ranger.usersync.ldap.user.searchscope": "sub",
+      "ranger.usersync.unix.password.file": "/etc/passwd",
+      "ranger.usersync.ldap.user.nameattribute": "",
+      "ranger.usersync.pagedresultsenabled": "true",
+      "ranger.usersync.policymanager.baseURL": "{{ranger_external_url}}",
+      "ranger.usersync.group.search.first.enabled": "false",
+      "ranger.usersync.group.searchenabled": "false",
+      "ranger.usersync.sink.impl.class": "org.apache.ranger.unixusersync.process.PolicyMgrUserGroupBuilder",
+      "ranger.usersync.ssl": "true",
+      "ranger.usersync.ldap.url": "",
+      "ranger.usersync.ldap.searchBase": "dc=hadoop,dc=apache,dc=org",
+      "ranger.usersync.policymgr.keystore": "/usr/hdp/current/ranger-usersync/conf/ugsync.jceks",
+      "ranger.usersync.ldap.user.searchbase": "",
+      "ranger.usersync.ldap.username.caseconversion": "none",
+      "ranger.usersync.credstore.filename": "/usr/hdp/current/ranger-usersync/conf/ugsync.jceks",
+      "ranger.usersync.keystore.password": "UnIx529p",
+      "ranger.usersync.unix.group.file": "/etc/group",
+      "ranger.usersync.filesource.file": "/tmp/usergroup.txt",
+      "ranger.usersync.group.searchscope": "",
+      "ranger.usersync.truststore.password": "changeit",
+      "ranger.usersync.enabled": "true",
+      "ranger.usersync.sleeptimeinmillisbetweensynccycle": "60000",
+      "ranger.usersync.filesource.text.delimiter": ","
+    },
+    "hdfs-site": {
+      "dfs.namenode.checkpoint.period": "21600",
+      "dfs.namenode.avoid.write.stale.datanode": "true",
+      "dfs.namenode.startup.delay.block.deletion.sec": "3600",
+      "dfs.namenode.checkpoint.txns": "1000000",
+      "dfs.content-summary.limit": "5000",
+      "dfs.support.append": "true",
+      "dfs.datanode.address": "0.0.0.0:50010",
+      "dfs.cluster.administrators": " hdfs",
+      "dfs.namenode.audit.log.async": "true",
+      "dfs.datanode.balance.bandwidthPerSec": "6250000",
+      "dfs.namenode.safemode.threshold-pct": "1",
+      "dfs.namenode.checkpoint.edits.dir": "${dfs.namenode.checkpoint.dir}",
+      "dfs.namenode.rpc-address": "c6401.ambari.apache.org:8020",
+      "dfs.permissions.enabled": "true",
+      "dfs.client.read.shortcircuit": "true",
+      "dfs.https.port": "50470",
+      "dfs.namenode.https-address": "c6401.ambari.apache.org:50470",
+      "nfs.file.dump.dir": "/tmp/.hdfs-nfs",
+      "dfs.blocksize": "134217728",
+      "dfs.blockreport.initialDelay": "120",
+      "dfs.journalnode.edits.dir": "/hadoop/hdfs/journalnode",
+      "dfs.namenode.fslock.fair": "false",
+      "dfs.datanode.max.transfer.threads": "4096",
+      "dfs.heartbeat.interval": "3",
+      "dfs.replication": "3",
+      "dfs.namenode.handler.count": "50",
+      "dfs.namenode.checkpoint.dir": "/grid/0/hadoop/hdfs/namesecondary",
+      "fs.permissions.umask-mode": "022",
+      "dfs.namenode.stale.datanode.interval": "30000",
+      "dfs.datanode.ipc.address": "0.0.0.0:8010",
+      "dfs.datanode.failed.volumes.tolerated": "0",
+      "dfs.datanode.data.dir": "/grid/0/hadoop/hdfs/data",
+      "dfs.namenode.http-address": "c6401.ambari.apache.org:50070",
+      "dfs.webhdfs.enabled": "true",
+      "dfs.encrypt.data.transfer.cipher.suites": "AES/CTR/NoPadding",
+      "dfs.namenode.accesstime.precision": "0",
+      "dfs.datanode.https.address": "0.0.0.0:50475",
+      "dfs.namenode.write.stale.datanode.ratio": "1.0f",
+      "dfs.namenode.secondary.http-address": "c6401.ambari.apache.org:50090",
+      "nfs.exports.allowed.hosts": "* rw",
+      "dfs.datanode.http.address": "0.0.0.0:50075",
+      "dfs.datanode.du.reserved": "33011188224",
+      "dfs.client.read.shortcircuit.streams.cache.size": "4096",
+      "dfs.http.policy": "HTTP_ONLY",
+      "dfs.block.access.token.enable": "true",
+      "dfs.client.retry.policy.enabled": "false",
+      "dfs.namenode.name.dir.restore": "true",
+      "dfs.permissions.superusergroup": "hdfs",
+      "dfs.journalnode.https-address": "0.0.0.0:8481",
+      "dfs.journalnode.http-address": "0.0.0.0:8480",
+      "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket",
+      "dfs.namenode.avoid.read.stale.datanode": "true",
+      "dfs.hosts.exclude": "/etc/hadoop/conf/dfs.exclude",
+      "dfs.datanode.data.dir.perm": "750",
+      "dfs.encryption.key.provider.uri": "",
+      "dfs.replication.max": "50",
+      "dfs.namenode.name.dir": "/grid/0/hadoop/hdfs/namenode"
+    },
+    "ranger-tagsync-site": {
+      "ranger.tagsync.atlas.to.ranger.service.mapping": "",
+      "ranger.tagsync.dest.ranger.ssl.config.filename": "/usr/hdp/current/ranger-tagsync/conf/mytruststore.jks",
+      "ranger.tagsync.source.file.check.interval.millis": "",
+      "ranger.tagsync.logdir": "/var/log/ranger/tagsync",
+      "ranger.tagsync.source.atlasrest.download.interval.millis": "",
+      "ranger.tagsync.keystore.filename": "/usr/hdp/current/ranger-tagsync/conf/rangertagsync.jceks",
+      "ranger.tagsync.source.atlasrest.endpoint": "",
+      "ranger.tagsync.dest.ranger.username": "rangertagsync",
+      "ranger.tagsync.kerberos.principal": "",
+      "ranger.tagsync.dest.ranger.endpoint": "{{ranger_external_url}}",
+      "ranger.tagsync.atlas.custom.resource.mappers": "",
+      "ranger.tagsync.kerberos.keytab": "",
+      "ranger.tagsync.source.atlas": "false",
+      "ranger.tagsync.source.atlasrest": "false",
+      "ranger.tagsync.source.file": "false",
+      "ranger.tagsync.source.file.filename": ""
+    },
+    "zoo.cfg": {
+      "clientPort": "2181",
+      "autopurge.purgeInterval": "24",
+      "syncLimit": "5",
+      "dataDir": "/grid/0/hadoop/zookeeper",
+      "initLimit": "10",
+      "tickTime": "2000",
+      "autopurge.snapRetainCount": "30"
+    },
+    "hadoop-policy": {
+      "security.job.client.protocol.acl": "*",
+      "security.job.task.protocol.acl": "*",
+      "security.datanode.protocol.acl": "*",
+      "security.namenode.protocol.acl": "*",
+      "security.client.datanode.protocol.acl": "*",
+      "security.inter.tracker.protocol.acl": "*",
+      "security.refresh.usertogroups.mappings.protocol.acl": "hadoop",
+      "security.client.protocol.acl": "*",
+      "security.refresh.policy.protocol.acl": "hadoop",
+      "security.admin.operations.protocol.acl": "hadoop",
+      "security.inter.datanode.protocol.acl": "*"
+    },
+    "hdfs-log4j": {
+      "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#  http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n\n\n# Define some default values that can be overridden by system properties\n# To change daemon root logger use hadoop_root_logger in hadoop-env\nhadoop.root.logger=I
 NFO,console\nhadoop.log.dir=.\nhadoop.log.file=hadoop.log\n\n\n# Define the root logger to the system property \"hadoop.root.logger\".\nlog4j.rootLogger=${hadoop.root.logger}, EventCounter\n\n# Logging Threshold\nlog4j.threshhold=ALL\n\n#\n# Daily Rolling File Appender\n#\n\nlog4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFA.File=${hadoop.log.dir}/${hadoop.log.file}\n\n# Rollver at midnight\nlog4j.appender.DRFA.DatePattern=.yyyy-MM-dd\n\n# 30-day backup\n#log4j.appender.DRFA.MaxBackupIndex=30\nlog4j.appender.DRFA.layout=org.apache.log4j.PatternLayout\n\n# Pattern format: Date LogLevel LoggerName LogMessage\nlog4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\n# Debugging Pattern format\n#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n\n\n\n#\n# console\n# Add \"console\" to rootlogger above if you want to use this\n#\n\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.conso
 le.target=System.err\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n#\n# TaskLog Appender\n#\n\n#Default values\nhadoop.tasklog.taskid=null\nhadoop.tasklog.iscleanup=false\nhadoop.tasklog.noKeepSplits=4\nhadoop.tasklog.totalLogFileSize=100\nhadoop.tasklog.purgeLogSplits=true\nhadoop.tasklog.logsRetainHours=12\n\nlog4j.appender.TLA=org.apache.hadoop.mapred.TaskLogAppender\nlog4j.appender.TLA.taskId=${hadoop.tasklog.taskid}\nlog4j.appender.TLA.isCleanup=${hadoop.tasklog.iscleanup}\nlog4j.appender.TLA.totalLogFileSize=${hadoop.tasklog.totalLogFileSize}\n\nlog4j.appender.TLA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.TLA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\n\n#\n#Security audit appender\n#\nhadoop.security.logger=INFO,console\nhadoop.security.log.maxfilesize=256MB\nhadoop.security.log.maxbackupindex=20\nlog4j.category.SecurityLogger=${hadoop.security.logger}\nh
 adoop.security.log.file=SecurityAuth.audit\nlog4j.appender.DRFAS=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}\nlog4j.appender.DRFAS.layout=org.apache.log4j.PatternLayout\nlog4j.appender.DRFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\nlog4j.appender.DRFAS.DatePattern=.yyyy-MM-dd\n\nlog4j.appender.RFAS=org.apache.log4j.RollingFileAppender\nlog4j.appender.RFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}\nlog4j.appender.RFAS.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\nlog4j.appender.RFAS.MaxFileSize=${hadoop.security.log.maxfilesize}\nlog4j.appender.RFAS.MaxBackupIndex=${hadoop.security.log.maxbackupindex}\n\n#\n# hdfs audit logging\n#\nhdfs.audit.logger=INFO,console\nlog4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger}\nlog4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false\
 nlog4j.appender.DRFAAUDIT=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log\nlog4j.appender.DRFAAUDIT.layout=org.apache.log4j.PatternLayout\nlog4j.appender.DRFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.DRFAAUDIT.DatePattern=.yyyy-MM-dd\n\n#\n# NameNode metrics logging.\n# The default is to retain two namenode-metrics.log files up to 64MB each.\n#\nnamenode.metrics.logger=INFO,NullAppender\nlog4j.logger.NameNodeMetricsLog=${namenode.metrics.logger}\nlog4j.additivity.NameNodeMetricsLog=false\nlog4j.appender.NNMETRICSRFA=org.apache.log4j.RollingFileAppender\nlog4j.appender.NNMETRICSRFA.File=${hadoop.log.dir}/namenode-metrics.log\nlog4j.appender.NNMETRICSRFA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.NNMETRICSRFA.layout.ConversionPattern=%d{ISO8601} %m%n\nlog4j.appender.NNMETRICSRFA.MaxBackupIndex=1\nlog4j.appender.NNMETRICSRFA.MaxFileSize=64MB\n\n#\n# mapred audit logging\n#\nmapred.audit
 .logger=INFO,console\nlog4j.logger.org.apache.hadoop.mapred.AuditLogger=${mapred.audit.logger}\nlog4j.additivity.org.apache.hadoop.mapred.AuditLogger=false\nlog4j.appender.MRAUDIT=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.MRAUDIT.File=${hadoop.log.dir}/mapred-audit.log\nlog4j.appender.MRAUDIT.layout=org.apache.log4j.PatternLayout\nlog4j.appender.MRAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.MRAUDIT.DatePattern=.yyyy-MM-dd\n\n#\n# Rolling File Appender\n#\n\nlog4j.appender.RFA=org.apache.log4j.RollingFileAppender\nlog4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}\n\n# Logfile size and and 30-day backups\nlog4j.appender.RFA.MaxFileSize=256MB\nlog4j.appender.RFA.MaxBackupIndex=10\n\nlog4j.appender.RFA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n\nlog4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n\n\n\n# Custom Logging levels\n\n
 hadoop.metrics.log.level=INFO\n#log4j.logger.org.apache.hadoop.mapred.JobTracker=DEBUG\n#log4j.logger.org.apache.hadoop.mapred.TaskTracker=DEBUG\n#log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG\nlog4j.logger.org.apache.hadoop.metrics2=${hadoop.metrics.log.level}\n\n# Jets3t library\nlog4j.logger.org.jets3t.service.impl.rest.httpclient.RestS3Service=ERROR\n\n#\n# Null Appender\n# Trap security logger on the hadoop client side\n#\nlog4j.appender.NullAppender=org.apache.log4j.varia.NullAppender\n\n#\n# Event Counter Appender\n# Sends counts of logging messages at different severity levels to Hadoop Metrics.\n#\nlog4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter\n\n# Removes \"deprecated\" messages\nlog4j.logger.org.apache.hadoop.conf.Configuration.deprecation=WARN\n\n#\n# HDFS block state change log from block manager\n#\n# Uncomment the following to suppress normal block state change\n# messages from BlockManager in NameNode.\n#log4j.logger.BlockStateChange=W
 ARN"
+    },
+    "ranger-hdfs-plugin-properties": {
+      "hadoop.rpc.protection": "authentication",
+      "ranger-hdfs-plugin-enabled": "No",
+      "REPOSITORY_CONFIG_USERNAME": "hadoop",
+      "policy_user": "ambari-qa",
+      "common.name.for.certificate": "",
+      "REPOSITORY_CONFIG_PASSWORD": "hadoop"
+    },
+    "core-site": {
+      "hadoop.proxyuser.root.hosts": "*",
+      "io.serializations": "org.apache.hadoop.io.serializer.WritableSerialization",
+      "fs.trash.interval": "360",
+      "ha.failover-controller.active-standby-elector.zk.op.retries": "120",
+      "hadoop.http.authentication.simple.anonymous.allowed": "true",
+      "hadoop.security.authentication": "simple",
+      "hadoop.proxyuser.root.groups": "*",
+      "ipc.client.connection.maxidletime": "30000",
+      "hadoop.security.key.provider.path": "",
+      "mapreduce.jobtracker.webinterface.trusted": "false",
+      "hadoop.security.authorization": "false",
+      "net.topology.script.file.name": "/etc/hadoop/conf/topology_script.py",
+      "ipc.server.tcpnodelay": "true",
+      "ipc.client.connect.max.retries": "50",
+      "hadoop.security.auth_to_local": "DEFAULT",
+      "io.file.buffer.size": "131072",
+      "hadoop.proxyuser.hdfs.hosts": "*",
+      "hadoop.proxyuser.hdfs.groups": "*",
+      "ipc.client.idlethreshold": "8000",
+      "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020",
+      "io.compression.codecs": "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec"
+    },
+    "hadoop-env": {
+      "keyserver_port": "",
+      "proxyuser_group": "users",
+      "hdfs_user_nproc_limit": "65536",
+      "hdfs_log_dir_prefix": "/var/log/hadoop",
+      "hdfs_user_nofile_limit": "128000",
+      "hdfs_user": "hdfs",
+      "keyserver_host": " ",
+      "namenode_opt_maxnewsize": "128m",
+      "namenode_opt_maxpermsize": "256m",
+      "content": "\n# Set Hadoop-specific environment variables here.\n\n# The only required environment variable is JAVA_HOME.  All others are\n# optional.  When running a distributed configuration it is best to\n# set JAVA_HOME in this file, so that it is correctly defined on\n# remote nodes.\n\n# The java implementation to use.  Required.\nexport JAVA_HOME={{java_home}}\nexport HADOOP_HOME_WARN_SUPPRESS=1\n\n# Hadoop home directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hadoop Configuration Directory\n\n{# this is different for HDP1 #}\n# Path to jsvc required by secure HDP 2.0 datanode\nexport JSVC_HOME={{jsvc_path}}\n\n\n# The maximum amount of heap to use, in MB. Default is 1000.\nexport HADOOP_HEAPSIZE=\"{{hadoop_heapsize}}\"\n\nexport HADOOP_NAMENODE_INIT_HEAPSIZE=\"-Xms{{namenode_heapsize}}\"\n\n# Extra Java runtime options.  Empty by default.\nexport HADOOP_OPTS=\"-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}\"\n\n# Command specific options appended to H
 ADOOP_OPTS when specified\nHADOOP_JOBTRACKER_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{jtnode_opt_newsize}} -XX:MaxNewSize={{jtnode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xmx{{jtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}\"\n\nHADOOP_TASKTRACKER_OPTS=\"-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}\"\n\n{% if java_version < 8 %}\nSHARED_HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{na
 menode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT\"\nexport HADOOP_NAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-namenode/bin/kill-name-node\\\" -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 ${HADOOP_NAMENODE_OPTS}\"\nexport HADOOP_DATANODE_OPTS=\"-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -XX:PermSize=128m -XX:MaxPermSize=256m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtno
 de_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-secondarynamenode/bin/kill-secondary-name-node\\\" ${HADOOP_SECONDARYNAMENODE_OPTS}\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m -XX:MaxPermSize=512m $HADOOP_CLIENT_OPTS\"\n\n{% else %}\nSHARED_HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{namenode_h
 eapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT\"\nexport HADOOP_NAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-namenode/bin/kill-name-node\\\" -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 ${HADOOP_NAMENODE_OPTS}\"\nexport HADOOP_DATANODE_OPTS=\"-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtnode_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-secondarynamenode/bin/kill-secondary-name-node\\\" ${HADOOP_SECONDARYNAMENO
 DE_OPTS}\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n{% endif %}\n\nHADOOP_NFS3_OPTS=\"-Xmx{{nfsgateway_heapsize}}m -Dhadoop.security.logger=ERROR,DRFAS ${HADOOP_NFS3_OPTS}\"\nHADOOP_BALANCER_OPTS=\"-server -Xmx{{hadoop_heapsize}}m ${HADOOP_BALANCER_OPTS}\"\n\n\n# On secure datanodes, user to run the datanode as after dropping privileges\nexport HADOOP_SECURE_DN_USER=${HADOOP_SECURE_DN_USER:-{{hadoop_secure_dn_user}}}\n\n# Extra ssh options.  Empty by default.\nexport HADOOP_SSH_OPTS=\"-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR\"\n\n# Where log files are stored.  $HADOOP_HOME/logs by default.\nexport HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER\n\n# History server logs\nexport HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER\n\n# Where log files are stored in the secure data environment.\nexport HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SECURE_DN_USER
 \n\n# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.\n# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves\n\n# host:path where hadoop code should be rsync'd from.  Unset by default.\n# export HADOOP_MASTER=master:/home/$USER/src/hadoop\n\n# Seconds to sleep between slave commands.  Unset by default.  This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HADOOP_SLAVE_SLEEP=0.1\n\n# The directory where pid files are stored. /tmp by default.\nexport HADOOP_PID_DIR={{hadoop_pid_dir_prefix}}/$USER\nexport HADOOP_SECURE_DN_PID_DIR={{hadoop_pid_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# History server pid\nexport HADOOP_MAPRED_PID_DIR={{mapred_pid_dir_prefix}}/$USER\n\nYARN_RESOURCEMANAGER_OPTS=\"-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY\"\n\n# A string representing this instance of hadoop. $USER by default.\nexport HADOOP_IDENT_STRING=$USER\n\n# The scheduling pr
 iority for daemon processes.  See 'man nice'.\n\n# export HADOOP_NICENESS=10\n\n# Add database libraries\nJAVA_JDBC_LIBS=\"\"\nif [ -d \"/usr/share/java\" ]; then\n  for jarFile in `ls /usr/share/java | grep -E \"(mysql|ojdbc|postgresql|sqljdbc)\" 2>/dev/null`\n  do\n    JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\n  done\nfi\n\n# Add libraries to the hadoop classpath - some may not need a colon as they already include it\nexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}\n\n# Setting path to hdfs command line\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\n\n# Mostly required for hadoop 2.0\nexport JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}\n\nexport HADOOP_OPTS=\"-Dhdp.version=$HDP_VERSION $HADOOP_OPTS\"\n\n{% if is_datanode_max_locked_memory_set %}\n# Fix temporary bug, when ulimit from conf files is not picked up, without full relogin. \n# Makes sense to fix only when runing DN as root \nif [ \"$command\" == \"datanode\" ] && [ \"$EUID\" -eq 0 ] && [ -n \"$HADOOP_SECURE_
 DN_USER\" ]; then\n  ulimit -l {{datanode_max_locked_memory}}\nfi\n{% endif %}",
+      "namenode_heapsize": "1024m",
+      "namenode_opt_newsize": "128m",
+      "nfsgateway_heapsize": "1024",
+      "dtnode_heapsize": "1024m",
+      "hadoop_root_logger": "INFO,RFA",
+      "hadoop_heapsize": "1024",
+      "hadoop_pid_dir_prefix": "/var/run/hadoop",
+      "namenode_opt_permsize": "128m",
+      "hdfs_tmp_dir": "/tmp"
+    },
+    "zookeeper-log4j": {
+      "content": "\n#\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#   http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n#\n#\n\n#\n# ZooKeeper Logging Configuration\n#\n\n# DEFAULT: console appender only\nlog4j.rootLogger=INFO, CONSOLE\n\n# Example with rolling log file\n#log4j.root
 Logger=DEBUG, CONSOLE, ROLLINGFILE\n\n# Example with rolling log file and tracing\n#log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE\n\n#\n# Log INFO level and above messages to the console\n#\nlog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender\nlog4j.appender.CONSOLE.Threshold=INFO\nlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout\nlog4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n\n\n#\n# Add ROLLINGFILE to rootLogger to get log file output\n#    Log DEBUG level and above messages to a log file\nlog4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender\nlog4j.appender.ROLLINGFILE.Threshold=DEBUG\nlog4j.appender.ROLLINGFILE.File=zookeeper.log\n\n# Max log file size of 10MB\nlog4j.appender.ROLLINGFILE.MaxFileSize=10MB\n# uncomment the next line to limit number of backup files\n#log4j.appender.ROLLINGFILE.MaxBackupIndex=10\n\nlog4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout\nlog4j.appender.ROLLINGFILE.
 layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n\n\n\n#\n# Add TRACEFILE to rootLogger to get log file output\n#    Log DEBUG level and above messages to a log file\nlog4j.appender.TRACEFILE=org.apache.log4j.FileAppender\nlog4j.appender.TRACEFILE.Threshold=TRACE\nlog4j.appender.TRACEFILE.File=zookeeper_trace.log\n\nlog4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout\n### Notice we are including log4j's NDC here (%x)\nlog4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L][%x] - %m%n"
+    },
+    "ssl-server": {
+      "ssl.server.keystore.location": "/etc/security/serverKeys/keystore.jks",
+      "ssl.server.keystore.keypassword": "bigdata",
+      "ssl.server.truststore.location": "/etc/security/serverKeys/all.jks",
+      "ssl.server.keystore.password": "bigdata",
+      "ssl.server.truststore.password": "bigdata",
+      "ssl.server.truststore.type": "jks",
+      "ssl.server.keystore.type": "jks",
+      "ssl.server.truststore.reload.interval": "10000"
+    },
+    "ranger-site": {},
+    "admin-log4j": {
+      "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n\nlog4j.rootLogger = warn,xa_log_appender\n\n\n# xa_logger\nlog4j.appender.xa_log_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.xa_log_appender.
 file=${logdir}/xa_portal.log\nlog4j.appender.xa_log_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.xa_log_appender.append=true\nlog4j.appender.xa_log_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.xa_log_appender.layout.ConversionPattern=%d [%t] %-5p %C{6} (%F:%L) - %m%n\n# xa_log_appender : category and additivity\nlog4j.category.org.springframework=warn,xa_log_appender\nlog4j.additivity.org.springframework=false\n\nlog4j.category.org.apache.ranger=info,xa_log_appender\nlog4j.additivity.org.apache.ranger=false\n\nlog4j.category.xa=info,xa_log_appender\nlog4j.additivity.xa=false\n\n# perf_logger\nlog4j.appender.perf_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.perf_appender.file=${logdir}/ranger_admin_perf.log\nlog4j.appender.perf_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.perf_appender.append=true\nlog4j.appender.perf_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.perf_appender.layout.ConversionPattern=%d [%t] %m%n\n
 \n\n# sql_appender\nlog4j.appender.sql_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.sql_appender.file=${logdir}/xa_portal_sql.log\nlog4j.appender.sql_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.sql_appender.append=true\nlog4j.appender.sql_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.sql_appender.layout.ConversionPattern=%d [%t] %-5p %C{6} (%F:%L) - %m%n\n\n# sql_appender : category and additivity\nlog4j.category.org.hibernate.SQL=warn,sql_appender\nlog4j.additivity.org.hibernate.SQL=false\n\nlog4j.category.jdbc.sqlonly=fatal,sql_appender\nlog4j.additivity.jdbc.sqlonly=false\n\nlog4j.category.jdbc.sqltiming=warn,sql_appender\nlog4j.additivity.jdbc.sqltiming=false\n\nlog4j.category.jdbc.audit=fatal,sql_appender\nlog4j.additivity.jdbc.audit=false\n\nlog4j.category.jdbc.resultset=fatal,sql_appender\nlog4j.additivity.jdbc.resultset=false\n\nlog4j.category.jdbc.connection=fatal,sql_appender\nlog4j.additivity.jdbc.connection=false"
+    },
+    "tagsync-log4j": {
+      "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n\nlog4j.rootLogger = info,logFile\n\n# logFile\nlog4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.logFile.file=${logdir}/tagsync.log\n
 log4j.appender.logFile.datePattern='.'yyyy-MM-dd\nlog4j.appender.logFile.layout=org.apache.log4j.PatternLayout\nlog4j.appender.logFile.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %L %m%n\n\n# console\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.Target=System.out\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %L %m%n"
+    },
+    "ranger-hdfs-security": {
+      "ranger.plugin.hdfs.policy.source.impl": "org.apache.ranger.admin.client.RangerAdminRESTClient",
+      "ranger.plugin.hdfs.service.name": "{{repo_name}}",
+      "ranger.plugin.hdfs.policy.cache.dir": "/etc/ranger/{{repo_name}}/policycache",
+      "ranger.plugin.hdfs.policy.pollIntervalMs": "30000",
+      "ranger.plugin.hdfs.policy.rest.url": "{{policymgr_mgr_url}}",
+      "ranger.plugin.hdfs.policy.rest.ssl.config.file": "/etc/hadoop/conf/ranger-policymgr-ssl.xml",
+      "xasecure.add-hadoop-authorization": "true"
+    },
+    "usersync-properties": {},
+    "zookeeper-env": {
+      "zk_log_dir": "/var/log/zookeeper",
+      "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOOKEEPER_HOME={{zk_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}",
+      "zk_server_heapsize": "1024m",
+      "zk_pid_dir": "/var/run/zookeeper",
+      "zk_user": "zookeeper"
+    },
+    "cluster-env": {
+      "security_enabled": "false",
+      "override_uid": "true",
+      "fetch_nonlocal_groups": "true",
+      "one_dir_per_partition": "true",
+      "repo_ubuntu_template": "{{package_type}} {{base_url}} {{components}}",
+      "ignore_groupsusers_create": "false",
+      "alerts_repeat_tolerance": "1",
+      "smokeuser_keytab": "/etc/security/keytabs/smokeuser.headless.keytab",
+      "kerberos_domain": "EXAMPLE.COM",
+      "manage_dirs_on_root": "true",
+      "recovery_lifetime_max_count": "1024",
+      "recovery_type": "AUTO_START",
+      "ignore_bad_mounts": "false",
+      "recovery_window_in_minutes": "60",
+      "user_group": "hadoop",
+      "stack_name": "HDP",
+      "stack_root": "{\"HDP\": \"/usr/hdp\"}",
+      "stack_tools": "{\n \"HDP\": { \"stack_selector\": [\"hdp-select\", \"/usr/bin/hdp-select\", \"hdp-select\"],\n  \"conf_selector\": [\"conf-select\", \"/usr/bin/conf-select\", \"conf-select\"]\n}\n}",
+      "recovery_retry_interval": "5",
+      "recovery_enabled": "true",
+      "recovery_max_count": "6",
+      "repo_suse_rhel_template": "[{{repo_id}}]\nname={{repo_id}}\n{% if mirror_list %}mirrorlist={{mirror_list}}{% else %}baseurl={{base_url}}{% endif %}\n\npath=/\nenabled=1\ngpgcheck=0",
+      "managed_hdfs_resource_property_names": "",
+      "smokeuser": "ambari-qa"
+    },
+    "dbks-site": {
+      "ranger.ks.jpa.jdbc.credential.provider.path": "/etc/ranger/kms/rangerkms.jceks",
+      "ranger.ks.kerberos.keytab": "/etc/security/keytabs/rangerkms.service.keytab",
+      "ranger.ks.hsm.partition.password": "_",
+      "ranger.ks.jpa.jdbc.driver": "com.mysql.jdbc.Driver",
+      "ranger.ks.jpa.jdbc.credential.alias": "ranger.ks.jdbc.password",
+      "ranger.ks.kerberos.principal": "rangerkms12/_HOST@EXAMPLE.COM",
+      "ranger.db.encrypt.key.password": "_",
+      "ranger.ks.hsm.enabled": "false",
+      "ranger.ks.jpa.jdbc.password": "_",
+      "ranger.ks.masterkey.credential.alias": "ranger.ks.masterkey.password",
+      "ranger.ks.jpa.jdbc.url": "jdbc:mysql://c6401.ambari.apache.org:3306/rangerkms01",
+      "hadoop.kms.blacklist.DECRYPT_EEK": "hdfs",
+      "ranger.ks.jdbc.sqlconnectorjar": "{{ews_lib_jar_path}}",
+      "ranger.ks.jpa.jdbc.user": "{{db_user}}",
+      "ranger.ks.hsm.partition.password.alias": "ranger.kms.hsm.partition.password",
+      "ranger.ks.hsm.type": "LunaProvider",
+      "ranger.ks.hsm.partition.name": "par19",
+      "ranger.ks.jpa.jdbc.dialect": "{{jdbc_dialect}}"
+    },
+    "kms-env": {
+      "kms_group": "kms",
+      "kms_log_dir": "/var/log/ranger/kms",
+      "hsm_partition_password": "",
+      "kms_user": "kms",
+      "create_db_user": "true",
+      "kms_port": "9292"
+    },
+    "kms-log4j": {
+      "content": "\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#    http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License. See accompanying LICENSE file.\n#\n\n# If the Java System property 'kms.log.dir' is not defined at KMS start up time\n# Setup sets its value to '${kms.home}/logs'\n\nlog4j.appender.kms=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.kms.DatePattern='.'yyyy-MM-dd\nlog4j.appender.kms.File=${kms.log.dir}/kms.log\nlog4j.appender.kms.Append=true\nlog4j.appender.kms.layout=org.apache.log4j.PatternLayout\nlog4j
 .appender.kms.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} - %m%n\n\nlog4j.appender.kms-audit=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.kms-audit.DatePattern='.'yyyy-MM-dd\nlog4j.appender.kms-audit.File=${kms.log.dir}/kms-audit.log\nlog4j.appender.kms-audit.Append=true\nlog4j.appender.kms-audit.layout=org.apache.log4j.PatternLayout\nlog4j.appender.kms-audit.layout.ConversionPattern=%d{ISO8601} %m%n\n\nlog4j.logger.kms-audit=INFO, kms-audit\nlog4j.additivity.kms-audit=false\n\nlog4j.rootLogger=ALL, kms\nlog4j.logger.org.apache.hadoop.conf=ERROR\nlog4j.logger.org.apache.hadoop=INFO\nlog4j.logger.com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator=OFF"
+    },
+    "kms-properties": {
+      "REPOSITORY_CONFIG_USERNAME": "keyadmin",
+      "db_user": "rangerkms01",
+      "DB_FLAVOR": "MYSQL",
+      "db_password": "rangerkms01",
+      "KMS_MASTER_KEY_PASSWD": "StrongPassword01",
+      "db_root_user": "root",
+      "db_name": "rangerkms01",
+      "db_host": "c6401.ambari.apache.org",
+      "db_root_password": "vagrant",
+      "SQL_CONNECTOR_JAR": "{{driver_curl_target}}",
+      "REPOSITORY_CONFIG_PASSWORD": "keyadmin"
+    },
+    "kms-site": {
+      "hadoop.kms.proxyuser.ranger.hosts": "*",
+      "hadoop.kms.authentication.type": "simple",
+      "hadoop.kms.proxyuser.ranger.groups": "*",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.path": "/hadoop-kms/hadoop-auth-signature-secret",
+      "hadoop.kms.security.authorization.manager": "org.apache.ranger.authorization.kms.authorizer.RangerKmsAuthorizer",
+      "hadoop.kms.authentication.kerberos.name.rules": "DEFAULT",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab",
+      "hadoop.kms.current.key.cache.timeout.ms": "30000",
+      "hadoop.kms.authentication.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab",
+      "hadoop.kms.audit.aggregation.window.ms": "10000",
+      "hadoop.kms.proxyuser.ranger.users": "*",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.auth.type": "kerberos",
+      "hadoop.kms.key.provider.uri": "dbks://http@localhost:9292/kms",
+      "hadoop.security.keystore.JavaKeyStoreProvider.password": "none",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.principal": "HTTP/_HOST@EXAMPLE.COM",
+      "hadoop.kms.authentication.signer.secret.provider": "random",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.connection.string": "#HOSTNAME#:#PORT#,...",
+      "hadoop.kms.cache.enable": "true",
+      "hadoop.kms.cache.timeout.ms": "600000",
+      "hadoop.kms.authentication.kerberos.principal": "*"
+    },
+    "ranger-kms-audit": {
+      "xasecure.audit.destination.solr.zookeepers": "c6401.ambari.apache.org:2181/ranger_audits",
+      "xasecure.audit.destination.solr.urls": "",
+      "xasecure.audit.destination.solr.batch.filespool.dir": "/var/log/ranger/kms/audit/solr/spool",
+      "xasecure.audit.destination.hdfs.batch.filespool.dir": "/var/log/ranger/kms/audit/hdfs/spool",
+      "xasecure.audit.destination.hdfs": "true",
+      "xasecure.audit.destination.solr": "true",
+      "xasecure.audit.provider.summary.enabled": "false",
+      "xasecure.audit.destination.hdfs.dir": "hdfs://c6401.ambari.apache.org:8020/ranger/audit",
+      "xasecure.audit.is.enabled": "true"
+    },
+    "ranger-kms-policymgr-ssl": {
+      "xasecure.policymgr.clientssl.keystore": "/usr/hdp/current/ranger-kms/conf/ranger-plugin-keystore.jks",
+      "xasecure.policymgr.clientssl.truststore.password": "changeit",
+      "xasecure.policymgr.clientssl.keystore.credential.file": "jceks://file{{credential_file}}",
+      "xasecure.policymgr.clientssl.truststore": "/usr/hdp/current/ranger-kms/conf/ranger-plugin-truststore.jks",
+      "xasecure.policymgr.clientssl.truststore.credential.file": "jceks://file{{credential_file}}",
+      "xasecure.policymgr.clientssl.keystore.password": "myKeyFilePassword"
+    },
+    "ranger-kms-security": {
+      "ranger.plugin.kms.policy.pollIntervalMs": "30000",
+      "ranger.plugin.kms.service.name": "{{repo_name}}",
+      "ranger.plugin.kms.policy.source.impl": "org.apache.ranger.admin.client.RangerAdminRESTClient",
+      "ranger.plugin.kms.policy.rest.ssl.config.file": "/etc/ranger/kms/conf/ranger-policymgr-ssl.xml",
+      "ranger.plugin.kms.policy.cache.dir": "/etc/ranger/{{repo_name}}/policycache",
+      "ranger.plugin.kms.policy.rest.url": "{{policymgr_mgr_url}}"
+    },
+    "ranger-kms-site": {
+      "ranger.service.https.port": "9393",
+      "ranger.service.https.attrib.ssl.enabled": "false",
+      "xa.webapp.dir": "./webapp",
+      "ranger.service.host": "{{kms_host}}",
+      "ranger.service.shutdown.port": "7085",
+      "ranger.contextName": "/kms",
+      "ranger.service.http.port": "{{kms_port}}"
+    }
+  }
+}


[8/8] ambari git commit: AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)

Posted by st...@apache.org.
AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/680f1148
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/680f1148
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/680f1148

Branch: refs/heads/trunk
Commit: 680f1148e8e0dac064b7b77f9fba77d7d5a3c448
Parents: 202eaed
Author: Toader, Sebastian <st...@hortonworks.com>
Authored: Wed Sep 6 15:07:49 2017 +0200
Committer: Toader, Sebastian <st...@hortonworks.com>
Committed: Wed Sep 6 15:07:49 2017 +0200

----------------------------------------------------------------------
 .../functions/setup_ranger_plugin_xml.py        |   1 +
 .../0.12.0.2.0/package/scripts/params_linux.py  |   2 +
 .../2.1.0.3.0/package/scripts/params_linux.py   |   2 +
 .../RANGER/0.4.0/package/scripts/params.py      |   2 +
 .../RANGER/1.0.0.3.0/package/scripts/params.py  |   2 +
 .../0.5.0.2.3/package/scripts/params.py         |   3 +
 .../1.0.0.3.0/package/scripts/params.py         |   3 +
 .../1.4.4.2.0/package/scripts/params_linux.py   |   2 +
 .../1.4.4.3.0/package/scripts/params_linux.py   |   2 +
 .../custom_actions/scripts/check_host.py        |   1 +
 .../HIVE/test_jdbc_driver_config.py             |  66 ++
 .../RANGER/test_db_flavor_config.py             |  63 ++
 .../RANGER_KMS/test_db_flavor_config.py         |  63 ++
 .../SQOOP/test_jdbc_driver_config.py            |  63 ++
 .../common-services/configs/hive_default.json   | 650 ++++++++++++++
 .../configs/hive_unsupported_jdbc_type.json     | 650 ++++++++++++++
 .../configs/ranger_admin_default.json           | 386 ++++++++
 .../ranger_admin_unsupported_db_flavor.json     | 386 ++++++++
 .../configs/ranger_kms_default.json             | 802 +++++++++++++++++
 .../ranger_kms_unsupported_db_flavor.json       | 802 +++++++++++++++++
 .../common-services/configs/sqoop_default.json  | 879 +++++++++++++++++++
 .../configs/sqoop_unsupported_jdbc_driver.json  | 879 +++++++++++++++++++
 .../test/python/custom_actions/TestCheckHost.py |  33 +
 23 files changed, 5742 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
----------------------------------------------------------------------
diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py b/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
index c80c577..485c1a6 100644
--- a/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
+++ b/ambari-common/src/main/python/resource_management/libraries/functions/setup_ranger_plugin_xml.py
@@ -284,6 +284,7 @@ def get_audit_configs(config):
     previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
     audit_jdbc_url = format('jdbc:sqlanywhere:database={xa_audit_db_name};host={xa_db_host}')
     jdbc_driver = "sap.jdbc4.sqlanywhere.IDriver"
+  else: raise Fail(format("'{xa_audit_db_flavor}' db flavor not supported."))
 
   return jdbc_jar_name, previous_jdbc_jar_name, audit_jdbc_url, jdbc_driver
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
index 39c06f2..9ba1f99 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
@@ -49,6 +49,7 @@ from resource_management.libraries.functions.get_architecture import get_archite
 from resource_management.libraries.functions.version import get_major_version
 
 from resource_management.core.utils import PasswordString
+from resource_management.core.exceptions import Fail
 from resource_management.core.shell import checked_call
 from ambari_commons.credential_store_helper import get_password_from_credential_store
 
@@ -288,6 +289,7 @@ elif hive_jdbc_driver == "sap.jdbc4.sqlanywhere.IDriver":
   jdbc_jar_name = default("/hostLevelParams/custom_sqlanywhere_jdbc_name", None)
   hive_previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
   sqla_db_used = True
+else: raise Fail(format("JDBC driver '{hive_jdbc_driver}' not supported."))
 
 default_mysql_jar_name = "mysql-connector-java.jar"
 default_mysql_target = format("{hive_lib}/{default_mysql_jar_name}")

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/package/scripts/params_linux.py
index 90d9067..f6b676b 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/HIVE/2.1.0.3.0/package/scripts/params_linux.py
@@ -49,6 +49,7 @@ from resource_management.libraries.functions.get_architecture import get_archite
 
 from resource_management.core.utils import PasswordString
 from resource_management.core.shell import checked_call
+from resource_management.core.exceptions import Fail
 from ambari_commons.credential_store_helper import get_password_from_credential_store
 
 # Default log4j version; put config files under /etc/hive/conf
@@ -286,6 +287,7 @@ elif hive_jdbc_driver == "sap.jdbc4.sqlanywhere.IDriver":
   jdbc_jar_name = default("/hostLevelParams/custom_sqlanywhere_jdbc_name", None)
   hive_previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
   sqla_db_used = True
+else: raise Fail(format("JDBC driver '{hive_jdbc_driver}' not supported."))
 
 default_mysql_jar_name = "mysql-connector-java.jar"
 default_mysql_target = format("{hive_lib}/{default_mysql_jar_name}")

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
index d0f0974..5731e6c 100644
--- a/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/RANGER/0.4.0/package/scripts/params.py
@@ -29,6 +29,7 @@ from resource_management.libraries.functions.stack_features import check_stack_f
 from resource_management.libraries.functions.stack_features import get_stack_feature_version
 from resource_management.libraries.functions import StackFeature
 from resource_management.libraries.functions.get_bare_principal import get_bare_principal
+from resource_management.core.exceptions import Fail
 
 # a map of the Ambari role to the component name
 # for use with <stack-root>/current/<component>
@@ -199,6 +200,7 @@ elif db_flavor.lower() == 'sqla':
   previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
   audit_jdbc_url = format('jdbc:sqlanywhere:database={ranger_auditdb_name};host={db_host}') if stack_supports_ranger_audit_db else None
   jdbc_dialect = "org.eclipse.persistence.platform.database.SQLAnywherePlatform"
+else: raise Fail(format("'{db_flavor}' db flavor not supported."))
 
 downloaded_custom_connector = format("{tmp_dir}/{jdbc_jar_name}")
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/common-services/RANGER/1.0.0.3.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/RANGER/1.0.0.3.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/RANGER/1.0.0.3.0/package/scripts/params.py
index 24f459c..b88f1a4 100644
--- a/ambari-server/src/main/resources/common-services/RANGER/1.0.0.3.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/RANGER/1.0.0.3.0/package/scripts/params.py
@@ -29,6 +29,7 @@ from resource_management.libraries.functions.stack_features import check_stack_f
 from resource_management.libraries.functions.stack_features import get_stack_feature_version
 from resource_management.libraries.functions import StackFeature
 from resource_management.libraries.functions.get_bare_principal import get_bare_principal
+from resource_management.core.exceptions import Fail
 
 # a map of the Ambari role to the component name
 # for use with <stack-root>/current/<component>
@@ -197,6 +198,7 @@ elif db_flavor.lower() == 'sqla':
   previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
   audit_jdbc_url = format('jdbc:sqlanywhere:database={ranger_auditdb_name};host={db_host}') if stack_supports_ranger_audit_db else None
   jdbc_dialect = "org.eclipse.persistence.platform.database.SQLAnywherePlatform"
+else: raise Fail(format("'{db_flavor}' db flavor not supported."))
 
 downloaded_custom_connector = format("{tmp_dir}/{jdbc_jar_name}")
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
index 466646b..56003ad 100755
--- a/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/RANGER_KMS/0.5.0.2.3/package/scripts/params.py
@@ -32,6 +32,7 @@ from resource_management.libraries.functions.setup_ranger_plugin_xml import gene
 from resource_management.libraries.resources.hdfs_resource import HdfsResource
 from resource_management.libraries.functions import stack_select
 from resource_management.libraries.functions import get_kinit_path
+from resource_management.core.exceptions import Fail
 
 config  = Script.get_config()
 tmp_dir = Script.get_tmp_dir()
@@ -163,6 +164,7 @@ elif db_flavor == 'sqla':
   db_jdbc_url = format('jdbc:sqlanywhere:database={db_name};host={db_host}')
   db_jdbc_driver = "sap.jdbc4.sqlanywhere.IDriver"
   jdbc_dialect = "org.eclipse.persistence.platform.database.SQLAnywherePlatform"
+else: raise Fail(format("'{db_flavor}' db flavor not supported."))
 
 downloaded_custom_connector = format("{tmp_dir}/{jdbc_jar_name}")
 
@@ -210,6 +212,7 @@ if has_ranger_admin:
       xa_previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
       audit_jdbc_url = format('jdbc:sqlanywhere:database={xa_audit_db_name};host={xa_db_host}')
       jdbc_driver = "sap.jdbc4.sqlanywhere.IDriver"
+    else: raise Fail(format("'{xa_audit_db_flavor}' db flavor not supported."))
 
   downloaded_connector_path = format("{tmp_dir}/{jdbc_jar}") if stack_supports_ranger_audit_db else None
   driver_source = format("{jdk_location}/{jdbc_jar}") if stack_supports_ranger_audit_db else None

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/common-services/RANGER_KMS/1.0.0.3.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/RANGER_KMS/1.0.0.3.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/RANGER_KMS/1.0.0.3.0/package/scripts/params.py
index 003eee1..da8eb8c 100755
--- a/ambari-server/src/main/resources/common-services/RANGER_KMS/1.0.0.3.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/RANGER_KMS/1.0.0.3.0/package/scripts/params.py
@@ -32,6 +32,7 @@ from resource_management.libraries.functions.setup_ranger_plugin_xml import gene
 from resource_management.libraries.resources.hdfs_resource import HdfsResource
 from resource_management.libraries.functions import stack_select
 from resource_management.libraries.functions import get_kinit_path
+from resource_management.core.exceptions import Fail
 
 config  = Script.get_config()
 tmp_dir = Script.get_tmp_dir()
@@ -162,6 +163,7 @@ elif db_flavor == 'sqla':
   db_jdbc_url = format('jdbc:sqlanywhere:database={db_name};host={db_host}')
   db_jdbc_driver = "sap.jdbc4.sqlanywhere.IDriver"
   jdbc_dialect = "org.eclipse.persistence.platform.database.SQLAnywherePlatform"
+else: raise Fail(format("'{db_flavor}' db flavor not supported."))
 
 downloaded_custom_connector = format("{tmp_dir}/{jdbc_jar_name}")
 
@@ -209,6 +211,7 @@ if has_ranger_admin:
       xa_previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_sqlanywhere_jdbc_name", None)
       audit_jdbc_url = format('jdbc:sqlanywhere:database={xa_audit_db_name};host={xa_db_host}')
       jdbc_driver = "sap.jdbc4.sqlanywhere.IDriver"
+    else: raise Fail(format("'{xa_audit_db_flavor}' db flavor not supported."))
 
   downloaded_connector_path = format("{tmp_dir}/{jdbc_jar}") if stack_supports_ranger_audit_db else None
   driver_source = format("{jdk_location}/{jdbc_jar}") if stack_supports_ranger_audit_db else None

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
index c1138b3..400c87c 100644
--- a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.2.0/package/scripts/params_linux.py
@@ -28,6 +28,7 @@ from resource_management.libraries.functions import StackFeature
 from resource_management.libraries.functions.stack_features import check_stack_feature
 from resource_management.libraries.functions.expect import expect
 from resource_management.libraries.functions.setup_atlas_hook import has_atlas_in_cluster
+from resource_management.core.exceptions import Fail
 
 
 # a map of the Ambari role to the component name
@@ -117,6 +118,7 @@ if "jdbc_drivers" in config['configurations']['sqoop-env']:
         jdbc_name = default("/hostLevelParams/custom_hsqldb_jdbc_name", None)
         previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_hsqldb_jdbc_name", None)
         jdbc_driver_name = "hsqldb"
+      else: raise Fail(format("JDBC driver '{driver_name}' not supported."))
     else:
       continue
     sqoop_jdbc_drivers_dict.append(jdbc_name)

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.3.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.3.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.3.0/package/scripts/params_linux.py
index c1138b3..400c87c 100644
--- a/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.3.0/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/SQOOP/1.4.4.3.0/package/scripts/params_linux.py
@@ -28,6 +28,7 @@ from resource_management.libraries.functions import StackFeature
 from resource_management.libraries.functions.stack_features import check_stack_feature
 from resource_management.libraries.functions.expect import expect
 from resource_management.libraries.functions.setup_atlas_hook import has_atlas_in_cluster
+from resource_management.core.exceptions import Fail
 
 
 # a map of the Ambari role to the component name
@@ -117,6 +118,7 @@ if "jdbc_drivers" in config['configurations']['sqoop-env']:
         jdbc_name = default("/hostLevelParams/custom_hsqldb_jdbc_name", None)
         previous_jdbc_jar_name = default("/hostLevelParams/previous_custom_hsqldb_jdbc_name", None)
         jdbc_driver_name = "hsqldb"
+      else: raise Fail(format("JDBC driver '{driver_name}' not supported."))
     else:
       continue
     sqoop_jdbc_drivers_dict.append(jdbc_name)

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/main/resources/custom_actions/scripts/check_host.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/custom_actions/scripts/check_host.py b/ambari-server/src/main/resources/custom_actions/scripts/check_host.py
index a485415..3ca2909 100644
--- a/ambari-server/src/main/resources/custom_actions/scripts/check_host.py
+++ b/ambari-server/src/main/resources/custom_actions/scripts/check_host.py
@@ -319,6 +319,7 @@ class CheckHost(Script):
         jdbc_url = jdk_location + jdbc_driver_sqla_name
         jdbc_driver_class = JDBC_DRIVER_CLASS_SQLA
         jdbc_name = jdbc_driver_sqla_name
+    else: no_jdbc_error_message = format("'{db_name}' database type not supported.")
 
     if no_jdbc_error_message:
       Logger.warning(no_jdbc_error_message)

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/HIVE/test_jdbc_driver_config.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/HIVE/test_jdbc_driver_config.py b/ambari-server/src/test/python/common-services/HIVE/test_jdbc_driver_config.py
new file mode 100644
index 0000000..e4d81b1
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/HIVE/test_jdbc_driver_config.py
@@ -0,0 +1,66 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+from resource_management.core.exceptions import Fail
+from stacks.utils.RMFTestCase import RMFTestCase
+
+import unittest
+
+class TestJdbcDriverConfig(RMFTestCase):
+  STACK_VERSION = "2.6"
+  CONFIG_DIR = os.path.join(os.path.dirname(__file__), '../configs')
+
+  def test_jdbc_type_0_12_0_2_0(self):
+    self.executeScript("HIVE/0.12.0.2.0/package/scripts/hive_server.py",
+                       classname="HiveServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "hive_default.json"))
+
+  def test_unsupported_jdbc_type_throws_error_0_12_0_2_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("HIVE/0.12.0.2.0/package/scripts/hive_server.py",
+                       classname="HiveServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "hive_unsupported_jdbc_type.json"))
+
+  def test_jdbc_type_2_1_0_3_0(self):
+    self.executeScript("HIVE/2.1.0.3.0/package/scripts/hive_server.py",
+                       classname="HiveServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "hive_default.json"))
+
+  def test_unsupported_jdbc_type_throws_error_2_1_0_3_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("HIVE/2.1.0.3.0/package/scripts/hive_server.py",
+                         classname="HiveServer",
+                         command="configure",
+                         target=RMFTestCase.TARGET_COMMON_SERVICES,
+                         stack_version=self.STACK_VERSION,
+                         config_file=os.path.join(self.CONFIG_DIR, "hive_unsupported_jdbc_type.json"))
+
+
+
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/RANGER/test_db_flavor_config.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/RANGER/test_db_flavor_config.py b/ambari-server/src/test/python/common-services/RANGER/test_db_flavor_config.py
new file mode 100644
index 0000000..568e3fd
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/RANGER/test_db_flavor_config.py
@@ -0,0 +1,63 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+from resource_management.core.exceptions import Fail
+from stacks.utils.RMFTestCase import RMFTestCase
+
+import unittest
+
+class TestDbFlavorConfig(RMFTestCase):
+  STACK_VERSION = "2.6"
+  CONFIG_DIR = os.path.join(os.path.dirname(__file__), '../configs')
+
+
+  def test_db_flavor_0_4_0(self):
+    self.executeScript("RANGER/0.4.0/package/scripts/ranger_admin.py",
+                       classname="RangerAdmin",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "ranger_admin_default.json"))
+
+  def test_unsupported_db_flavor_0_4_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("RANGER/0.4.0/package/scripts/ranger_admin.py",
+                       classname="RangerAdmin",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "ranger_admin_unsupported_db_flavor.json"))
+
+  def test_db_flavor_1_0_0_3_0(self):
+    self.executeScript("RANGER/1.0.0.3.0/package/scripts/ranger_admin.py",
+                       classname="RangerAdmin",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "ranger_admin_default.json"))
+
+  def test_unsupported_db_flavor_1_0_0_3_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("RANGER/1.0.0.3.0/package/scripts/ranger_admin.py",
+                         classname="RangerAdmin",
+                         command="configure",
+                         target=RMFTestCase.TARGET_COMMON_SERVICES,
+                         stack_version=self.STACK_VERSION,
+                         config_file=os.path.join(self.CONFIG_DIR, "ranger_admin_unsupported_db_flavor.json"))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/RANGER_KMS/test_db_flavor_config.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/RANGER_KMS/test_db_flavor_config.py b/ambari-server/src/test/python/common-services/RANGER_KMS/test_db_flavor_config.py
new file mode 100644
index 0000000..48654ee
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/RANGER_KMS/test_db_flavor_config.py
@@ -0,0 +1,63 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+from resource_management.core.exceptions import Fail
+from stacks.utils.RMFTestCase import RMFTestCase
+
+import unittest
+
+class TestDbFlavorConfig(RMFTestCase):
+  STACK_VERSION = "2.6"
+  CONFIG_DIR = os.path.join(os.path.dirname(__file__), '../configs')
+
+
+  def test_db_flavor_0_5_0_2_3(self):
+    self.executeScript("RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py",
+                       classname="KmsServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "ranger_kms_default.json"))
+
+  def test_unsupported_db_flavor_0_5_0_2_3(self):
+    with self.assertRaises(Fail):
+      self.executeScript("RANGER_KMS/0.5.0.2.3/package/scripts/kms_server.py",
+                       classname="KmsServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "ranger_kms_unsupported_db_flavor.json"))
+
+  def test_db_flavor_1_0_0_3_0(self):
+    self.executeScript("RANGER_KMS/1.0.0.3.0/package/scripts/kms_server.py",
+                       classname="KmsServer",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "ranger_kms_default.json"))
+
+  def test_unsupported_db_flavor_1_0_0_3_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("RANGER_KMS/1.0.0.3.0/package/scripts/kms_server.py",
+                         classname="KmsServer",
+                         command="configure",
+                         target=RMFTestCase.TARGET_COMMON_SERVICES,
+                         stack_version=self.STACK_VERSION,
+                         config_file=os.path.join(self.CONFIG_DIR, "ranger_kms_unsupported_db_flavor.json"))
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/SQOOP/test_jdbc_driver_config.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/SQOOP/test_jdbc_driver_config.py b/ambari-server/src/test/python/common-services/SQOOP/test_jdbc_driver_config.py
new file mode 100644
index 0000000..7bb809a
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/SQOOP/test_jdbc_driver_config.py
@@ -0,0 +1,63 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import os
+
+from resource_management.core.exceptions import Fail
+from stacks.utils.RMFTestCase import RMFTestCase
+
+import unittest
+
+class TestJdbcDriverConfig(RMFTestCase):
+  STACK_VERSION = "2.6"
+  CONFIG_DIR = os.path.join(os.path.dirname(__file__), '../configs')
+
+
+  def test_jdbc_driver_1_4_4_2_0(self):
+    self.executeScript("SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py",
+                       classname="SqoopClient",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "sqoop_default.json"))
+
+  def test_unsupported_jdbc_driver_1_4_4_2_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("SQOOP/1.4.4.2.0/package/scripts/sqoop_client.py",
+                       classname="SqoopClient",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "sqoop_unsupported_jdbc_driver.json"))
+
+  def test_jdbc_driver_1_4_4_3_0(self):
+    self.executeScript("SQOOP/1.4.4.3.0/package/scripts/sqoop_client.py",
+                       classname="SqoopClient",
+                       command="configure",
+                       target=RMFTestCase.TARGET_COMMON_SERVICES,
+                       stack_version=self.STACK_VERSION,
+                       config_file=os.path.join(self.CONFIG_DIR, "sqoop_default.json"))
+
+  def test_unsupported_jdbc_driver_1_4_4_3_0(self):
+    with self.assertRaises(Fail):
+      self.executeScript("SQOOP/1.4.4.3.0/package/scripts/sqoop_client.py",
+                         classname="SqoopClient",
+                         command="configure",
+                         target=RMFTestCase.TARGET_COMMON_SERVICES,
+                         stack_version=self.STACK_VERSION,
+                         config_file=os.path.join(self.CONFIG_DIR, "sqoop_unsupported_jdbc_driver.json"))
\ No newline at end of file


[6/8] ambari git commit: AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/configs/hive_unsupported_jdbc_type.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/configs/hive_unsupported_jdbc_type.json b/ambari-server/src/test/python/common-services/configs/hive_unsupported_jdbc_type.json
new file mode 100644
index 0000000..d85dbfe
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/configs/hive_unsupported_jdbc_type.json
@@ -0,0 +1,650 @@
+{
+  "roleCommand": "SERVICE_CHECK",
+  "clusterName": "c1",
+  "hostname": "c6401.ambari.apache.org",
+  "hostLevelParams": {
+    "not_managed_hdfs_path_list": "[\"/apps/hive/warehouse\",\"/apps/falcon\",\"/mr-history/done\",\"/app-logs\",\"/tmp\"]",
+    "agent_stack_retry_count": "5",
+    "agent_stack_retry_on_unavailability": "false",
+    "jdk_location": "http://c6401.ambari.apache.org:8080/resources/",
+    "ambari_db_rca_password": "mapred",
+    "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca",
+    "jce_name": "UnlimitedJCEPolicyJDK7.zip",
+    "stack_version": "2.6",
+    "stack_name": "HDP",
+    "ambari_db_rca_driver": "org.postgresql.Driver",
+    "jdk_name": "jdk-7u67-linux-x64.tar.gz",
+    "ambari_db_rca_username": "mapred",
+    "java_home": "/usr/jdk64/jdk1.7.0_45",
+    "db_name": "ambari",
+    "custom_mysql_jdbc_name": "mysql-connector-java.jar"
+  },
+  "commandType": "EXECUTION_COMMAND",
+  "roleParams": {},
+  "serviceName": "SLIDER",
+  "role": "SLIDER",
+  "commandParams": {
+    "version": "2.5.0.0-1235",
+    "command_timeout": "300",
+    "service_package_folder": "OOZIE",
+    "script_type": "PYTHON",
+    "script": "scripts/service_check.py",
+    "excluded_hosts": "host1,host2"
+  },
+  "taskId": 152,
+  "public_hostname": "c6401.ambari.apache.org",
+  "configurations": {
+    "hive-env" : {
+      "hcat_pid_dir": "/var/run/webhcat",
+      "hcat_user": "hcat",
+      "hive_ambari_database": "MySQL",
+      "hive_hostname": "abtest-3.c.pramod-thangali.internal",
+      "hive_metastore_port": "9083",
+      "webhcat_user": "hcat",
+      "content": "\n if [ \"$SERVICE\" = \"cli\" ]; then\n   if [ -z \"$DEBUG\" ]; then\n     export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseParNewGC -XX:-UseGCOverheadLimit\"\n   else\n     export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit\"\n   fi\n fi\n\n# The heap size of the jvm stared by hive shell script can be controlled via:\n\nexport HADOOP_HEAPSIZE=\"{{hive_heapsize}}\"\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n\n# Larger heap size may be required when running queries over large number of files or partitions.\n# By default hive shell scripts use a heap size of 256 (MB).  Larger heap size would also be\n# appropriate for hive server (hwi etc).\n\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nHADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hive Configuration Directory can 
 be controlled by:\nexport HIVE_CONF_DIR={{conf_dir}}\n\n# Folder containing extra ibraries required for hive compilation/execution can be controlled by:\nif [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n  export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\nelif [ -d \"/usr/lib/hive-hcatalog/\" ]; then\n  export HIVE_AUX_JARS_PATH=/usr/lib/hive-hcatalog/share/hcatalog/hive-hcatalog-core-*.jar\nelse\n  export HIVE_AUX_JARS_PATH=/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar\nfi\nexport METASTORE_PORT={{hive_metastore_port}}",
+      "hive_database_name": "hive",
+      "hive_database_type": "mysql",
+      "hive_pid_dir": "/var/run/hive",
+      "hive_log_dir": "/var/log/hive",
+      "hive_user": "hive",
+      "hcat_log_dir": "/var/log/webhcat",
+      "hive_database": "New MySQL Database",
+      "hive_security_authorization": "None"
+    },
+    "hive-site": {
+      "hive.enforce.sorting": "true",
+      "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+      "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.UnsupportedDriver",
+      "hive.optimize.bucketmapjoin.sortedmerge": "true",
+      "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "fs.file.impl.disable.cache": "true",
+      "hive.auto.convert.join.noconditionaltask": "true",
+      "hive.map.aggr": "true",
+      "hive.optimize.index.filter": "true",
+      "hive.security.authorization.enabled": "false",
+      "hive.optimize.reducededuplication.min.reducer": "1",
+      "hive.optimize.bucketmapjoin": "true",
+      "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9083",
+      "hive.mapjoin.bucket.cache.size": "10000",
+      "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+      "hive.vectorized.execution.enabled": "false",
+      "javax.jdo.option.ConnectionUserName": "hive",
+      "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+      "hive.optimize.reducededuplication": "true",
+      "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+      "hive.metastore.client.socket.timeout": "60",
+      "hive.auto.convert.join": "true",
+      "hive.enforce.bucketing": "true",
+      "hive.mapred.reduce.tasks.speculative.execution": "false",
+      "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+      "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+      "hive.auto.convert.sortmerge.join": "true",
+      "fs.hdfs.impl.disable.cache": "true",
+      "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "ambari.hive.db.schema.name": "hive",
+      "hive.metastore.execute.setugi": "true",
+      "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+      "hive.server2.enable.doAs": "true",
+      "hive.server2.authentication": "NOSASL",
+      "hive.server2.transport.mode": "binary",
+      "hive.optimize.mapjoin.mapreduce": "true",
+      "hive.exec.scratchdir" : "/custompath/tmp/hive"
+    },
+    "slider-client": {
+      "slider.yarn.queue": "default"
+    },
+    "sqoop-site": {
+      "atlas.cluster.name": "c1",
+      "sqoop.job.data.publish.class": "org.apache.atlas.sqoop.hook.SqoopHook"
+    },
+    "mahout-env": {
+      "mahout_user": "mahout"
+    },
+    "hbase-env": {
+      "hbase_user": "hbase"
+    },
+    "yarn-env": {
+      "yarn_user": "yarn"
+    },
+    "mahout-log4j": {
+      "content": "\n            #\n            #\n            # Licensed to the Apache Software Foundation (ASF) under one\n            # or more contributor license agreements.  See the NOTICE file\n            # distributed with this work for additional information\n            # regarding copyright ownership.  The ASF licenses this file\n            # to you under the Apache License, Version 2.0 (the\n            # \"License\"); you may not use this file except in compliance\n            # with the License.  You may obtain a copy of the License at\n            #\n            #   http://www.apache.org/licenses/LICENSE-2.0\n            #\n            # Unless required by applicable law or agreed to in writing,\n            # software distributed under the License is distributed on an\n            # \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n            # KIND, either express or implied.  See the License for the\n            # specific language governing permissions a
 nd limitations\n            # under the License.\n            #\n            #\n            #\n\n            # Set everything to be logged to the console\n            log4j.rootCategory=WARN, console\n            log4j.appender.console=org.apache.log4j.ConsoleAppender\n            log4j.appender.console.target=System.err\n            log4j.appender.console.layout=org.apache.log4j.PatternLayout\n            log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n            # Settings to quiet third party logs that are too verbose\n            log4j.logger.org.eclipse.jetty=WARN\n            log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=WARN\n            log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=WARN"
+    },
+    "hadoop-env": {
+      "hdfs_user": "hdfs",
+      "hdfs_tmp_dir": "/tmp"
+    },
+    "core-site": {
+      "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020"
+    },
+    "hdfs-site": {
+      "a": "b"
+    },
+    "yarn-site": {
+      "yarn.application.classpath": "/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*",
+      "yarn.resourcemanager.address": "c6401.ambari.apache.org:8050",
+      "yarn.resourcemanager.scheduler.address": "c6401.ambari.apache.org:8030"
+    },
+    "cluster-env": {
+      "managed_hdfs_resource_property_names": "",
+      "security_enabled": "false",
+      "ignore_groupsusers_create": "false",
+      "smokeuser": "ambari-qa",
+      "kerberos_domain": "EXAMPLE.COM",
+      "user_group": "hadoop"
+    },
+    "webhcat-site": {
+      "templeton.jar": "/usr/hdp/current/hive-webhcat/share/webhcat/svr/lib/hive-webhcat-*.jar",
+      "templeton.pig.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/pig/pig.tar.gz",
+      "templeton.hive.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/hive/hive.tar.gz",
+      "templeton.sqoop.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/sqoop/sqoop.tar.gz",
+      "templeton.streaming.jar": "hdfs:///hdp/apps/{{ hdp_stack_version }}/mr/hadoop-streaming.jar"
+    },
+    "slider-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "slider-env": {
+      "content": "envproperties\nline2"
+    },
+    "gateway-site": {
+      "java.security.auth.login.config": "/etc/knox/conf/krb5JAASLogin.conf",
+      "gateway.hadoop.kerberos.secured": "false",
+      "gateway.gateway.conf.dir": "deployments",
+      "gateway.path": "gateway",
+      "sun.security.krb5.debug": "true",
+      "java.security.krb5.conf": "/etc/knox/conf/krb5.conf",
+      "gateway.port": "8443"
+    },
+
+    "users-ldif": {
+      "content": "\n            # Licensed to the Apache Software Foundation (ASF) under one\n            # or more contributor license agreements.  See the NOTICE file\n            # distributed with this work for additional information\n            # regarding copyright ownership.  The ASF licenses this file\n            # to you under the Apache License, Version 2.0 (the\n            # \"License\"); you may not use this file except in compliance\n            # with the License.  You may obtain a copy of the License at\n            #\n            #     http://www.apache.org/licenses/LICENSE-2.0\n            #\n            # Unless required by applicable law or agreed to in writing, software\n            # distributed under the License is distributed on an \"AS IS\" BASIS,\n            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n            # See the License for the specific language governing permissions and\n            # limitations under the Lice
 nse.\n\n            version: 1\n\n            # Please replace with site specific values\n            dn: dc=hadoop,dc=apache,dc=org\n            objectclass: organization\n            objectclass: dcObject\n            o: Hadoop\n            dc: hadoop\n\n            # Entry for a sample people container\n            # Please replace with site specific values\n            dn: ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:organizationalUnit\n            ou: people\n\n            # Entry for a sample end user\n            # Please replace with site specific values\n            dn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:person\n            objectclass:organizationalPerson\n            objectclass:inetOrgPerson\n            cn: Guest\n            sn: User\n            uid: guest\n            userPassword:guest-password\n\n            # entry for sample user admin\n            dn: 
 uid=admin,ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:person\n            objectclass:organizationalPerson\n            objectclass:inetOrgPerson\n            cn: Admin\n            sn: Admin\n            uid: admin\n            userPassword:admin-password\n\n            # entry for sample user sam\n            dn: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:person\n            objectclass:organizationalPerson\n            objectclass:inetOrgPerson\n            cn: sam\n            sn: sam\n            uid: sam\n            userPassword:sam-password\n\n            # entry for sample user tom\n            dn: uid=tom,ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:person\n            objectclass:organizationalPerson\n            objectclass:inetOrgPerson\n            cn: tom\n            sn: tom\n            uid: tom\n            userPasswor
 d:tom-password\n\n            # create FIRST Level groups branch\n            dn: ou=groups,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:organizationalUnit\n            ou: groups\n            description: generic groups branch\n\n            # create the analyst group under groups\n            dn: cn=analyst,ou=groups,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass: groupofnames\n            cn: analyst\n            description:analyst  group\n            member: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org\n            member: uid=tom,ou=people,dc=hadoop,dc=apache,dc=org\n\n\n            # create the scientist group under groups\n            dn: cn=scientist,ou=groups,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass: groupofnames\n            cn: scientist\n            description: scientist group\n            member: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org"
+    },
+
+    "topology": {
+      "content": "\n        <topology>\n\n            <gateway>\n\n                <provider>\n                    <role>authentication</role>\n                    <name>ShiroProvider</name>\n                    <enabled>true</enabled>\n                    <param>\n                        <name>sessionTimeout</name>\n                        <value>30</value>\n                    </param>\n                    <param>\n                        <name>main.ldapRealm</name>\n                        <value>org.apache.hadoop.gateway.shirorealm.KnoxLdapRealm</value>\n                    </param>\n                    <param>\n                        <name>main.ldapRealm.userDnTemplate</name>\n                        <value>uid={0},ou=people,dc=hadoop,dc=apache,dc=org</value>\n                    </param>\n                    <param>\n                        <name>main.ldapRealm.contextFactory.url</name>\n                        <value>ldap://{{knox_host_name}}:33389</value>\n                 
    </param>\n                    <param>\n                        <name>main.ldapRealm.contextFactory.authenticationMechanism</name>\n                        <value>simple</value>\n                    </param>\n                    <param>\n                        <name>urls./**</name>\n                        <value>authcBasic</value>\n                    </param>\n                </provider>\n\n                <provider>\n                    <role>identity-assertion</role>\n                    <name>Default</name>\n                    <enabled>true</enabled>\n                </provider>\n\n            </gateway>\n\n            <service>\n                <role>NAMENODE</role>\n                <url>hdfs://{{namenode_host}}:{{namenode_rpc_port}}</url>\n            </service>\n\n            <service>\n                <role>JOBTRACKER</role>\n                <url>rpc://{{rm_host}}:{{jt_rpc_port}}</url>\n            </service>\n\n            <service>\n                <role>WEBHDFS</role
 >\n                <url>http://{{namenode_host}}:{{namenode_http_port}}/webhdfs</url>\n            </service>\n\n            <service>\n                <role>WEBHCAT</role>\n                <url>http://{{webhcat_server_host}}:{{templeton_port}}/templeton</url>\n            </service>\n\n            <service>\n                <role>OOZIE</role>\n                <url>http://{{oozie_server_host}}:{{oozie_server_port}}/oozie</url>\n            </service>\n\n            <service>\n                <role>WEBHBASE</role>\n                <url>http://{{hbase_master_host}}:{{hbase_master_port}}</url>\n            </service>\n\n            <service>\n                <role>HIVE</role>\n                <url>http://{{hive_server_host}}:{{hive_http_port}}/{{hive_http_path}}</url>\n            </service>\n\n            <service>\n                <role>RESOURCEMANAGER</role>\n                <url>http://{{rm_host}}:{{rm_port}}/ws</url>\n            </service>\n        </topology>"
+    },
+
+    "ldap-log4j": {
+      "content": "\n        # Licensed to the Apache Software Foundation (ASF) under one\n        # or more contributor license agreements.  See the NOTICE file\n        # distributed with this work for additional information\n        # regarding copyright ownership.  The ASF licenses this file\n        # to you under the Apache License, Version 2.0 (the\n        # \"License\"); you may not use this file except in compliance\n        # with the License.  You may obtain a copy of the License at\n        #\n        #     http://www.apache.org/licenses/LICENSE-2.0\n        #\n        # Unless required by applicable law or agreed to in writing, software\n        # distributed under the License is distributed on an \"AS IS\" BASIS,\n        # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n        # See the License for the specific language governing permissions and\n        # limitations under the License.\n        #testing\n\n        app.log.dir=${launcher.dir
 }/../logs\n        app.log.file=${launcher.name}.log\n\n        log4j.rootLogger=ERROR, drfa\n        log4j.logger.org.apache.directory.server.ldap.LdapServer=INFO\n        log4j.logger.org.apache.directory=WARN\n\n        log4j.appender.stdout=org.apache.log4j.ConsoleAppender\n        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\n        log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n        log4j.appender.drfa=org.apache.log4j.DailyRollingFileAppender\n        log4j.appender.drfa.File=${app.log.dir}/${app.log.file}\n        log4j.appender.drfa.DatePattern=.yyyy-MM-dd\n        log4j.appender.drfa.layout=org.apache.log4j.PatternLayout\n        log4j.appender.drfa.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n"
+    },
+
+    "gateway-log4j": {
+      "content": "\n\n      # Licensed to the Apache Software Foundation (ASF) under one\n      # or more contributor license agreements. See the NOTICE file\n      # distributed with this work for additional information\n      # regarding copyright ownership. The ASF licenses this file\n      # to you under the Apache License, Version 2.0 (the\n      # \"License\"); you may not use this file except in compliance\n      # with the License. You may obtain a copy of the License at\n      #\n      # http://www.apache.org/licenses/LICENSE-2.0\n      #\n      # Unless required by applicable law or agreed to in writing, software\n      # distributed under the License is distributed on an \"AS IS\" BASIS,\n      # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n      # See the License for the specific language governing permissions and\n      # limitations under the License.\n\n      app.log.dir=${launcher.dir}/../logs\n      app.log.file=${launcher.name}.log\n   
    app.audit.file=${launcher.name}-audit.log\n\n      log4j.rootLogger=ERROR, drfa\n\n      log4j.logger.org.apache.hadoop.gateway=INFO\n      #log4j.logger.org.apache.hadoop.gateway=DEBUG\n\n      #log4j.logger.org.eclipse.jetty=DEBUG\n      #log4j.logger.org.apache.shiro=DEBUG\n      #log4j.logger.org.apache.http=DEBUG\n      #log4j.logger.org.apache.http.client=DEBUG\n      #log4j.logger.org.apache.http.headers=DEBUG\n      #log4j.logger.org.apache.http.wire=DEBUG\n\n      log4j.appender.stdout=org.apache.log4j.ConsoleAppender\n      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\n      log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n      log4j.appender.drfa=org.apache.log4j.DailyRollingFileAppender\n      log4j.appender.drfa.File=${app.log.dir}/${app.log.file}\n      log4j.appender.drfa.DatePattern=.yyyy-MM-dd\n      log4j.appender.drfa.layout=org.apache.log4j.PatternLayout\n      log4j.appender.drfa.layout.ConversionPattern=%
 d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n\n\n      log4j.logger.audit=INFO, auditfile\n      log4j.appender.auditfile=org.apache.log4j.DailyRollingFileAppender\n      log4j.appender.auditfile.File=${app.log.dir}/${app.audit.file}\n      log4j.appender.auditfile.Append = true\n      log4j.appender.auditfile.DatePattern = '.'yyyy-MM-dd\n      log4j.appender.auditfile.layout = org.apache.hadoop.gateway.audit.log4j.layout.AuditLayout"
+    },
+    "knox-env": {
+      "knox_master_secret": "sa",
+      "knox_group": "knox",
+      "knox_pid_dir": "/var/run/knox",
+      "knox_user": "knox"
+    },
+    "kafka-env": {
+      "content": "\n#!/bin/bash\n\n# Set KAFKA specific environment variables here.\n\n# The java implementation to use.\nexport JAVA_HOME={{java64_home}}\nexport PATH=$PATH:$JAVA_HOME/bin",
+      "kafka_user": "kafka",
+      "kafka_log_dir": "/var/log/kafka",
+      "kafka_pid_dir": "/var/run/kafka"
+    },
+    "kafka-log4j": {
+      "content": "\n#\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#   http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n#\n#\nkafka.logs.dir=logs\n\nlog4j.rootLogger=INFO, stdout\n\nlog4j.appender.stdout=org.apache.log4j.ConsoleAppender\nlog4j.appender.stdout.layout=org.apache.log4j
 .PatternLayout\nlog4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log\nlog4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.stateChangeAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.stateChangeAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.stateChangeAppender.File=${kafka.logs.dir}/state-change.log\nlog4j.appender.stateChangeAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.stateChangeAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.requestAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.requestAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.requestAppender.File=${kafka.logs.dir}/kafka-reques
 t.log\nlog4j.appender.requestAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.requestAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.cleanerAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.cleanerAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.cleanerAppender.File=${kafka.logs.dir}/log-cleaner.log\nlog4j.appender.cleanerAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.cleanerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.controllerAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.controllerAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.controllerAppender.File=${kafka.logs.dir}/controller.log\nlog4j.appender.controllerAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.controllerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\n# Turn on all our debugging info\n#log4j.logger.kafka.producer.async.DefaultEventHandler=DEBUG, kafkaAppender\n#log4j.logge
 r.kafka.client.ClientUtils=DEBUG, kafkaAppender\n#log4j.logger.kafka.perf=DEBUG, kafkaAppender\n#log4j.logger.kafka.perf.ProducerPerformance$ProducerThread=DEBUG, kafkaAppender\n#log4j.logger.org.I0Itec.zkclient.ZkClient=DEBUG\nlog4j.logger.kafka=INFO, kafkaAppender\nlog4j.logger.kafka.network.RequestChannel$=WARN, requestAppender\nlog4j.additivity.kafka.network.RequestChannel$=false\n\n#log4j.logger.kafka.network.Processor=TRACE, requestAppender\n#log4j.logger.kafka.server.KafkaApis=TRACE, requestAppender\n#log4j.additivity.kafka.server.KafkaApis=false\nlog4j.logger.kafka.request.logger=WARN, requestAppender\nlog4j.additivity.kafka.request.logger=false\n\nlog4j.logger.kafka.controller=TRACE, controllerAppender\nlog4j.additivity.kafka.controller=false\n\nlog4j.logger.kafka.log.LogCleaner=INFO, cleanerAppender\nlog4j.additivity.kafka.log.LogCleaner=false\n\nlog4j.logger.state.change.logger=TRACE, stateChangeAppender\nlog4j.additivity.state.change.logger=false"
+    },
+    "kafka-broker": {
+      "log.segment.bytes": "1073741824",
+      "socket.send.buffer.bytes": "102400",
+      "num.network.threads": "3",
+      "log.flush.scheduler.interval.ms": "3000",
+      "kafka.ganglia.metrics.host": "localhost",
+      "zookeeper.session.timeout.ms": "6000",
+      "replica.lag.time.max.ms": "10000",
+      "num.io.threads": "8",
+      "kafka.ganglia.metrics.group": "kafka",
+      "replica.lag.max.messages": "4000",
+      "port": "6667",
+      "log.retention.bytes": "-1",
+      "fetch.purgatory.purge.interval.requests": "10000",
+      "producer.purgatory.purge.interval.requests": "10000",
+      "default.replication.factor": "1",
+      "replica.high.watermark.checkpoint.interval.ms": "5000",
+      "zookeeper.connect": "c6402.ambari.apache.org:2181",
+      "controlled.shutdown.retry.backoff.ms": "5000",
+      "num.partitions": "1",
+      "log.flush.interval.messages": "10000",
+      "replica.fetch.min.bytes": "1",
+      "queued.max.requests": "500",
+      "controlled.shutdown.max.retries": "3",
+      "replica.fetch.wait.max.ms": "500",
+      "controlled.shutdown.enable": "false",
+      "log.roll.hours": "168",
+      "log.cleanup.interval.mins": "10",
+      "replica.socket.receive.buffer.bytes": "65536",
+      "zookeeper.connection.timeout.ms": "6000",
+      "replica.fetch.max.bytes": "1048576",
+      "num.replica.fetchers": "1",
+      "socket.request.max.bytes": "104857600",
+      "message.max.bytes": "1000000",
+      "zookeeper.sync.time.ms": "2000",
+      "socket.receive.buffer.bytes": "102400",
+      "controller.message.queue.size": "10",
+      "log.flush.interval.ms": "3000",
+      "log.dirs": "/tmp/log/dir",
+      "controller.socket.timeout.ms": "30000",
+      "replica.socket.timeout.ms": "30000",
+      "auto.create.topics.enable": "true",
+      "log.index.size.max.bytes": "10485760",
+      "kafka.ganglia.metrics.port": "8649",
+      "log.index.interval.bytes": "4096",
+      "log.retention.hours": "168"
+    },
+    "spark-defaults": {
+      "spark.yarn.applicationMaster.waitTries": "10",
+      "spark.history.kerberos.keytab": "none",
+      "spark.yarn.preserve.staging.files": "false",
+      "spark.yarn.submit.file.replication": "3",
+      "spark.history.kerberos.principal": "none",
+      "spark.yarn.driver.memoryOverhead": "384",
+      "spark.yarn.queue": "default",
+      "spark.yarn.containerLauncherMaxThreads": "25",
+      "spark.yarn.scheduler.heartbeat.interval-ms": "5000",
+      "spark.history.ui.port": "18080",
+      "spark.yarn.max.executor.failures": "3",
+      "spark.driver.extraJavaOptions": "",
+      "spark.history.provider": "org.apache.spark.deploy.yarn.history.YarnHistoryProvider",
+      "spark.yarn.am.extraJavaOptions": "",
+      "spark.yarn.executor.memoryOverhead": "384"
+    },
+    "spark-javaopts-properties": {
+      "content": " "
+    },
+    "spark-log4j-properties": {
+      "content": "\n# Set everything to be logged to the console\nlog4j.rootCategory=INFO, console\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.target=System.err\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n# Settings to quiet third party logs that are too verbose\nlog4j.logger.org.eclipse.jetty=WARN\nlog4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR\nlog4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO\nlog4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO"
+    },
+    "spark-env": {
+      "content": "\n#!/usr/bin/env bash\n\n# This file is sourced when running various Spark programs.\n# Copy it as spark-env.sh and edit that to configure Spark for your site.\n\n# Options read in YARN client mode\n#SPARK_EXECUTOR_INSTANCES=\"2\" #Number of workers to start (Default: 2)\n#SPARK_EXECUTOR_CORES=\"1\" #Number of cores for the workers (Default: 1).\n#SPARK_EXECUTOR_MEMORY=\"1G\" #Memory per Worker (e.g. 1000M, 2G) (Default: 1G)\n#SPARK_DRIVER_MEMORY=\"512 Mb\" #Memory for Master (e.g. 1000M, 2G) (Default: 512 Mb)\n#SPARK_YARN_APP_NAME=\"spark\" #The name of your application (Default: Spark)\n#SPARK_YARN_QUEUE=\"~@~Xdefault~@~Y\" #The hadoop queue to use for allocation requests (Default: @~Xdefault~@~Y)\n#SPARK_YARN_DIST_FILES=\"\" #Comma separated list of files to be distributed with the job.\n#SPARK_YARN_DIST_ARCHIVES=\"\" #Comma separated list of archives to be distributed with the job.\n\n# Generic options for the daemons used in the standalone deploy mode\n\n# Alt
 ernate conf dir. (Default: ${SPARK_HOME}/conf)\nexport SPARK_CONF_DIR=${SPARK_HOME:-{{spark_home}}}/conf\n\n# Where log files are stored.(Default:${SPARK_HOME}/logs)\n#export SPARK_LOG_DIR=${SPARK_HOME:-{{spark_home}}}/logs\nexport SPARK_LOG_DIR={{spark_log_dir}}\n\n# Where the pid file is stored. (Default: /tmp)\nexport SPARK_PID_DIR={{spark_pid_dir}}\n\n# A string representing this instance of spark.(Default: $USER)\nSPARK_IDENT_STRING=$USER\n\n# The scheduling priority for daemons. (Default: 0)\nSPARK_NICENESS=0\n\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\nexport HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-{{hadoop_conf_dir}}}\n\n# The java implementation to use.\nexport JAVA_HOME={{java_home}}\n\nif [ -d \"/etc/tez/conf/\" ]; then\n  export TEZ_CONF_DIR=/etc/tez/conf\nelse\n  export TEZ_CONF_DIR=\nfi",
+      "spark_pid_dir": "/var/run/spark",
+      "spark_log_dir": "/var/log/spark",
+      "spark_group": "spark",
+      "spark_user": "spark"
+    },
+    "spark2-env": {
+      "content": "\n#!/usr/bin/env bash\n\n# This file is sourced when running various Spark programs.\n# Copy it as spark-env.sh and edit that to configure Spark for your site.\n\n# Options read in YARN client mode\n#SPARK_EXECUTOR_INSTANCES=\"2\" #Number of workers to start (Default: 2)\n#SPARK_EXECUTOR_CORES=\"1\" #Number of cores for the workers (Default: 1).\n#SPARK_EXECUTOR_MEMORY=\"1G\" #Memory per Worker (e.g. 1000M, 2G) (Default: 1G)\n#SPARK_DRIVER_MEMORY=\"512 Mb\" #Memory for Master (e.g. 1000M, 2G) (Default: 512 Mb)\n#SPARK_YARN_APP_NAME=\"spark\" #The name of your application (Default: Spark)\n#SPARK_YARN_QUEUE=\"~@~Xdefault~@~Y\" #The hadoop queue to use for allocation requests (Default: @~Xdefault~@~Y)\n#SPARK_YARN_DIST_FILES=\"\" #Comma separated list of files to be distributed with the job.\n#SPARK_YARN_DIST_ARCHIVES=\"\" #Comma separated list of archives to be distributed with the job.\n\n# Generic options for the daemons used in the standalone deploy mode\n\n# Alt
 ernate conf dir. (Default: ${SPARK_HOME}/conf)\nexport SPARK_CONF_DIR=${SPARK_HOME:-{{spark_home}}}/conf\n\n# Where log files are stored.(Default:${SPARK_HOME}/logs)\n#export SPARK_LOG_DIR=${SPARK_HOME:-{{spark_home}}}/logs\nexport SPARK_LOG_DIR={{spark_log_dir}}\n\n# Where the pid file is stored. (Default: /tmp)\nexport SPARK_PID_DIR={{spark_pid_dir}}\n\n# A string representing this instance of spark.(Default: $USER)\nSPARK_IDENT_STRING=$USER\n\n# The scheduling priority for daemons. (Default: 0)\nSPARK_NICENESS=0\n\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\nexport HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-{{hadoop_conf_dir}}}\n\n# The java implementation to use.\nexport JAVA_HOME={{java_home}}\n\nif [ -d \"/etc/tez/conf/\" ]; then\n  export TEZ_CONF_DIR=/etc/tez/conf\nelse\n  export TEZ_CONF_DIR=\nfi",
+      "spark_pid_dir": "/var/run/spark",
+      "spark_log_dir": "/var/log/spark",
+      "spark_group": "spark",
+      "spark_user": "spark"
+    },
+    "spark-metrics-properties": {
+      "content": "\n# syntax: [instance].sink|source.[name].[options]=[value]\n\n# This file configures Spark's internal metrics system. The metrics system is\n# divided into instances which correspond to internal components.\n# Each instance can be configured to report its metrics to one or more sinks.\n# Accepted values for [instance] are \"master\", \"worker\", \"executor\", \"driver\",\n# and \"applications\". A wild card \"*\" can be used as an instance name, in\n# which case all instances will inherit the supplied property.\n#\n# Within an instance, a \"source\" specifies a particular set of grouped metrics.\n# there are two kinds of sources:\n# 1. Spark internal sources, like MasterSource, WorkerSource, etc, which will\n# collect a Spark component's internal state. Each instance is paired with a\n# Spark source that is added automatically.\n# 2. Common sources, like JvmSource, which will collect low level state.\n# These can be added through configuration options and are then
  loaded\n# using reflection.\n#\n# A \"sink\" specifies where metrics are delivered to. Each instance can be\n# assigned one or more sinks.\n#\n# The sink|source field specifies whether the property relates to a sink or\n# source.\n#\n# The [name] field specifies the name of source or sink.\n#\n# The [options] field is the specific property of this source or sink. The\n# source or sink is responsible for parsing this property.\n#\n# Notes:\n# 1. To add a new sink, set the \"class\" option to a fully qualified class\n# name (see examples below).\n# 2. Some sinks involve a polling period. The minimum allowed polling period\n# is 1 second.\n# 3. Wild card properties can be overridden by more specific properties.\n# For example, master.sink.console.period takes precedence over\n# *.sink.console.period.\n# 4. A metrics specific configuration\n# \"spark.metrics.conf=${SPARK_HOME}/conf/metrics.properties\" should be\n# added to Java properties using -Dspark.metrics.conf=xxx if you want to\
 n# customize metrics system. You can also put the file in ${SPARK_HOME}/conf\n# and it will be loaded automatically.\n# 5. MetricsServlet is added by default as a sink in master, worker and client\n# driver, you can send http request \"/metrics/json\" to get a snapshot of all the\n# registered metrics in json format. For master, requests \"/metrics/master/json\" and\n# \"/metrics/applications/json\" can be sent seperately to get metrics snapshot of\n# instance master and applications. MetricsServlet may not be configured by self.\n#\n\n## List of available sinks and their properties.\n\n# org.apache.spark.metrics.sink.ConsoleSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n\n# org.apache.spark.metrics.sink.CSVSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n# directory /tmp Where to store CSV files\n\n# org.apache.spark.metrics.sink.GangliaSink\n# Name: Default: Description:\n# host N
 ONE Hostname or multicast group of Ganglia server\n# port NONE Port of Ganglia server(s)\n# period 10 Poll period\n# unit seconds Units of poll period\n# ttl 1 TTL of messages sent by Ganglia\n# mode multicast Ganglia network mode ('unicast' or 'multicast')\n\n# org.apache.spark.metrics.sink.JmxSink\n\n# org.apache.spark.metrics.sink.MetricsServlet\n# Name: Default: Description:\n# path VARIES* Path prefix from the web server root\n# sample false Whether to show entire set of samples for histograms ('false' or 'true')\n#\n# * Default path is /metrics/json for all instances except the master. The master has two paths:\n# /metrics/aplications/json # App information\n# /metrics/master/json # Master information\n\n# org.apache.spark.metrics.sink.GraphiteSink\n# Name: Default: Description:\n# host NONE Hostname of Graphite server\n# port NONE Port of Graphite server\n# period 10 Poll period\n# unit seconds Units of poll period\n# prefix EMPTY STRING Prefix to prepend to metric name\n\n##
  Examples\n# Enable JmxSink for all instances by class name\n#*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink\n\n# Enable ConsoleSink for all instances by class name\n#*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink\n\n# Polling period for ConsoleSink\n#*.sink.console.period=10\n\n#*.sink.console.unit=seconds\n\n# Master instance overlap polling period\n#master.sink.console.period=15\n\n#master.sink.console.unit=seconds\n\n# Enable CsvSink for all instances\n#*.sink.csv.class=org.apache.spark.metrics.sink.CsvSink\n\n# Polling period for CsvSink\n#*.sink.csv.period=1\n\n#*.sink.csv.unit=minutes\n\n# Polling directory for CsvSink\n#*.sink.csv.directory=/tmp/\n\n# Worker instance overlap polling period\n#worker.sink.csv.period=10\n\n#worker.sink.csv.unit=minutes\n\n# Enable jvm source for instance master, worker, driver and executor\n#master.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#worker.source.jvm.class=org.apache.spark.metrics.source.JvmSo
 urce\n\n#driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource"
+    },
+    "spark-metrics-properties": {
+      "content": "\n# syntax: [instance].sink|source.[name].[options]=[value]\n\n# This file configures Spark's internal metrics system. The metrics system is\n# divided into instances which correspond to internal components.\n# Each instance can be configured to report its metrics to one or more sinks.\n# Accepted values for [instance] are \"master\", \"worker\", \"executor\", \"driver\",\n# and \"applications\". A wild card \"*\" can be used as an instance name, in\n# which case all instances will inherit the supplied property.\n#\n# Within an instance, a \"source\" specifies a particular set of grouped metrics.\n# there are two kinds of sources:\n# 1. Spark internal sources, like MasterSource, WorkerSource, etc, which will\n# collect a Spark component's internal state. Each instance is paired with a\n# Spark source that is added automatically.\n# 2. Common sources, like JvmSource, which will collect low level state.\n# These can be added through configuration options and are then
  loaded\n# using reflection.\n#\n# A \"sink\" specifies where metrics are delivered to. Each instance can be\n# assigned one or more sinks.\n#\n# The sink|source field specifies whether the property relates to a sink or\n# source.\n#\n# The [name] field specifies the name of source or sink.\n#\n# The [options] field is the specific property of this source or sink. The\n# source or sink is responsible for parsing this property.\n#\n# Notes:\n# 1. To add a new sink, set the \"class\" option to a fully qualified class\n# name (see examples below).\n# 2. Some sinks involve a polling period. The minimum allowed polling period\n# is 1 second.\n# 3. Wild card properties can be overridden by more specific properties.\n# For example, master.sink.console.period takes precedence over\n# *.sink.console.period.\n# 4. A metrics specific configuration\n# \"spark.metrics.conf=${SPARK_HOME}/conf/metrics.properties\" should be\n# added to Java properties using -Dspark.metrics.conf=xxx if you want to\
 n# customize metrics system. You can also put the file in ${SPARK_HOME}/conf\n# and it will be loaded automatically.\n# 5. MetricsServlet is added by default as a sink in master, worker and client\n# driver, you can send http request \"/metrics/json\" to get a snapshot of all the\n# registered metrics in json format. For master, requests \"/metrics/master/json\" and\n# \"/metrics/applications/json\" can be sent seperately to get metrics snapshot of\n# instance master and applications. MetricsServlet may not be configured by self.\n#\n\n## List of available sinks and their properties.\n\n# org.apache.spark.metrics.sink.ConsoleSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n\n# org.apache.spark.metrics.sink.CSVSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n# directory /tmp Where to store CSV files\n\n# org.apache.spark.metrics.sink.GangliaSink\n# Name: Default: Description:\n# host N
 ONE Hostname or multicast group of Ganglia server\n# port NONE Port of Ganglia server(s)\n# period 10 Poll period\n# unit seconds Units of poll period\n# ttl 1 TTL of messages sent by Ganglia\n# mode multicast Ganglia network mode ('unicast' or 'multicast')\n\n# org.apache.spark.metrics.sink.JmxSink\n\n# org.apache.spark.metrics.sink.MetricsServlet\n# Name: Default: Description:\n# path VARIES* Path prefix from the web server root\n# sample false Whether to show entire set of samples for histograms ('false' or 'true')\n#\n# * Default path is /metrics/json for all instances except the master. The master has two paths:\n# /metrics/aplications/json # App information\n# /metrics/master/json # Master information\n\n# org.apache.spark.metrics.sink.GraphiteSink\n# Name: Default: Description:\n# host NONE Hostname of Graphite server\n# port NONE Port of Graphite server\n# period 10 Poll period\n# unit seconds Units of poll period\n# prefix EMPTY STRING Prefix to prepend to metric name\n\n##
  Examples\n# Enable JmxSink for all instances by class name\n#*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink\n\n# Enable ConsoleSink for all instances by class name\n#*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink\n\n# Polling period for ConsoleSink\n#*.sink.console.period=10\n\n#*.sink.console.unit=seconds\n\n# Master instance overlap polling period\n#master.sink.console.period=15\n\n#master.sink.console.unit=seconds\n\n# Enable CsvSink for all instances\n#*.sink.csv.class=org.apache.spark.metrics.sink.CsvSink\n\n# Polling period for CsvSink\n#*.sink.csv.period=1\n\n#*.sink.csv.unit=minutes\n\n# Polling directory for CsvSink\n#*.sink.csv.directory=/tmp/\n\n# Worker instance overlap polling period\n#worker.sink.csv.period=10\n\n#worker.sink.csv.unit=minutes\n\n# Enable jvm source for instance master, worker, driver and executor\n#master.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#worker.source.jvm.class=org.apache.spark.metrics.source.JvmSo
 urce\n\n#driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource"
+    },
+    "livy-log4j-properties": {
+      "content": "\n            # Set everything to be logged to the console\n            log4j.rootCategory=INFO, console\n            log4j.appender.console=org.apache.log4j.ConsoleAppender\n            log4j.appender.console.target=System.err\n            log4j.appender.console.layout=org.apache.log4j.PatternLayout\n            log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n            log4j.logger.org.eclipse.jetty=WARN"
+    },
+    "livy2-log4j-properties": {
+      "content": "\n            # Set everything to be logged to the console\n            log4j.rootCategory=INFO, console\n            log4j.appender.console=org.apache.log4j.ConsoleAppender\n            log4j.appender.console.target=System.err\n            log4j.appender.console.layout=org.apache.log4j.PatternLayout\n            log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n            log4j.logger.org.eclipse.jetty=WARN"
+    },
+    "livy-conf": {
+      "livy.server.port": "8998",
+      "livy.server.csrf_protection.enabled": "true",
+      "livy.environment": "production",
+      "livy.impersonation.enabled": "true",
+      "livy.server.session.timeout": "3600000"
+    },
+    "livy2-conf": {
+      "livy.server.port": "8999",
+      "livy.server.csrf_protection.enabled": "true",
+      "livy.environment": "production",
+      "livy.impersonation.enabled": "true",
+      "livy.server.session.timeout": "3600000"
+    },
+    "livy-spark-blacklist": {
+      "content": "\n            #\n            # Configuration override / blacklist. Defines a list of properties that users are not allowed\n            # to override when starting Spark sessions.\n            #\n            # This file takes a list of property names (one per line). Empty lines and lines starting with \"#\"\n            # are ignored.\n            #"
+    },
+    "livy2-spark-blacklist": {
+      "content": "\n            #\n            # Configuration override / blacklist. Defines a list of properties that users are not allowed\n            # to override when starting Spark sessions.\n            #\n            # This file takes a list of property names (one per line). Empty lines and lines starting with \"#\"\n            # are ignored.\n            #"
+    },
+    "livy-env": {
+      "livy_group": "livy",
+      "spark_home": "/usr/hdp/current/spark-client",
+      "content": "\n            #!/usr/bin/env bash\n\n            # - SPARK_HOME      Spark which you would like to use in livy\n            # - HADOOP_CONF_DIR Directory containing the Hadoop / YARN configuration to use.\n            # - LIVY_LOG_DIR    Where log files are stored.  (Default: ${LIVY_HOME}/logs)\n            # - LIVY_PID_DIR    Where the pid file is stored. (Default: /tmp)\n            # - LIVY_SERVER_JAVA_OPTS  Java Opts for running livy server (You can set jvm related setting here, like jvm memory/gc algorithm and etc.)\n        export SPARK_HOME=/usr/hdp/current/spark-client\n        export HADOOP_CONF_DIR=/etc/hadoop/conf\n        export LIVY_LOG_DIR={{livy_log_dir}}\n        export LIVY_PID_DIR={{livy_pid_dir}}\n        export LIVY_SERVER_JAVA_OPTS=\"-Xmx2g\"",
+      "livy_pid_dir": "/var/run/livy",
+      "livy_log_dir": "/var/log/livy",
+      "livy_user": "livy"
+    },
+    "livy2-env": {
+      "livy2_group": "livy",
+      "spark_home": "/usr/hdp/current/spark2-client",
+      "content": "\n            #!/usr/bin/env bash\n\n            # - SPARK_HOME      Spark which you would like to use in livy\n            # - HADOOP_CONF_DIR Directory containing the Hadoop / YARN configuration to use.\n            # - LIVY_LOG_DIR    Where log files are stored.  (Default: ${LIVY_HOME}/logs)\n            # - LIVY_PID_DIR    Where the pid file is stored. (Default: /tmp)\n            # - LIVY_SERVER_JAVA_OPTS  Java Opts for running livy server (You can set jvm related setting here, like jvm memory/gc algorithm and etc.)\n        export SPARK_HOME=/usr/hdp/current/spark2-client\n        export HADOOP_CONF_DIR=/etc/hadoop/conf\n        export LIVY_LOG_DIR={{livy_log_dir}}\n        export LIVY_PID_DIR={{livy_pid_dir}}\n        export LIVY_SERVER_JAVA_OPTS=\"-Xmx2g\"",
+      "livy2_pid_dir": "/var/run/livy2",
+      "livy2_log_dir": "/var/log/livy2",
+      "livy2_user": "livy"
+    },
+    "infra-solr-env": {
+      "infra_solr_znode": "/infra-solr",
+      "infra_solr_user": "solr",
+      "infra_solr_client_log_dir" :"/var/log/ambari-infra-solr-client"
+    },
+    "infra-solr-client-log4j" : {
+      "infra_solr_client_log_dir" : "/var/log/ambari-infra-solr-client",
+      "content" : "content"
+    },
+    "application-properties": {
+      "atlas.cluster.name" : "c2",
+      "atlas.rest.address": "http://c6401.ambari.apache.org:21000",
+      "atlas.graph.storage.backend": "berkeleyje",
+      "atlas.graph.storage.directory": "data/berkley",
+      "atlas.graph.index.search.backend": "solr5",
+      "atlas.graph.index.search.directory": "data/es",
+      "atlas.graph.index.search.elasticsearch.client-only": false,
+      "atlas.graph.index.search.elasticsearch.local-mode": true,
+      "atlas.lineage.hive.table.type.name": "Table",
+      "atlas.lineage.hive.column.type.name": "Column",
+      "atlas.lineage.hive.table.column.name": "columns",
+      "atlas.lineage.hive.process.type.name": "LoadProcess",
+      "atlas.lineage.hive.process.inputs.name": "inputTables",
+      "atlas.lineage.hive.process.outputs.name": "outputTables",
+      "atlas.enableTLS": false,
+      "atlas.authentication.method": "simple",
+      "atlas.authentication.principal": "atlas",
+      "atlas.authentication.keytab": "/etc/security/keytabs/atlas.service.keytab",
+      "atlas.http.authentication.enabled": false,
+      "atlas.http.authentication.type": "simple",
+      "atlas.http.authentication.kerberos.principal": "HTTP/_HOST@EXAMPLE.COM",
+      "atlas.http.authentication.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab",
+      "atlas.http.authentication.kerberos.name.rules": "DEFAULT",
+      "atlas.server.http.port" : "21000",
+      "atlas.notification.embedded" : false,
+      "atlas.kafka.bootstrap.servers" : "c6401.ambari.apache.org:6667",
+      "atlas.kafka.data" : "/usr/hdp/current/atlas-server/data/kafka",
+      "atlas.kafka.entities.group.id" : "entities",
+      "atlas.kafka.hook.group.id" : "atlas",
+      "atlas.kafka.zookeeper.connect" : "c6401.ambari.apache.org:2181"
+    },
+    "atlas-env": {
+      "content": "# The java implementation to use. If JAVA_HOME is not found we expect java and jar to be in path\nexport JAVA_HOME={{java64_home}}\n# any additional java opts you want to set. This will apply to both client and server operations\nexport METADATA_OPTS={{metadata_opts}}\n# metadata configuration directory\nexport METADATA_CONF={{conf_dir}}\n# Where log files are stored. Defatult is logs directory under the base install location\nexport METADATA_LOG_DIR={{log_dir}}\n# additional classpath entries\nexport METADATACPPATH={{metadata_classpath}}\n# data dir\nexport METADATA_DATA_DIR={{data_dir}}\n# Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir.\nexport METADATA_EXPANDED_WEBAPP_DIR={{expanded_war_dir}}",
+      "metadata_user": "atlas",
+      "metadata_port": 21000,
+      "metadata_pid_dir": "/var/run/atlas",
+      "metadata_log_dir": "/var/log/atlas",
+      "metadata_data_dir": "/var/lib/atlas/data",
+      "metadata_expanded_war_dir": "/var/lib/atlas/server/webapp"
+    },
+    "atlas-log4j": {
+      "content": "<property><name>content</name><description>Custom log4j.properties</description><value></value></property>",
+      "atlas_log_level": "debug",
+      "audit_log_level": "OFF"
+    },
+    "atlas-solrconfig": {
+      "content": "<property><name>content</name><description>Custom solrconfig properties</description><value></value></property>"
+    },
+    "zeppelin-env": {
+      "zeppelin.server.kerberos.keytab": "",
+      "shiro_ini_content": "\n[users]\n# List of users with their password allowed to access Zeppelin.\n# To use a different strategy (LDAP / Database / ...) check the shiro doc at http://shiro.apache.org/configuration.html#Configuration-INISections\n#admin = password1\n#user1 = password2, role1, role2\n#user2 = password3, role3\n#user3 = password4, role2\n\n# Sample LDAP configuration, for user Authentication, currently tested for single Realm\n[main]\n#ldapRealm = org.apache.shiro.realm.ldap.JndiLdapRealm\n#ldapRealm.userDnTemplate = uid={0},cn=users,cn=accounts,dc=hortonworks,dc=com\n#ldapRealm.contextFactory.url = ldap://ldaphost:389\n#ldapRealm.contextFactory.authenticationMechanism = SIMPLE\n#sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager\n#securityManager.sessionManager = $sessionManager\n# 86,400,000 milliseconds = 24 hour\n#securityManager.sessionManager.globalSessionTimeout = 86400000\nshiro.loginUrl = /api/login\n\n[urls]\n# anon means the acce
 ss is anonymous.\n# authcBasic means Basic Auth Security\n# To enfore security, comment the line below and uncomment the next one\n/api/version = anon\n/** = anon\n#/** = authc",
+      "zeppelin.spark.jar.dir": "/apps/zeppelin",
+      "zeppelin.executor.mem": "512m",
+      "zeppelin_pid_dir": "/var/run/zeppelin",
+      "zeppelin.executor.instances": "2",
+      "log4j_properties_content": "\nlog4j.rootLogger = INFO, dailyfile\nlog4j.appender.stdout = org.apache.log4j.ConsoleAppender\nlog4j.appender.stdout.layout = org.apache.log4j.PatternLayout\nlog4j.appender.stdout.layout.ConversionPattern=%5p [%d] ({%t} %F[%M]:%L) - %m%n\nlog4j.appender.dailyfile.DatePattern=.yyyy-MM-dd\nlog4j.appender.dailyfile.Threshold = INFO\nlog4j.appender.dailyfile = org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.dailyfile.File = ${zeppelin.log.file}\nlog4j.appender.dailyfile.layout = org.apache.log4j.PatternLayout\nlog4j.appender.dailyfile.layout.ConversionPattern=%5p [%d] ({%t} %F[%M]:%L) - %m%n",
+      "zeppelin.server.kerberos.principal": "",
+      "zeppelin_user": "zeppelin",
+      "zeppelin_env_content": "\n# Spark master url. eg. spark://master_addr:7077. Leave empty if you want to use local mode\nexport MASTER=yarn-client\nexport SPARK_YARN_JAR={{spark_jar}}\n\n\n# Where log files are stored.  PWD by default.\nexport ZEPPELIN_LOG_DIR={{zeppelin_log_dir}}\n\n# The pid files are stored. /tmp by default.\nexport ZEPPELIN_PID_DIR={{zeppelin_pid_dir}}\n\n\nexport JAVA_HOME={{java64_home}}\n\n# Additional jvm options. for example, export ZEPPELIN_JAVA_OPTS=\"-Dspark.executor.memory=8g -Dspark.cores.max=16\"\nexport ZEPPELIN_JAVA_OPTS=\"-Dhdp.version={{full_stack_version}} -Dspark.executor.memory={{executor_mem}} -Dspark.executor.instances={{executor_instances}} -Dspark.yarn.queue={{spark_queue}}\"\n\n\n# Zeppelin jvm mem options Default -Xmx1024m -XX:MaxPermSize=512m\n# export ZEPPELIN_MEM\n\n# zeppelin interpreter process jvm mem options. Defualt = ZEPPELIN_MEM\n# export ZEPPELIN_INTP_MEM\n\n# zeppelin interpreter process jvm options. Default = ZEPPELIN_JA
 VA_OPTS\n# export ZEPPELIN_INTP_JAVA_OPTS\n\n# Where notebook saved\n# export ZEPPELIN_NOTEBOOK_DIR\n\n# Id of notebook to be displayed in homescreen. ex) 2A94M5J1Z\n# export ZEPPELIN_NOTEBOOK_HOMESCREEN\n\n# hide homescreen notebook from list when this value set to \"true\". default \"false\"\n# export ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE\n\n# Bucket where notebook saved\n# export ZEPPELIN_NOTEBOOK_S3_BUCKET\n\n# User in bucket where notebook saved. For example bucket/user/notebook/2A94M5J1Z/note.json\n# export ZEPPELIN_NOTEBOOK_S3_USER\n\n# A string representing this instance of zeppelin. $USER by default\n# export ZEPPELIN_IDENT_STRING\n\n# The scheduling priority for daemons. Defaults to 0.\n# export ZEPPELIN_NICENESS\n\n\n#### Spark interpreter configuration ####\n\n## Use provided spark installation ##\n## defining SPARK_HOME makes Zeppelin run spark interpreter process using spark-submit\n##\n# (required) When it is defined, load it instead of Zeppelin embedded Spark libraries\n
 export SPARK_HOME={{spark_home}}\n\n# (optional) extra options to pass to spark submit. eg) \"--driver-memory 512M --executor-memory 1G\".\n# export SPARK_SUBMIT_OPTIONS\n\n## Use embedded spark binaries ##\n## without SPARK_HOME defined, Zeppelin still able to run spark interpreter process using embedded spark binaries.\n## however, it is not encouraged when you can define SPARK_HOME\n##\n# Options read in YARN client mode\n# yarn-site.xml is located in configuration directory in HADOOP_CONF_DIR.\nexport HADOOP_CONF_DIR=/etc/hadoop/conf\n\n# Pyspark (supported with Spark 1.2.1 and above)\n# To configure pyspark, you need to set spark distribution's path to 'spark.home' property in Interpreter setting screen in Zeppelin GUI\n# path to the python command. must be the same path on the driver(Zeppelin) and all workers.\n# export PYSPARK_PYTHON\n\nexport PYTHONPATH=\"${SPARK_HOME}/python:${SPARK_HOME}/python/lib/py4j-0.8.2.1-src.zip\"\nexport SPARK_YARN_USER_ENV=\"PYTHONPATH=${PYTHONPAT
 H}\"\n\n## Spark interpreter options ##\n##\n# Use HiveContext instead of SQLContext if set true. true by default.\n# export ZEPPELIN_SPARK_USEHIVECONTEXT\n\n# Execute multiple SQL concurrently if set true. false by default.\n# export ZEPPELIN_SPARK_CONCURRENTSQL\n\n# Max number of SparkSQL result to display. 1000 by default.\n# export ZEPPELIN_SPARK_MAXRESULT",
+      "zeppelin_log_dir": "/var/log/zeppelin",
+      "zeppelin_group": "zeppelin"
+    },
+    "zeppelin-config": {
+      "zeppelin.server.port": "9995",
+      "zeppelin.server.ssl.port": "9995",
+      "zeppelin.ssl.truststore.password": "change me",
+      "zeppelin.interpreters": "org.apache.zeppelin.spark.SparkInterpreter,org.apache.zeppelin.spark.PySparkInterpreter,org.apache.zeppelin.spark.SparkSqlInterpreter,org.apache.zeppelin.spark.DepInterpreter,org.apache.zeppelin.markdown.Markdown,org.apache.zeppelin.angular.AngularInterpreter,org.apache.zeppelin.shell.ShellInterpreter,org.apache.zeppelin.jdbc.JDBCInterpreter,org.apache.zeppelin.phoenix.PhoenixInterpreter,org.apache.zeppelin.livy.LivySparkInterpreter,org.apache.zeppelin.livy.LivyPySparkInterpreter,org.apache.zeppelin.livy.LivySparkRInterpreter,org.apache.zeppelin.livy.LivySparkSQLInterpreter",
+      "zeppelin.interpreter.group.order": "spark,angular,jdbc,livy,md,sh",
+      "zeppelin.ssl.truststore.path": "conf/truststore",
+      "zeppelin.notebook.dir": "notebook",
+      "zeppelin.ssl.keystore.password": "change me",
+      "zeppelin.ssl.keystore.path": "conf/keystore",
+      "zeppelin.server.addr": "0.0.0.0",
+      "zeppelin.ssl.client.auth": "false",
+      "zeppelin.notebook.homescreen": " ",
+      "zeppelin.interpreter.dir": "interpreter",
+      "zeppelin.ssl.keystore.type": "JKS",
+      "zeppelin.notebook.s3.user": "user",
+      "zeppelin.ssl.key.manager.password": "change me",
+      "zeppelin.anonymous.allowed": "true",
+      "zeppelin.ssl.truststore.type": "JKS",
+      "zeppelin.ssl": "false",
+      "zeppelin.notebook.storage": "org.apache.zeppelin.notebook.repo.VFSNotebookRepo",
+      "zeppelin.websocket.max.text.message.size": "1024000",
+      "zeppelin.interpreter.connect.timeout": "30000",
+      "zeppelin.notebook.s3.bucket": "zeppelin",
+      "zeppelin.notebook.homescreen.hide": "false",
+      "zeppelin.server.allowed.origins": "*"
+    },
+    "zoo.cfg": {
+      "clientPort": "2181"
+    },
+    "ranger-hbase-plugin-properties": {
+      "ranger-hbase-plugin-enabled":"yes"
+    },
+    "ranger-hive-plugin-properties": {
+      "ranger-hive-plugin-enabled":"yes"
+    },
+    "ranger-env": {
+      "xml_configurations_supported" : "true"
+    },
+    "tagsync-application-properties": {
+      "atlas.kafka.hook.group.id": "atlas",
+      "atlas.kafka.zookeeper.connect": "os-mv-31-dev-4.novalocal:2181",
+      "atlas.kafka.acks": "1",
+      "atlas.kafka.entities.group.id": "ranger_entities_consumer",
+      "atlas.kafka.data": "/usr/hdp/current/atlas-server/data/kafka",
+      "atlas.kafka.bootstrap.servers": "localhost:2181",
+      "atlas.notification.embedded": "false"
+    },
+    "ranger-tagsync-site": {
+      "ranger.tagsync.sink.impl.class": "org.apache.ranger.tagsync.sink.tagadmin.TagAdminRESTSink",
+      "ranger.tagsync.atlasrestsource.endpoint": "",
+      "ranger.tagsync.tagadmin.rest.ssl.config.file": "/usr/hdp/current/ranger-tagsync/conf/mytruststore.jks",
+      "ranger.tagsync.logdir": "/var/log/ranger/tagsync",
+      "ranger.tagsync.filesource.filename": "/usr/hdp/current/ranger-tagsync/conf/etc/ranger/data/tags.json",
+      "ranger.tagsync.enabled": "true",
+      "ranger.tagsync.tagadmin.rest.url": "{{ranger_external_url}}",
+      "ranger.tagsync.atlasrestsource.download.interval": "",
+      "ranger.tagsync.filesource.modtime.check.interval": "60000",
+      "ranger.tagsync.tagadmin.password": "rangertagsync",
+      "ranger.tagsync.source.impl.class": "file",
+      "ranger.tagsync.source.atlas.custom.resource.mappers": "",
+      "ranger.tagsync.tagadmin.alias": "tagsync.tagadmin",
+      "ranger.tagsync.tagadmin.keystore": "/usr/hdp/current/ranger-tagsync/conf/rangertagsync.jceks",
+      "ranger.tagsync.atlas.to.service.mapping": ""
+    },
+    "druid-env": {
+      "druid_log_dir" : "/var/log/druid",
+      "druid_pid_dir" : "/var/run/druid",
+      "content" : "#!/bin/bash\n # Set DRUID specific environment variables here.\n# The java implementation to use\nexport JAVA_HOME={{java8_home}}\nexport PATH=$PATH:$JAVA_HOME/bin\nexport DRUID_PID_DIR={{druid_pid_dir}}\nexport DRUID_LOG_DIR={{druid_log_dir}}\nexport DRUID_CONF_DIR={{druid_conf_dir}}\nexport DRUID_LIB_DIR={{druid_home}}/lib",
+      "druid.coordinator.jvm.heap.memory" : 1024,
+      "druid.coordinator.jvm.direct.memory": 2048,
+      "druid.coordinator.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.broker.jvm.heap.memory" : 1024,
+      "druid.broker.jvm.direct.memory": 2048,
+      "druid.broker.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.middlemanager.jvm.heap.memory" : 1024,
+      "druid.middlemanager.jvm.direct.memory": 2048,
+      "druid.middlemanager.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.historical.jvm.heap.memory" : 1024,
+      "druid.historical.jvm.direct.memory": 2048,
+      "druid.historical.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.overlord.jvm.heap.memory" : 1024,
+      "druid.overlord.jvm.direct.memory": 2048,
+      "druid.overlord.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.router.jvm.heap.memory" : 1024,
+      "druid.router.jvm.direct.memory": 2048,
+      "druid.router.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid_user": "druid"
+    },
+    "druid-common" : {
+      "druid.metadata.storage.type" : "mysql",
+      "druid.metadata.storage.connector.connectURI" : "jdbc:mysql://my-db-host:3306/druid?createDatabaseIfNotExist=true",
+      "druid.metadata.storage.connector.user" : "druid",
+      "druid.metadata.storage.connector.password" : "diurd",
+      "druid.storage.type" : "hdfs",
+      "druid.storage.storageDirectory" : "/user/druid/data",
+      "druid.indexer.logs.type": "hdfs",
+      "druid.indexer.logs.directory": "/user/druid/logs",
+      "druid.extensions.pullList": "[\"custom-druid-extension\"]",
+      "druid.extensions.repositoryList": "[\"http://custom-mvn-repo/public/release\"]",
+      "druid.extensions.loadList": "[\"mysql-metadata-storage\", \"druid-datasketches\"]",
+      "druid.security.extensions.loadList": "[\"druid-kerberos\"]"
+    },
+    "druid-historical" : {
+      "druid.segmentCache.infoDir" : "/apps/druid/segmentCache/info_dir",
+      "druid.segmentCache.locations" :"[{\"path\":\"/apps/druid/segmentCache\",\"maxSize\":300000000000}]"
+    },
+    "druid-coordinator" : {
+      "druid.service" : "druid/coordinator"
+    },
+    "druid-overlord" : {
+      "druid.service" : "druid/overlord"
+    },
+    "druid-broker" : {
+      "druid.service" : "druid/broker"
+    },
+    "druid-middlemanager" : {
+      "druid.service" : "druid/middlemanager",
+      "druid.indexer.task.hadoopWorkingPath" : "/tmp/druid-indexing",
+      "druid.indexer.task.baseTaskDir" : "/apps/druid/tasks"
+    },
+    "druid-router" : {
+      "druid.service" : "druid/router"
+    },
+    "druid-log4j" : {
+      "content" : "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!--\n  ~ Licensed to the Apache Software Foundation (ASF) under one\n  ~ or more contributor license agreements.  See the NOTICE file\n  ~ distributed with this work for additional information\n  ~ regarding copyright ownership.  The ASF licenses this file\n  ~ to you under the Apache License, Version 2.0 (the\n  ~ \"License\"); you may not use this file except in compliance\n  ~ with the License.  You may obtain a copy of the License at\n  ~\n  ~     http://www.apache.org/licenses/LICENSE-2.0\n  ~\n  ~ Unless required by applicable law or agreed to in writing, software\n  ~ distributed under the License is distributed on an \"AS IS\" BASIS,\n  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  ~ See the License for the specific language governing permissions and\n  ~ limitations under the License.\n  -->\n    <Configuration>\n        <Appenders>\n            <Console name=\"Console\
 " target=\"SYSTEM_OUT\">\n                <PatternLayout pattern=\"%d{ISO8601} %p [%t] %c - %m%n\"/>\n            </Console>\n        </Appenders>\n        <Loggers>\n            <Logger name=\"com.metamx\" level=\"{{metamx_log_level}}\"/>\n            <Logger name=\"io.druid\" level=\"{{druid_log_level}}\"/>\n            <Root level=\"{{root_log_level}}\">\n                <AppenderRef ref=\"Console\"/>\n            </Root>\n        </Loggers>\n    </Configuration>\n      ]]>\n"
+    },
+    "druid-logrotate" : {
+      "content" : "<![CDATA[\n    {{druid_log_dir}}/*.log {\n        copytruncate\n        rotate 7\n        daily\n        nocompress\n        missingok\n        notifempty\n        create 660 druid users\n        dateext\n        dateformat -%Y-%m-%d-%s\n        }\n      ]]>\n"
+    },
+    "druid-superset" : {
+      "SUPERSET_DATABASE_TYPE" : "sqllite"
+    }
+  },
+  "configuration_attributes": {
+    "sqoop-site": {},
+    "yarn-site": {
+      "final": {
+        "yarn.nodemanager.disk-health-checker.min-healthy-disks": "true",
+        "yarn.nodemanager.container-executor.class": "true",
+        "yarn.nodemanager.local-dirs": "true"
+      }
+    },
+    "yarn-site": {
+      "final": {
+        "is_supported_yarn_ranger": "true"
+      }
+    },
+    "hdfs-site": {
+      "final": {
+        "dfs.web.ugi": "true",
+        "dfs.support.append": "true",
+        "dfs.cluster.administrators": "true"
+      }
+    },
+    "core-site": {
+      "final": {
+        "hadoop.proxyuser.hive.groups": "true",
+        "webinterface.private.actions": "true",
+        "hadoop.proxyuser.oozie.hosts": "true"
+      }
+    },
+    "knox-env": {},
+    "gateway-site": {},
+    "users-ldif": {},
+    "kafka-env": {},
+    "kafka-log4j": {},
+    "kafka-broker": {},
+    "metadata-env": {},
+    "atlas-hbase-site": {},
+    "tagsync-application-properties": {},
+    "ranger-tagsync-site": {}
+  },
+  "configurationTags": {
+    "slider-client": {
+      "tag": "version1"
+    },
+    "slider-log4j": {
+      "tag": "version1"
+    },
+    "slider-env": {
+      "tag": "version1"
+    },
+    "core-site": {
+      "tag": "version1"
+    },
+    "hdfs-site": {
+      "tag": "version1"
+    },
+    "yarn-site": {
+      "tag": "version1"
+    },
+    "gateway-site": {
+      "tag": "version1"
+    },
+    "topology": {
+      "tag": "version1"
+    },
+    "users-ldif": {
+      "tag": "version1"
+    },
+    "kafka-env": {
+      "tag": "version1"
+    },
+    "kafka-log4j": {
+      "tag": "version1"
+    },
+    "kafka-broker": {
+      "tag": "version1"
+    },
+    "metadata-env": {
+      "tag": "version1"
+    },
+    "tagsync-application-properties": {
+      "tag": "version1"
+    },
+    "ranger-tagsync-site": {
+      "tag": "version1"
+    }
+  },
+  "commandId": "7-1",
+  "clusterHostInfo": {
+    "ambari_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "all_ping_ports": [
+      "8670",
+      "8670"
+    ],
+    "rm_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "all_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "knox_gateway_hosts": [
+      "jaimin-knox-1.c.pramod-thangali.internal"
+    ],
+    "kafka_broker_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "infra_solr_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "zookeeper_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_tagsync_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "atlas_server_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "zeppelin_master_hosts": [
+      "c6401.ambari.apache.org"
+    ]
+  }
+}


[3/8] ambari git commit: AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/configs/ranger_kms_unsupported_db_flavor.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/configs/ranger_kms_unsupported_db_flavor.json b/ambari-server/src/test/python/common-services/configs/ranger_kms_unsupported_db_flavor.json
new file mode 100644
index 0000000..22a3a44
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/configs/ranger_kms_unsupported_db_flavor.json
@@ -0,0 +1,802 @@
+{
+  "localComponents": [
+    "SECONDARY_NAMENODE",
+    "HDFS_CLIENT",
+    "DATANODE",
+    "NAMENODE",
+    "ZOOKEEPER_SERVER",
+    "ZOOKEEPER_CLIENT",
+    "RANGER_USERSYNC",
+    "RANGER_ADMIN",
+    "RANGER_TAGSYNC",
+    "RANGER_KMS_SERVER"
+  ],
+  "configuration_attributes": {
+    "ranger-hdfs-audit": {},
+    "ssl-client": {},
+    "ranger-admin-site": {},
+    "ranger-hdfs-policymgr-ssl": {},
+    "tagsync-application-properties": {},
+    "ranger-env": {},
+    "usersync-log4j": {},
+    "admin-properties": {},
+    "ranger-ugsync-site": {},
+    "hdfs-site": {
+      "final": {
+        "dfs.datanode.data.dir": "true",
+        "dfs.namenode.http-address": "true",
+        "dfs.datanode.failed.volumes.tolerated": "true",
+        "dfs.support.append": "true",
+        "dfs.namenode.name.dir": "true",
+        "dfs.webhdfs.enabled": "true"
+      }
+    },
+    "ranger-tagsync-site": {},
+    "zoo.cfg": {},
+    "hadoop-policy": {},
+    "hdfs-log4j": {},
+    "ranger-hdfs-plugin-properties": {},
+    "core-site": {
+      "final": {
+        "fs.defaultFS": "true"
+      }
+    },
+    "hadoop-env": {},
+    "zookeeper-log4j": {},
+    "ssl-server": {},
+    "ranger-site": {},
+    "admin-log4j": {},
+    "tagsync-log4j": {},
+    "ranger-hdfs-security": {},
+    "usersync-properties": {},
+    "zookeeper-env": {},
+    "cluster-env": {},
+    "dbks-site": {},
+    "kms-env": {},
+    "kms-log4j": {},
+    "kms-properties": {},
+    "kms-site": {},
+    "ranger-kms-security": {},
+    "ranger-kms-site": {},
+    "ranger-kms-policymgr-ssl": {},
+    "ranger-kms-audit": {}
+  },
+  "public_hostname": "c6401.ambari.apache.org",
+  "commandId": "9-1",
+  "hostname": "c6401.ambari.apache.org",
+  "kerberosCommandParams": [],
+  "serviceName": "RANGER_KMS",
+  "role": "RANGER_KMS_SERVER",
+  "forceRefreshConfigTagsBeforeExecution": [],
+  "requestId": 9,
+  "agentConfigParams": {
+    "agent": {
+      "parallel_execution": 0
+    }
+  },
+  "clusterName": "c1",
+  "commandType": "EXECUTION_COMMAND",
+  "taskId": 64,
+  "roleParams": {},
+  "configurationTags": {
+    "ranger-hdfs-audit": {
+      "tag": "version1466427664617"
+    },
+    "ssl-client": {
+      "tag": "version1"
+    },
+    "ranger-admin-site": {
+      "tag": "version1466427664621"
+    },
+    "ranger-hdfs-policymgr-ssl": {
+      "tag": "version1466427664617"
+    },
+    "tagsync-application-properties": {
+      "tag": "version1466427664621"
+    },
+    "ranger-env": {
+      "tag": "version1466427664621"
+    },
+    "usersync-log4j": {
+      "tag": "version1466427664621"
+    },
+    "admin-properties": {
+      "tag": "version1466427664621"
+    },
+    "ranger-ugsync-site": {
+      "tag": "version1466427664621"
+    },
+    "hdfs-site": {
+      "tag": "version1"
+    },
+    "ranger-tagsync-site": {
+      "tag": "version1466427664621"
+    },
+    "zoo.cfg": {
+      "tag": "version1"
+    },
+    "hadoop-policy": {
+      "tag": "version1"
+    },
+    "hdfs-log4j": {
+      "tag": "version1"
+    },
+    "ranger-hdfs-plugin-properties": {
+      "tag": "version1466427664617"
+    },
+    "core-site": {
+      "tag": "version1"
+    },
+    "hadoop-env": {
+      "tag": "version1"
+    },
+    "zookeeper-log4j": {
+      "tag": "version1"
+    },
+    "ssl-server": {
+      "tag": "version1"
+    },
+    "ranger-site": {
+      "tag": "version1466427664621"
+    },
+    "admin-log4j": {
+      "tag": "version1466427664621"
+    },
+    "tagsync-log4j": {
+      "tag": "version1466427664621"
+    },
+    "ranger-hdfs-security": {
+      "tag": "version1466427664617"
+    },
+    "usersync-properties": {
+      "tag": "version1466427664621"
+    },
+    "zookeeper-env": {
+      "tag": "version1"
+    },
+    "cluster-env": {
+      "tag": "version1"
+    },
+    "dbks-site": {
+      "tag": "version1"
+    },
+    "kms-env": {
+      "tag": "version1"
+    },
+    "kms-log4j": {
+      "tag": "version1"
+    },
+    "kms-properties": {
+      "tag": "version1"
+    },
+    "kms-site": {
+      "tag": "version1"
+    },
+    "ranger-kms-security": {
+      "tag": "version1"
+    },
+    "ranger-kms-site": {
+      "tag": "version1"
+    },
+    "ranger-kms-policymgr-ssl": {
+      "tag": "version1"
+    },
+    "ranger-kms-audit": {
+      "tag": "version1"
+    }
+  },
+  "roleCommand": "START",
+  "hostLevelParams": {
+    "agent_stack_retry_on_unavailability": "false",
+    "stack_name": "HDP",
+    "custom_mysql_jdbc_name": "mysql-connector-java.jar",
+    "previous_custom_mysql_jdbc_name": "mysql-connector-java-old.jar",
+    "host_sys_prepped": "false",
+    "ambari_db_rca_username": "mapred",
+    "mysql_jdbc_url": "http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar",
+    "agent_stack_retry_count": "5",
+    "stack_version": "2.5",
+    "jdk_name": "jdk-8u60-linux-x64.tar.gz",
+    "ambari_db_rca_driver": "org.postgresql.Driver",
+    "java_home": "/usr/jdk64/jdk1.7.0_45",
+    "repository_version_id": "1",
+    "jdk_location": "http://c6401.ambari.apache.org:8080/resources/",
+    "not_managed_hdfs_path_list": "[\"/tmp\"]",
+    "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca",
+    "java_version": "8",
+    "repo_info": "[{\"baseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.5.0.0-777\",\"osType\":\"redhat6\",\"repoId\":\"HDP-2.5\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/updates/2.5.0.0\",\"latestBaseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.5.0.0-776\",\"baseSaved\":true},{\"baseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"osType\":\"redhat6\",\"repoId\":\"HDP-UTILS-1.1.0.21\",\"repoName\":\"HDP-UTILS\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"latestBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"baseSaved\":true}]",
+    "package_list": "[{\"name\":\"ranger_${stack_version}-admin\",\"condition\":\"\",\"skipUpgrade\":false},{\"name\":\"ranger_${stack_version}-usersync\",\"condition\":\"\",\"skipUpgrade\":false},{\"name\":\"ranger_${stack_version}-tagsync\",\"condition\":\"should_install_ranger_tagsync\",\"skipUpgrade\":false},{\"name\":\"ambari-logsearch-solr-client\",\"condition\":\"should_install_logsearch_solr_client\",\"skipUpgrade\":false}]",
+    "db_name": "ambari",
+    "group_list": "[\"ranger\",\"hadoop\",\"users\"]",
+    "agentCacheDir": "/var/lib/ambari-agent/cache",
+    "ambari_db_rca_password": "mapred",
+    "jce_name": "UnlimitedJCEPolicyJDK7.zip",
+    "oracle_jdbc_url": "http://c6401.ambari.apache.org:8080/resources//ojdbc6.jar",
+    "db_driver_filename": "mysql-connector-java.jar",
+    "user_list": "[\"zookeeper\",\"ambari-qa\",\"ranger\",\"hdfs\"]",
+    "clientsToUpdateConfigs": "[\"*\"]"
+  },
+  "commandParams": {
+    "service_package_folder": "common-services/RANGER/0.4.0/package",
+    "script": "scripts/ranger_usersync.py",
+    "hooks_folder": "HDP/2.0.6/hooks",
+    "version": "2.5.0.0-777",
+    "max_duration_for_retries": "0",
+    "command_retry_enabled": "false",
+    "command_timeout": "600",
+    "script_type": "PYTHON"
+  },
+  "forceRefreshConfigTags": [],
+  "stageId": 1,
+  "clusterHostInfo": {
+    "snamenode_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "ambari_server_use_ssl": [
+      "false"
+    ],
+    "all_ping_ports": [
+      "8670"
+    ],
+    "ranger_tagsync_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_usersync_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "all_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "slave_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "namenode_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "ambari_server_port": [
+      "8080"
+    ],
+    "ranger_admin_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "all_racks": [
+      "/default-rack"
+    ],
+    "all_ipv4_ips": [
+      "172.22.125.4"
+    ],
+    "ambari_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "zookeeper_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_kms_server_hosts": [
+      "c6401.ambari.apache.org"
+    ]
+  },
+  "configurations": {
+    "ranger-hdfs-audit": {
+      "xasecure.audit.destination.solr.zookeepers": "c6401.ambari.apache.org:2181/ranger_audits",
+      "xasecure.audit.destination.solr.urls": "",
+      "xasecure.audit.destination.solr.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/solr/spool",
+      "xasecure.audit.destination.hdfs.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/hdfs/spool",
+      "xasecure.audit.destination.hdfs": "true",
+      "xasecure.audit.destination.solr": "true",
+      "xasecure.audit.provider.summary.enabled": "false",
+      "xasecure.audit.destination.hdfs.dir": "hdfs://c6401.ambari.apache.org:8020/ranger/audit",
+      "xasecure.audit.is.enabled": "true"
+    },
+    "ssl-client": {
+      "ssl.client.truststore.reload.interval": "10000",
+      "ssl.client.keystore.password": "bigdata",
+      "ssl.client.truststore.type": "jks",
+      "ssl.client.keystore.location": "/etc/security/clientKeys/keystore.jks",
+      "ssl.client.truststore.location": "/etc/security/clientKeys/all.jks",
+      "ssl.client.truststore.password": "bigdata",
+      "ssl.client.keystore.type": "jks"
+    },
+    "ranger-admin-site": {
+      "ranger.admin.kerberos.cookie.domain": "",
+      "ranger.kms.service.user.hdfs": "hdfs",
+      "ranger.spnego.kerberos.principal": "",
+      "ranger.ldap.ad.url": "{{ranger_ug_ldap_url}}",
+      "ranger.plugins.hive.serviceuser": "hive",
+      "ranger.lookup.kerberos.keytab": "",
+      "ranger.plugins.kms.serviceuser": "kms",
+      "ranger.service.https.attrib.ssl.enabled": "false",
+      "ranger.sso.browser.useragent": "Mozilla,chrome",
+      "ranger.jpa.jdbc.url": "jdbc:mysql://c6401.ambari.apache.org:3306/ranger01",
+      "ranger.plugins.hbase.serviceuser": "hbase",
+      "ranger.plugins.hdfs.serviceuser": "hdfs",
+      "ranger.ldap.group.searchbase": "{{ranger_ug_ldap_group_searchbase}}",
+      "ranger.ldap.user.dnpattern": "uid={0},ou=users,dc=xasecure,dc=net",
+      "ranger.plugins.knox.serviceuser": "knox",
+      "ranger.ldap.base.dn": "dc=example,dc=com",
+      "ranger.sso.publicKey": "",
+      "ranger.admin.kerberos.cookie.path": "/",
+      "ranger.service.https.attrib.clientAuth": "want",
+      "ranger.jpa.jdbc.user": "{{ranger_db_user}}",
+      "ranger.ldap.ad.user.searchfilter": "(sAMAccountName={0})",
+      "ranger.ldap.group.roleattribute": "cn",
+      "ranger.plugins.kafka.serviceuser": "kafka",
+      "ranger.admin.kerberos.principal": "",
+      "ranger.ldap.ad.bind.dn": "{{ranger_ug_ldap_bind_dn}}",
+      "ranger.credential.provider.path": "/etc/ranger/admin/rangeradmin.jceks",
+      "ranger.ldap.referral": "ignore",
+      "ranger.service.http.port": "6080",
+      "ranger.ldap.user.searchfilter": "(uid={0})",
+      "ranger.plugins.atlas.serviceuser": "atlas",
+      "ranger.truststore.password": "changeit",
+      "ranger.ldap.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}",
+      "ranger.audit.solr.password": "NONE",
+      "ranger.audit.solr.zookeepers": "c6401.ambari.apache.org:2181/ranger_audits",
+      "ranger.lookup.kerberos.principal": "",
+      "ranger.service.https.port": "6182",
+      "ranger.plugins.storm.serviceuser": "storm",
+      "ranger.externalurl": "{{ranger_external_url}}",
+      "ranger.truststore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks",
+      "ranger.kms.service.user.hive": "",
+      "ranger.https.attrib.keystore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks",
+      "ranger.jpa.jdbc.dialect": "{{jdbc_dialect}}",
+      "ranger.service.host": "{{ranger_host}}",
+      "ranger.service.https.attrib.keystore.keyalias": "rangeradmin",
+      "ranger.service.https.attrib.keystore.pass": "xasecure",
+      "ranger.unixauth.remote.login.enabled": "true",
+      "ranger.jpa.jdbc.credential.alias": "rangeradmin",
+      "ranger.ldap.ad.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}",
+      "ranger.audit.solr.username": "ranger_solr",
+      "ranger.sso.enabled": "false",
+      "ranger.audit.solr.urls": "",
+      "ranger.ldap.ad.domain": "",
+      "ranger.plugins.yarn.serviceuser": "yarn",
+      "ranger.audit.source.type": "solr",
+      "ranger.ldap.bind.dn": "{{ranger_ug_ldap_bind_dn}}",
+      "ranger.ldap.url": "{{ranger_ug_ldap_url}}",
+      "ranger.authentication.method": "UNIX",
+      "ranger.service.http.enabled": "true",
+      "ranger.ldap.group.searchfilter": "{{ranger_ug_ldap_group_searchfilter}}",
+      "ranger.ldap.ad.referral": "ignore",
+      "ranger.ldap.ad.base.dn": "dc=example,dc=com",
+      "ranger.jpa.jdbc.password": "_",
+      "ranger.spnego.kerberos.keytab": "",
+      "ranger.sso.providerurl": "",
+      "ranger.unixauth.service.hostname": "{{ugsync_host}}",
+      "ranger.admin.kerberos.keytab": "",
+      "ranger.admin.kerberos.token.valid.seconds": "30",
+      "ranger.jpa.jdbc.driver": "com.mysql.jdbc.Driver",
+      "ranger.unixauth.service.port": "5151"
+    },
+    "ranger-hdfs-policymgr-ssl": {
+      "xasecure.policymgr.clientssl.keystore": "/usr/hdp/current/hadoop-client/conf/ranger-plugin-keystore.jks",
+      "xasecure.policymgr.clientssl.truststore.password": "changeit",
+      "xasecure.policymgr.clientssl.keystore.credential.file": "jceks://file{{credential_file}}",
+      "xasecure.policymgr.clientssl.truststore": "/usr/hdp/current/hadoop-client/conf/ranger-plugin-truststore.jks",
+      "xasecure.policymgr.clientssl.truststore.credential.file": "jceks://file{{credential_file}}",
+      "xasecure.policymgr.clientssl.keystore.password": "myKeyFilePassword"
+    },
+    "tagsync-application-properties": {
+      "atlas.kafka.entities.group.id": "ranger_entities_consumer",
+      "atlas.kafka.zookeeper.connect": "c6401.ambari.apache.org:2181",
+      "atlas.kafka.bootstrap.servers": "localhost:6667"
+    },
+    "ranger-env": {
+      "ranger_solr_shards": "1",
+      "ranger_solr_config_set": "ranger_audits",
+      "ranger_user": "ranger",
+      "xml_configurations_supported": "true",
+      "ranger-atlas-plugin-enabled": "No",
+      "ranger-hbase-plugin-enabled": "No",
+      "ranger-yarn-plugin-enabled": "No",
+      "bind_anonymous": "false",
+      "ranger_admin_username": "amb_ranger_admin",
+      "admin_password": "admin",
+      "is_solrCloud_enabled": "true",
+      "ranger-storm-plugin-enabled": "No",
+      "ranger-hdfs-plugin-enabled": "No",
+      "ranger_group": "ranger",
+      "ranger-knox-plugin-enabled": "No",
+      "ranger_admin_log_dir": "/var/log/ranger/admin",
+      "ranger-kafka-plugin-enabled": "No",
+      "ranger_privelege_user_jdbc_url": "jdbc:mysql://c6401.ambari.apache.org:3306",
+      "ranger-hive-plugin-enabled": "No",
+      "xasecure.audit.destination.solr": "true",
+      "ranger_pid_dir": "/var/run/ranger",
+      "xasecure.audit.destination.hdfs": "true",
+      "admin_username": "admin",
+      "xasecure.audit.destination.hdfs.dir": "hdfs://c6401.ambari.apache.org:8020/ranger/audit",
+      "create_db_dbuser": "true",
+      "ranger_solr_collection_name": "ranger_audits",
+      "ranger_admin_password": "P1!qLEQwP24KVlWY",
+      "ranger_usersync_log_dir": "/var/log/ranger/usersync"
+    },
+    "usersync-log4j": {
+      "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nlog4j.rootLogger = info,logFile\n\n# logFile\nlog4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.logFile.file=${logdir}/usersync.log\nl
 og4j.appender.logFile.datePattern='.'yyyy-MM-dd\nlog4j.appender.logFile.layout=org.apache.log4j.PatternLayout\nlog4j.appender.logFile.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %m%n\n\n# console\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.Target=System.out\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %m%n"
+    },
+    "admin-properties": {
+      "db_user": "rangeradmin01",
+      "DB_FLAVOR": "MYSQL",
+      "db_password": "rangeradmin01",
+      "db_root_user": "root",
+      "policymgr_external_url": "http://c6401.ambari.apache.org:6080",
+      "db_name": "ranger01",
+      "db_host": "c6401.ambari.apache.org",
+      "db_root_password": "vagrant",
+      "SQL_CONNECTOR_JAR": "{{driver_curl_target}}"
+    },
+    "ranger-ugsync-site": {
+      "ranger.usersync.ldap.binddn": "",
+      "ranger.usersync.policymgr.username": "rangerusersync",
+      "ranger.usersync.policymanager.mockrun": "false",
+      "ranger.usersync.group.searchbase": "",
+      "ranger.usersync.ldap.bindalias": "testldapalias",
+      "ranger.usersync.truststore.file": "/usr/hdp/current/ranger-usersync/conf/mytruststore.jks",
+      "ranger.usersync.port": "5151",
+      "ranger.usersync.pagedresultssize": "500",
+      "ranger.usersync.group.memberattributename": "",
+      "ranger.usersync.kerberos.principal": "",
+      "ranger.usersync.source.impl.class": "org.apache.ranger.unixusersync.process.UnixUserGroupBuilder",
+      "ranger.usersync.ldap.referral": "ignore",
+      "ranger.usersync.group.searchfilter": "",
+      "ranger.usersync.ldap.user.objectclass": "person",
+      "ranger.usersync.logdir": "{{usersync_log_dir}}",
+      "ranger.usersync.ldap.user.searchfilter": "",
+      "ranger.usersync.ldap.groupname.caseconversion": "none",
+      "ranger.usersync.ldap.ldapbindpassword": "",
+      "ranger.usersync.unix.minUserId": "500",
+      "ranger.usersync.policymanager.maxrecordsperapicall": "1000",
+      "ranger.usersync.group.nameattribute": "",
+      "ranger.usersync.policymgr.alias": "ranger.usersync.policymgr.password",
+      "ranger.usersync.keystore.file": "/usr/hdp/current/ranger-usersync/conf/unixauthservice.jks",
+      "ranger.usersync.user.searchenabled": "false",
+      "ranger.usersync.group.usermapsyncenabled": "true",
+      "ranger.usersync.ldap.bindkeystore": "",
+      "ranger.usersync.ldap.user.groupnameattribute": "memberof, ismemberof",
+      "ranger.usersync.kerberos.keytab": "",
+      "ranger.usersync.passwordvalidator.path": "./native/credValidator.uexe",
+      "ranger.usersync.group.objectclass": "",
+      "ranger.usersync.ldap.user.searchscope": "sub",
+      "ranger.usersync.unix.password.file": "/etc/passwd",
+      "ranger.usersync.ldap.user.nameattribute": "",
+      "ranger.usersync.pagedresultsenabled": "true",
+      "ranger.usersync.policymanager.baseURL": "{{ranger_external_url}}",
+      "ranger.usersync.group.search.first.enabled": "false",
+      "ranger.usersync.group.searchenabled": "false",
+      "ranger.usersync.sink.impl.class": "org.apache.ranger.unixusersync.process.PolicyMgrUserGroupBuilder",
+      "ranger.usersync.ssl": "true",
+      "ranger.usersync.ldap.url": "",
+      "ranger.usersync.ldap.searchBase": "dc=hadoop,dc=apache,dc=org",
+      "ranger.usersync.policymgr.keystore": "/usr/hdp/current/ranger-usersync/conf/ugsync.jceks",
+      "ranger.usersync.ldap.user.searchbase": "",
+      "ranger.usersync.ldap.username.caseconversion": "none",
+      "ranger.usersync.credstore.filename": "/usr/hdp/current/ranger-usersync/conf/ugsync.jceks",
+      "ranger.usersync.keystore.password": "UnIx529p",
+      "ranger.usersync.unix.group.file": "/etc/group",
+      "ranger.usersync.filesource.file": "/tmp/usergroup.txt",
+      "ranger.usersync.group.searchscope": "",
+      "ranger.usersync.truststore.password": "changeit",
+      "ranger.usersync.enabled": "true",
+      "ranger.usersync.sleeptimeinmillisbetweensynccycle": "60000",
+      "ranger.usersync.filesource.text.delimiter": ","
+    },
+    "hdfs-site": {
+      "dfs.namenode.checkpoint.period": "21600",
+      "dfs.namenode.avoid.write.stale.datanode": "true",
+      "dfs.namenode.startup.delay.block.deletion.sec": "3600",
+      "dfs.namenode.checkpoint.txns": "1000000",
+      "dfs.content-summary.limit": "5000",
+      "dfs.support.append": "true",
+      "dfs.datanode.address": "0.0.0.0:50010",
+      "dfs.cluster.administrators": " hdfs",
+      "dfs.namenode.audit.log.async": "true",
+      "dfs.datanode.balance.bandwidthPerSec": "6250000",
+      "dfs.namenode.safemode.threshold-pct": "1",
+      "dfs.namenode.checkpoint.edits.dir": "${dfs.namenode.checkpoint.dir}",
+      "dfs.namenode.rpc-address": "c6401.ambari.apache.org:8020",
+      "dfs.permissions.enabled": "true",
+      "dfs.client.read.shortcircuit": "true",
+      "dfs.https.port": "50470",
+      "dfs.namenode.https-address": "c6401.ambari.apache.org:50470",
+      "nfs.file.dump.dir": "/tmp/.hdfs-nfs",
+      "dfs.blocksize": "134217728",
+      "dfs.blockreport.initialDelay": "120",
+      "dfs.journalnode.edits.dir": "/hadoop/hdfs/journalnode",
+      "dfs.namenode.fslock.fair": "false",
+      "dfs.datanode.max.transfer.threads": "4096",
+      "dfs.heartbeat.interval": "3",
+      "dfs.replication": "3",
+      "dfs.namenode.handler.count": "50",
+      "dfs.namenode.checkpoint.dir": "/grid/0/hadoop/hdfs/namesecondary",
+      "fs.permissions.umask-mode": "022",
+      "dfs.namenode.stale.datanode.interval": "30000",
+      "dfs.datanode.ipc.address": "0.0.0.0:8010",
+      "dfs.datanode.failed.volumes.tolerated": "0",
+      "dfs.datanode.data.dir": "/grid/0/hadoop/hdfs/data",
+      "dfs.namenode.http-address": "c6401.ambari.apache.org:50070",
+      "dfs.webhdfs.enabled": "true",
+      "dfs.encrypt.data.transfer.cipher.suites": "AES/CTR/NoPadding",
+      "dfs.namenode.accesstime.precision": "0",
+      "dfs.datanode.https.address": "0.0.0.0:50475",
+      "dfs.namenode.write.stale.datanode.ratio": "1.0f",
+      "dfs.namenode.secondary.http-address": "c6401.ambari.apache.org:50090",
+      "nfs.exports.allowed.hosts": "* rw",
+      "dfs.datanode.http.address": "0.0.0.0:50075",
+      "dfs.datanode.du.reserved": "33011188224",
+      "dfs.client.read.shortcircuit.streams.cache.size": "4096",
+      "dfs.http.policy": "HTTP_ONLY",
+      "dfs.block.access.token.enable": "true",
+      "dfs.client.retry.policy.enabled": "false",
+      "dfs.namenode.name.dir.restore": "true",
+      "dfs.permissions.superusergroup": "hdfs",
+      "dfs.journalnode.https-address": "0.0.0.0:8481",
+      "dfs.journalnode.http-address": "0.0.0.0:8480",
+      "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket",
+      "dfs.namenode.avoid.read.stale.datanode": "true",
+      "dfs.hosts.exclude": "/etc/hadoop/conf/dfs.exclude",
+      "dfs.datanode.data.dir.perm": "750",
+      "dfs.encryption.key.provider.uri": "",
+      "dfs.replication.max": "50",
+      "dfs.namenode.name.dir": "/grid/0/hadoop/hdfs/namenode"
+    },
+    "ranger-tagsync-site": {
+      "ranger.tagsync.atlas.to.ranger.service.mapping": "",
+      "ranger.tagsync.dest.ranger.ssl.config.filename": "/usr/hdp/current/ranger-tagsync/conf/mytruststore.jks",
+      "ranger.tagsync.source.file.check.interval.millis": "",
+      "ranger.tagsync.logdir": "/var/log/ranger/tagsync",
+      "ranger.tagsync.source.atlasrest.download.interval.millis": "",
+      "ranger.tagsync.keystore.filename": "/usr/hdp/current/ranger-tagsync/conf/rangertagsync.jceks",
+      "ranger.tagsync.source.atlasrest.endpoint": "",
+      "ranger.tagsync.dest.ranger.username": "rangertagsync",
+      "ranger.tagsync.kerberos.principal": "",
+      "ranger.tagsync.dest.ranger.endpoint": "{{ranger_external_url}}",
+      "ranger.tagsync.atlas.custom.resource.mappers": "",
+      "ranger.tagsync.kerberos.keytab": "",
+      "ranger.tagsync.source.atlas": "false",
+      "ranger.tagsync.source.atlasrest": "false",
+      "ranger.tagsync.source.file": "false",
+      "ranger.tagsync.source.file.filename": ""
+    },
+    "zoo.cfg": {
+      "clientPort": "2181",
+      "autopurge.purgeInterval": "24",
+      "syncLimit": "5",
+      "dataDir": "/grid/0/hadoop/zookeeper",
+      "initLimit": "10",
+      "tickTime": "2000",
+      "autopurge.snapRetainCount": "30"
+    },
+    "hadoop-policy": {
+      "security.job.client.protocol.acl": "*",
+      "security.job.task.protocol.acl": "*",
+      "security.datanode.protocol.acl": "*",
+      "security.namenode.protocol.acl": "*",
+      "security.client.datanode.protocol.acl": "*",
+      "security.inter.tracker.protocol.acl": "*",
+      "security.refresh.usertogroups.mappings.protocol.acl": "hadoop",
+      "security.client.protocol.acl": "*",
+      "security.refresh.policy.protocol.acl": "hadoop",
+      "security.admin.operations.protocol.acl": "hadoop",
+      "security.inter.datanode.protocol.acl": "*"
+    },
+    "hdfs-log4j": {
+      "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#  http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n\n\n# Define some default values that can be overridden by system properties\n# To change daemon root logger use hadoop_root_logger in hadoop-env\nhadoop.root.logger=I
 NFO,console\nhadoop.log.dir=.\nhadoop.log.file=hadoop.log\n\n\n# Define the root logger to the system property \"hadoop.root.logger\".\nlog4j.rootLogger=${hadoop.root.logger}, EventCounter\n\n# Logging Threshold\nlog4j.threshhold=ALL\n\n#\n# Daily Rolling File Appender\n#\n\nlog4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFA.File=${hadoop.log.dir}/${hadoop.log.file}\n\n# Rollver at midnight\nlog4j.appender.DRFA.DatePattern=.yyyy-MM-dd\n\n# 30-day backup\n#log4j.appender.DRFA.MaxBackupIndex=30\nlog4j.appender.DRFA.layout=org.apache.log4j.PatternLayout\n\n# Pattern format: Date LogLevel LoggerName LogMessage\nlog4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\n# Debugging Pattern format\n#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n\n\n\n#\n# console\n# Add \"console\" to rootlogger above if you want to use this\n#\n\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.conso
 le.target=System.err\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n#\n# TaskLog Appender\n#\n\n#Default values\nhadoop.tasklog.taskid=null\nhadoop.tasklog.iscleanup=false\nhadoop.tasklog.noKeepSplits=4\nhadoop.tasklog.totalLogFileSize=100\nhadoop.tasklog.purgeLogSplits=true\nhadoop.tasklog.logsRetainHours=12\n\nlog4j.appender.TLA=org.apache.hadoop.mapred.TaskLogAppender\nlog4j.appender.TLA.taskId=${hadoop.tasklog.taskid}\nlog4j.appender.TLA.isCleanup=${hadoop.tasklog.iscleanup}\nlog4j.appender.TLA.totalLogFileSize=${hadoop.tasklog.totalLogFileSize}\n\nlog4j.appender.TLA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.TLA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\n\n#\n#Security audit appender\n#\nhadoop.security.logger=INFO,console\nhadoop.security.log.maxfilesize=256MB\nhadoop.security.log.maxbackupindex=20\nlog4j.category.SecurityLogger=${hadoop.security.logger}\nh
 adoop.security.log.file=SecurityAuth.audit\nlog4j.appender.DRFAS=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}\nlog4j.appender.DRFAS.layout=org.apache.log4j.PatternLayout\nlog4j.appender.DRFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\nlog4j.appender.DRFAS.DatePattern=.yyyy-MM-dd\n\nlog4j.appender.RFAS=org.apache.log4j.RollingFileAppender\nlog4j.appender.RFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}\nlog4j.appender.RFAS.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\nlog4j.appender.RFAS.MaxFileSize=${hadoop.security.log.maxfilesize}\nlog4j.appender.RFAS.MaxBackupIndex=${hadoop.security.log.maxbackupindex}\n\n#\n# hdfs audit logging\n#\nhdfs.audit.logger=INFO,console\nlog4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger}\nlog4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false\
 nlog4j.appender.DRFAAUDIT=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log\nlog4j.appender.DRFAAUDIT.layout=org.apache.log4j.PatternLayout\nlog4j.appender.DRFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.DRFAAUDIT.DatePattern=.yyyy-MM-dd\n\n#\n# NameNode metrics logging.\n# The default is to retain two namenode-metrics.log files up to 64MB each.\n#\nnamenode.metrics.logger=INFO,NullAppender\nlog4j.logger.NameNodeMetricsLog=${namenode.metrics.logger}\nlog4j.additivity.NameNodeMetricsLog=false\nlog4j.appender.NNMETRICSRFA=org.apache.log4j.RollingFileAppender\nlog4j.appender.NNMETRICSRFA.File=${hadoop.log.dir}/namenode-metrics.log\nlog4j.appender.NNMETRICSRFA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.NNMETRICSRFA.layout.ConversionPattern=%d{ISO8601} %m%n\nlog4j.appender.NNMETRICSRFA.MaxBackupIndex=1\nlog4j.appender.NNMETRICSRFA.MaxFileSize=64MB\n\n#\n# mapred audit logging\n#\nmapred.audit
 .logger=INFO,console\nlog4j.logger.org.apache.hadoop.mapred.AuditLogger=${mapred.audit.logger}\nlog4j.additivity.org.apache.hadoop.mapred.AuditLogger=false\nlog4j.appender.MRAUDIT=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.MRAUDIT.File=${hadoop.log.dir}/mapred-audit.log\nlog4j.appender.MRAUDIT.layout=org.apache.log4j.PatternLayout\nlog4j.appender.MRAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.MRAUDIT.DatePattern=.yyyy-MM-dd\n\n#\n# Rolling File Appender\n#\n\nlog4j.appender.RFA=org.apache.log4j.RollingFileAppender\nlog4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}\n\n# Logfile size and and 30-day backups\nlog4j.appender.RFA.MaxFileSize=256MB\nlog4j.appender.RFA.MaxBackupIndex=10\n\nlog4j.appender.RFA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n\nlog4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n\n\n\n# Custom Logging levels\n\n
 hadoop.metrics.log.level=INFO\n#log4j.logger.org.apache.hadoop.mapred.JobTracker=DEBUG\n#log4j.logger.org.apache.hadoop.mapred.TaskTracker=DEBUG\n#log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG\nlog4j.logger.org.apache.hadoop.metrics2=${hadoop.metrics.log.level}\n\n# Jets3t library\nlog4j.logger.org.jets3t.service.impl.rest.httpclient.RestS3Service=ERROR\n\n#\n# Null Appender\n# Trap security logger on the hadoop client side\n#\nlog4j.appender.NullAppender=org.apache.log4j.varia.NullAppender\n\n#\n# Event Counter Appender\n# Sends counts of logging messages at different severity levels to Hadoop Metrics.\n#\nlog4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter\n\n# Removes \"deprecated\" messages\nlog4j.logger.org.apache.hadoop.conf.Configuration.deprecation=WARN\n\n#\n# HDFS block state change log from block manager\n#\n# Uncomment the following to suppress normal block state change\n# messages from BlockManager in NameNode.\n#log4j.logger.BlockStateChange=W
 ARN"
+    },
+    "ranger-hdfs-plugin-properties": {
+      "hadoop.rpc.protection": "authentication",
+      "ranger-hdfs-plugin-enabled": "No",
+      "REPOSITORY_CONFIG_USERNAME": "hadoop",
+      "policy_user": "ambari-qa",
+      "common.name.for.certificate": "",
+      "REPOSITORY_CONFIG_PASSWORD": "hadoop"
+    },
+    "core-site": {
+      "hadoop.proxyuser.root.hosts": "*",
+      "io.serializations": "org.apache.hadoop.io.serializer.WritableSerialization",
+      "fs.trash.interval": "360",
+      "ha.failover-controller.active-standby-elector.zk.op.retries": "120",
+      "hadoop.http.authentication.simple.anonymous.allowed": "true",
+      "hadoop.security.authentication": "simple",
+      "hadoop.proxyuser.root.groups": "*",
+      "ipc.client.connection.maxidletime": "30000",
+      "hadoop.security.key.provider.path": "",
+      "mapreduce.jobtracker.webinterface.trusted": "false",
+      "hadoop.security.authorization": "false",
+      "net.topology.script.file.name": "/etc/hadoop/conf/topology_script.py",
+      "ipc.server.tcpnodelay": "true",
+      "ipc.client.connect.max.retries": "50",
+      "hadoop.security.auth_to_local": "DEFAULT",
+      "io.file.buffer.size": "131072",
+      "hadoop.proxyuser.hdfs.hosts": "*",
+      "hadoop.proxyuser.hdfs.groups": "*",
+      "ipc.client.idlethreshold": "8000",
+      "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020",
+      "io.compression.codecs": "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec"
+    },
+    "hadoop-env": {
+      "keyserver_port": "",
+      "proxyuser_group": "users",
+      "hdfs_user_nproc_limit": "65536",
+      "hdfs_log_dir_prefix": "/var/log/hadoop",
+      "hdfs_user_nofile_limit": "128000",
+      "hdfs_user": "hdfs",
+      "keyserver_host": " ",
+      "namenode_opt_maxnewsize": "128m",
+      "namenode_opt_maxpermsize": "256m",
+      "content": "\n# Set Hadoop-specific environment variables here.\n\n# The only required environment variable is JAVA_HOME.  All others are\n# optional.  When running a distributed configuration it is best to\n# set JAVA_HOME in this file, so that it is correctly defined on\n# remote nodes.\n\n# The java implementation to use.  Required.\nexport JAVA_HOME={{java_home}}\nexport HADOOP_HOME_WARN_SUPPRESS=1\n\n# Hadoop home directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hadoop Configuration Directory\n\n{# this is different for HDP1 #}\n# Path to jsvc required by secure HDP 2.0 datanode\nexport JSVC_HOME={{jsvc_path}}\n\n\n# The maximum amount of heap to use, in MB. Default is 1000.\nexport HADOOP_HEAPSIZE=\"{{hadoop_heapsize}}\"\n\nexport HADOOP_NAMENODE_INIT_HEAPSIZE=\"-Xms{{namenode_heapsize}}\"\n\n# Extra Java runtime options.  Empty by default.\nexport HADOOP_OPTS=\"-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}\"\n\n# Command specific options appended to H
 ADOOP_OPTS when specified\nHADOOP_JOBTRACKER_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{jtnode_opt_newsize}} -XX:MaxNewSize={{jtnode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xmx{{jtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}\"\n\nHADOOP_TASKTRACKER_OPTS=\"-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}\"\n\n{% if java_version < 8 %}\nSHARED_HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{na
 menode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT\"\nexport HADOOP_NAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-namenode/bin/kill-name-node\\\" -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 ${HADOOP_NAMENODE_OPTS}\"\nexport HADOOP_DATANODE_OPTS=\"-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -XX:PermSize=128m -XX:MaxPermSize=256m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtno
 de_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-secondarynamenode/bin/kill-secondary-name-node\\\" ${HADOOP_SECONDARYNAMENODE_OPTS}\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m -XX:MaxPermSize=512m $HADOOP_CLIENT_OPTS\"\n\n{% else %}\nSHARED_HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{namenode_h
 eapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT\"\nexport HADOOP_NAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-namenode/bin/kill-name-node\\\" -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 ${HADOOP_NAMENODE_OPTS}\"\nexport HADOOP_DATANODE_OPTS=\"-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtnode_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-secondarynamenode/bin/kill-secondary-name-node\\\" ${HADOOP_SECONDARYNAMENO
 DE_OPTS}\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n{% endif %}\n\nHADOOP_NFS3_OPTS=\"-Xmx{{nfsgateway_heapsize}}m -Dhadoop.security.logger=ERROR,DRFAS ${HADOOP_NFS3_OPTS}\"\nHADOOP_BALANCER_OPTS=\"-server -Xmx{{hadoop_heapsize}}m ${HADOOP_BALANCER_OPTS}\"\n\n\n# On secure datanodes, user to run the datanode as after dropping privileges\nexport HADOOP_SECURE_DN_USER=${HADOOP_SECURE_DN_USER:-{{hadoop_secure_dn_user}}}\n\n# Extra ssh options.  Empty by default.\nexport HADOOP_SSH_OPTS=\"-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR\"\n\n# Where log files are stored.  $HADOOP_HOME/logs by default.\nexport HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER\n\n# History server logs\nexport HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER\n\n# Where log files are stored in the secure data environment.\nexport HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SECURE_DN_USER
 \n\n# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.\n# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves\n\n# host:path where hadoop code should be rsync'd from.  Unset by default.\n# export HADOOP_MASTER=master:/home/$USER/src/hadoop\n\n# Seconds to sleep between slave commands.  Unset by default.  This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HADOOP_SLAVE_SLEEP=0.1\n\n# The directory where pid files are stored. /tmp by default.\nexport HADOOP_PID_DIR={{hadoop_pid_dir_prefix}}/$USER\nexport HADOOP_SECURE_DN_PID_DIR={{hadoop_pid_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# History server pid\nexport HADOOP_MAPRED_PID_DIR={{mapred_pid_dir_prefix}}/$USER\n\nYARN_RESOURCEMANAGER_OPTS=\"-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY\"\n\n# A string representing this instance of hadoop. $USER by default.\nexport HADOOP_IDENT_STRING=$USER\n\n# The scheduling pr
 iority for daemon processes.  See 'man nice'.\n\n# export HADOOP_NICENESS=10\n\n# Add database libraries\nJAVA_JDBC_LIBS=\"\"\nif [ -d \"/usr/share/java\" ]; then\n  for jarFile in `ls /usr/share/java | grep -E \"(mysql|ojdbc|postgresql|sqljdbc)\" 2>/dev/null`\n  do\n    JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\n  done\nfi\n\n# Add libraries to the hadoop classpath - some may not need a colon as they already include it\nexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}\n\n# Setting path to hdfs command line\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\n\n# Mostly required for hadoop 2.0\nexport JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}\n\nexport HADOOP_OPTS=\"-Dhdp.version=$HDP_VERSION $HADOOP_OPTS\"\n\n{% if is_datanode_max_locked_memory_set %}\n# Fix temporary bug, when ulimit from conf files is not picked up, without full relogin. \n# Makes sense to fix only when runing DN as root \nif [ \"$command\" == \"datanode\" ] && [ \"$EUID\" -eq 0 ] && [ -n \"$HADOOP_SECURE_
 DN_USER\" ]; then\n  ulimit -l {{datanode_max_locked_memory}}\nfi\n{% endif %}",
+      "namenode_heapsize": "1024m",
+      "namenode_opt_newsize": "128m",
+      "nfsgateway_heapsize": "1024",
+      "dtnode_heapsize": "1024m",
+      "hadoop_root_logger": "INFO,RFA",
+      "hadoop_heapsize": "1024",
+      "hadoop_pid_dir_prefix": "/var/run/hadoop",
+      "namenode_opt_permsize": "128m",
+      "hdfs_tmp_dir": "/tmp"
+    },
+    "zookeeper-log4j": {
+      "content": "\n#\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#   http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n#\n#\n\n#\n# ZooKeeper Logging Configuration\n#\n\n# DEFAULT: console appender only\nlog4j.rootLogger=INFO, CONSOLE\n\n# Example with rolling log file\n#log4j.root
 Logger=DEBUG, CONSOLE, ROLLINGFILE\n\n# Example with rolling log file and tracing\n#log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE\n\n#\n# Log INFO level and above messages to the console\n#\nlog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender\nlog4j.appender.CONSOLE.Threshold=INFO\nlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout\nlog4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n\n\n#\n# Add ROLLINGFILE to rootLogger to get log file output\n#    Log DEBUG level and above messages to a log file\nlog4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender\nlog4j.appender.ROLLINGFILE.Threshold=DEBUG\nlog4j.appender.ROLLINGFILE.File=zookeeper.log\n\n# Max log file size of 10MB\nlog4j.appender.ROLLINGFILE.MaxFileSize=10MB\n# uncomment the next line to limit number of backup files\n#log4j.appender.ROLLINGFILE.MaxBackupIndex=10\n\nlog4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout\nlog4j.appender.ROLLINGFILE.
 layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n\n\n\n#\n# Add TRACEFILE to rootLogger to get log file output\n#    Log DEBUG level and above messages to a log file\nlog4j.appender.TRACEFILE=org.apache.log4j.FileAppender\nlog4j.appender.TRACEFILE.Threshold=TRACE\nlog4j.appender.TRACEFILE.File=zookeeper_trace.log\n\nlog4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout\n### Notice we are including log4j's NDC here (%x)\nlog4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L][%x] - %m%n"
+    },
+    "ssl-server": {
+      "ssl.server.keystore.location": "/etc/security/serverKeys/keystore.jks",
+      "ssl.server.keystore.keypassword": "bigdata",
+      "ssl.server.truststore.location": "/etc/security/serverKeys/all.jks",
+      "ssl.server.keystore.password": "bigdata",
+      "ssl.server.truststore.password": "bigdata",
+      "ssl.server.truststore.type": "jks",
+      "ssl.server.keystore.type": "jks",
+      "ssl.server.truststore.reload.interval": "10000"
+    },
+    "ranger-site": {},
+    "admin-log4j": {
+      "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n\nlog4j.rootLogger = warn,xa_log_appender\n\n\n# xa_logger\nlog4j.appender.xa_log_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.xa_log_appender.
 file=${logdir}/xa_portal.log\nlog4j.appender.xa_log_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.xa_log_appender.append=true\nlog4j.appender.xa_log_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.xa_log_appender.layout.ConversionPattern=%d [%t] %-5p %C{6} (%F:%L) - %m%n\n# xa_log_appender : category and additivity\nlog4j.category.org.springframework=warn,xa_log_appender\nlog4j.additivity.org.springframework=false\n\nlog4j.category.org.apache.ranger=info,xa_log_appender\nlog4j.additivity.org.apache.ranger=false\n\nlog4j.category.xa=info,xa_log_appender\nlog4j.additivity.xa=false\n\n# perf_logger\nlog4j.appender.perf_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.perf_appender.file=${logdir}/ranger_admin_perf.log\nlog4j.appender.perf_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.perf_appender.append=true\nlog4j.appender.perf_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.perf_appender.layout.ConversionPattern=%d [%t] %m%n\n
 \n\n# sql_appender\nlog4j.appender.sql_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.sql_appender.file=${logdir}/xa_portal_sql.log\nlog4j.appender.sql_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.sql_appender.append=true\nlog4j.appender.sql_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.sql_appender.layout.ConversionPattern=%d [%t] %-5p %C{6} (%F:%L) - %m%n\n\n# sql_appender : category and additivity\nlog4j.category.org.hibernate.SQL=warn,sql_appender\nlog4j.additivity.org.hibernate.SQL=false\n\nlog4j.category.jdbc.sqlonly=fatal,sql_appender\nlog4j.additivity.jdbc.sqlonly=false\n\nlog4j.category.jdbc.sqltiming=warn,sql_appender\nlog4j.additivity.jdbc.sqltiming=false\n\nlog4j.category.jdbc.audit=fatal,sql_appender\nlog4j.additivity.jdbc.audit=false\n\nlog4j.category.jdbc.resultset=fatal,sql_appender\nlog4j.additivity.jdbc.resultset=false\n\nlog4j.category.jdbc.connection=fatal,sql_appender\nlog4j.additivity.jdbc.connection=false"
+    },
+    "tagsync-log4j": {
+      "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n\nlog4j.rootLogger = info,logFile\n\n# logFile\nlog4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.logFile.file=${logdir}/tagsync.log\n
 log4j.appender.logFile.datePattern='.'yyyy-MM-dd\nlog4j.appender.logFile.layout=org.apache.log4j.PatternLayout\nlog4j.appender.logFile.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %L %m%n\n\n# console\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.Target=System.out\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %L %m%n"
+    },
+    "ranger-hdfs-security": {
+      "ranger.plugin.hdfs.policy.source.impl": "org.apache.ranger.admin.client.RangerAdminRESTClient",
+      "ranger.plugin.hdfs.service.name": "{{repo_name}}",
+      "ranger.plugin.hdfs.policy.cache.dir": "/etc/ranger/{{repo_name}}/policycache",
+      "ranger.plugin.hdfs.policy.pollIntervalMs": "30000",
+      "ranger.plugin.hdfs.policy.rest.url": "{{policymgr_mgr_url}}",
+      "ranger.plugin.hdfs.policy.rest.ssl.config.file": "/etc/hadoop/conf/ranger-policymgr-ssl.xml",
+      "xasecure.add-hadoop-authorization": "true"
+    },
+    "usersync-properties": {},
+    "zookeeper-env": {
+      "zk_log_dir": "/var/log/zookeeper",
+      "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOOKEEPER_HOME={{zk_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}",
+      "zk_server_heapsize": "1024m",
+      "zk_pid_dir": "/var/run/zookeeper",
+      "zk_user": "zookeeper"
+    },
+    "cluster-env": {
+      "security_enabled": "false",
+      "override_uid": "true",
+      "fetch_nonlocal_groups": "true",
+      "one_dir_per_partition": "true",
+      "repo_ubuntu_template": "{{package_type}} {{base_url}} {{components}}",
+      "ignore_groupsusers_create": "false",
+      "alerts_repeat_tolerance": "1",
+      "smokeuser_keytab": "/etc/security/keytabs/smokeuser.headless.keytab",
+      "kerberos_domain": "EXAMPLE.COM",
+      "manage_dirs_on_root": "true",
+      "recovery_lifetime_max_count": "1024",
+      "recovery_type": "AUTO_START",
+      "ignore_bad_mounts": "false",
+      "recovery_window_in_minutes": "60",
+      "user_group": "hadoop",
+      "stack_name": "HDP",
+      "stack_root": "{\"HDP\": \"/usr/hdp\"}",
+      "stack_tools": "{\n \"HDP\": { \"stack_selector\": [\"hdp-select\", \"/usr/bin/hdp-select\", \"hdp-select\"],\n  \"conf_selector\": [\"conf-select\", \"/usr/bin/conf-select\", \"conf-select\"]\n}\n}",
+      "recovery_retry_interval": "5",
+      "recovery_enabled": "true",
+      "recovery_max_count": "6",
+      "repo_suse_rhel_template": "[{{repo_id}}]\nname={{repo_id}}\n{% if mirror_list %}mirrorlist={{mirror_list}}{% else %}baseurl={{base_url}}{% endif %}\n\npath=/\nenabled=1\ngpgcheck=0",
+      "managed_hdfs_resource_property_names": "",
+      "smokeuser": "ambari-qa"
+    },
+    "dbks-site": {
+      "ranger.ks.jpa.jdbc.credential.provider.path": "/etc/ranger/kms/rangerkms.jceks",
+      "ranger.ks.kerberos.keytab": "/etc/security/keytabs/rangerkms.service.keytab",
+      "ranger.ks.hsm.partition.password": "_",
+      "ranger.ks.jpa.jdbc.driver": "com.mysql.jdbc.Driver",
+      "ranger.ks.jpa.jdbc.credential.alias": "ranger.ks.jdbc.password",
+      "ranger.ks.kerberos.principal": "rangerkms12/_HOST@EXAMPLE.COM",
+      "ranger.db.encrypt.key.password": "_",
+      "ranger.ks.hsm.enabled": "false",
+      "ranger.ks.jpa.jdbc.password": "_",
+      "ranger.ks.masterkey.credential.alias": "ranger.ks.masterkey.password",
+      "ranger.ks.jpa.jdbc.url": "jdbc:mysql://c6401.ambari.apache.org:3306/rangerkms01",
+      "hadoop.kms.blacklist.DECRYPT_EEK": "hdfs",
+      "ranger.ks.jdbc.sqlconnectorjar": "{{ews_lib_jar_path}}",
+      "ranger.ks.jpa.jdbc.user": "{{db_user}}",
+      "ranger.ks.hsm.partition.password.alias": "ranger.kms.hsm.partition.password",
+      "ranger.ks.hsm.type": "LunaProvider",
+      "ranger.ks.hsm.partition.name": "par19",
+      "ranger.ks.jpa.jdbc.dialect": "{{jdbc_dialect}}"
+    },
+    "kms-env": {
+      "kms_group": "kms",
+      "kms_log_dir": "/var/log/ranger/kms",
+      "hsm_partition_password": "",
+      "kms_user": "kms",
+      "create_db_user": "true",
+      "kms_port": "9292"
+    },
+    "kms-log4j": {
+      "content": "\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#    http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License. See accompanying LICENSE file.\n#\n\n# If the Java System property 'kms.log.dir' is not defined at KMS start up time\n# Setup sets its value to '${kms.home}/logs'\n\nlog4j.appender.kms=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.kms.DatePattern='.'yyyy-MM-dd\nlog4j.appender.kms.File=${kms.log.dir}/kms.log\nlog4j.appender.kms.Append=true\nlog4j.appender.kms.layout=org.apache.log4j.PatternLayout\nlog4j
 .appender.kms.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} - %m%n\n\nlog4j.appender.kms-audit=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.kms-audit.DatePattern='.'yyyy-MM-dd\nlog4j.appender.kms-audit.File=${kms.log.dir}/kms-audit.log\nlog4j.appender.kms-audit.Append=true\nlog4j.appender.kms-audit.layout=org.apache.log4j.PatternLayout\nlog4j.appender.kms-audit.layout.ConversionPattern=%d{ISO8601} %m%n\n\nlog4j.logger.kms-audit=INFO, kms-audit\nlog4j.additivity.kms-audit=false\n\nlog4j.rootLogger=ALL, kms\nlog4j.logger.org.apache.hadoop.conf=ERROR\nlog4j.logger.org.apache.hadoop=INFO\nlog4j.logger.com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator=OFF"
+    },
+    "kms-properties": {
+      "REPOSITORY_CONFIG_USERNAME": "keyadmin",
+      "db_user": "rangerkms01",
+      "DB_FLAVOR": "UNSUPPORTED",
+      "db_password": "rangerkms01",
+      "KMS_MASTER_KEY_PASSWD": "StrongPassword01",
+      "db_root_user": "root",
+      "db_name": "rangerkms01",
+      "db_host": "c6401.ambari.apache.org",
+      "db_root_password": "vagrant",
+      "SQL_CONNECTOR_JAR": "{{driver_curl_target}}",
+      "REPOSITORY_CONFIG_PASSWORD": "keyadmin"
+    },
+    "kms-site": {
+      "hadoop.kms.proxyuser.ranger.hosts": "*",
+      "hadoop.kms.authentication.type": "simple",
+      "hadoop.kms.proxyuser.ranger.groups": "*",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.path": "/hadoop-kms/hadoop-auth-signature-secret",
+      "hadoop.kms.security.authorization.manager": "org.apache.ranger.authorization.kms.authorizer.RangerKmsAuthorizer",
+      "hadoop.kms.authentication.kerberos.name.rules": "DEFAULT",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab",
+      "hadoop.kms.current.key.cache.timeout.ms": "30000",
+      "hadoop.kms.authentication.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab",
+      "hadoop.kms.audit.aggregation.window.ms": "10000",
+      "hadoop.kms.proxyuser.ranger.users": "*",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.auth.type": "kerberos",
+      "hadoop.kms.key.provider.uri": "dbks://http@localhost:9292/kms",
+      "hadoop.security.keystore.JavaKeyStoreProvider.password": "none",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.kerberos.principal": "HTTP/_HOST@EXAMPLE.COM",
+      "hadoop.kms.authentication.signer.secret.provider": "random",
+      "hadoop.kms.authentication.signer.secret.provider.zookeeper.connection.string": "#HOSTNAME#:#PORT#,...",
+      "hadoop.kms.cache.enable": "true",
+      "hadoop.kms.cache.timeout.ms": "600000",
+      "hadoop.kms.authentication.kerberos.principal": "*"
+    },
+    "ranger-kms-audit": {
+      "xasecure.audit.destination.solr.zookeepers": "c6401.ambari.apache.org:2181/ranger_audits",
+      "xasecure.audit.destination.solr.urls": "",
+      "xasecure.audit.destination.solr.batch.filespool.dir": "/var/log/ranger/kms/audit/solr/spool",
+      "xasecure.audit.destination.hdfs.batch.filespool.dir": "/var/log/ranger/kms/audit/hdfs/spool",
+      "xasecure.audit.destination.hdfs": "true",
+      "xasecure.audit.destination.solr": "true",
+      "xasecure.audit.provider.summary.enabled": "false",
+      "xasecure.audit.destination.hdfs.dir": "hdfs://c6401.ambari.apache.org:8020/ranger/audit",
+      "xasecure.audit.is.enabled": "true"
+    },
+    "ranger-kms-policymgr-ssl": {
+      "xasecure.policymgr.clientssl.keystore": "/usr/hdp/current/ranger-kms/conf/ranger-plugin-keystore.jks",
+      "xasecure.policymgr.clientssl.truststore.password": "changeit",
+      "xasecure.policymgr.clientssl.keystore.credential.file": "jceks://file{{credential_file}}",
+      "xasecure.policymgr.clientssl.truststore": "/usr/hdp/current/ranger-kms/conf/ranger-plugin-truststore.jks",
+      "xasecure.policymgr.clientssl.truststore.credential.file": "jceks://file{{credential_file}}",
+      "xasecure.policymgr.clientssl.keystore.password": "myKeyFilePassword"
+    },
+    "ranger-kms-security": {
+      "ranger.plugin.kms.policy.pollIntervalMs": "30000",
+      "ranger.plugin.kms.service.name": "{{repo_name}}",
+      "ranger.plugin.kms.policy.source.impl": "org.apache.ranger.admin.client.RangerAdminRESTClient",
+      "ranger.plugin.kms.policy.rest.ssl.config.file": "/etc/ranger/kms/conf/ranger-policymgr-ssl.xml",
+      "ranger.plugin.kms.policy.cache.dir": "/etc/ranger/{{repo_name}}/policycache",
+      "ranger.plugin.kms.policy.rest.url": "{{policymgr_mgr_url}}"
+    },
+    "ranger-kms-site": {
+      "ranger.service.https.port": "9393",
+      "ranger.service.https.attrib.ssl.enabled": "false",
+      "xa.webapp.dir": "./webapp",
+      "ranger.service.host": "{{kms_host}}",
+      "ranger.service.shutdown.port": "7085",
+      "ranger.contextName": "/kms",
+      "ranger.service.http.port": "{{kms_port}}"
+    }
+  }
+}


[7/8] ambari git commit: AMBARI-21882. Throw an error if unsupported database JDBC driver is configured for HDP services. (stoader)

Posted by st...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/680f1148/ambari-server/src/test/python/common-services/configs/hive_default.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/common-services/configs/hive_default.json b/ambari-server/src/test/python/common-services/configs/hive_default.json
new file mode 100644
index 0000000..2cd0d11
--- /dev/null
+++ b/ambari-server/src/test/python/common-services/configs/hive_default.json
@@ -0,0 +1,650 @@
+{
+  "roleCommand": "SERVICE_CHECK",
+  "clusterName": "c1",
+  "hostname": "c6401.ambari.apache.org",
+  "hostLevelParams": {
+    "not_managed_hdfs_path_list": "[\"/apps/hive/warehouse\",\"/apps/falcon\",\"/mr-history/done\",\"/app-logs\",\"/tmp\"]",
+    "agent_stack_retry_count": "5",
+    "agent_stack_retry_on_unavailability": "false",
+    "jdk_location": "http://c6401.ambari.apache.org:8080/resources/",
+    "ambari_db_rca_password": "mapred",
+    "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca",
+    "jce_name": "UnlimitedJCEPolicyJDK7.zip",
+    "stack_version": "2.6",
+    "stack_name": "HDP",
+    "ambari_db_rca_driver": "org.postgresql.Driver",
+    "jdk_name": "jdk-7u67-linux-x64.tar.gz",
+    "ambari_db_rca_username": "mapred",
+    "java_home": "/usr/jdk64/jdk1.7.0_45",
+    "db_name": "ambari",
+    "custom_mysql_jdbc_name": "mysql-connector-java.jar"
+  },
+  "commandType": "EXECUTION_COMMAND",
+  "roleParams": {},
+  "serviceName": "SLIDER",
+  "role": "SLIDER",
+  "commandParams": {
+    "version": "2.5.0.0-1235",
+    "command_timeout": "300",
+    "service_package_folder": "OOZIE",
+    "script_type": "PYTHON",
+    "script": "scripts/service_check.py",
+    "excluded_hosts": "host1,host2"
+  },
+  "taskId": 152,
+  "public_hostname": "c6401.ambari.apache.org",
+  "configurations": {
+    "hive-env" : {
+      "hcat_pid_dir": "/var/run/webhcat",
+      "hcat_user": "hcat",
+      "hive_ambari_database": "MySQL",
+      "hive_hostname": "abtest-3.c.pramod-thangali.internal",
+      "hive_metastore_port": "9083",
+      "webhcat_user": "hcat",
+      "content": "\n if [ \"$SERVICE\" = \"cli\" ]; then\n   if [ -z \"$DEBUG\" ]; then\n     export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseParNewGC -XX:-UseGCOverheadLimit\"\n   else\n     export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -Xms10m -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit\"\n   fi\n fi\n\n# The heap size of the jvm stared by hive shell script can be controlled via:\n\nexport HADOOP_HEAPSIZE=\"{{hive_heapsize}}\"\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n\n# Larger heap size may be required when running queries over large number of files or partitions.\n# By default hive shell scripts use a heap size of 256 (MB).  Larger heap size would also be\n# appropriate for hive server (hwi etc).\n\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nHADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hive Configuration Directory can 
 be controlled by:\nexport HIVE_CONF_DIR={{conf_dir}}\n\n# Folder containing extra ibraries required for hive compilation/execution can be controlled by:\nif [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n  export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\nelif [ -d \"/usr/lib/hive-hcatalog/\" ]; then\n  export HIVE_AUX_JARS_PATH=/usr/lib/hive-hcatalog/share/hcatalog/hive-hcatalog-core-*.jar\nelse\n  export HIVE_AUX_JARS_PATH=/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar\nfi\nexport METASTORE_PORT={{hive_metastore_port}}",
+      "hive_database_name": "hive",
+      "hive_database_type": "mysql",
+      "hive_pid_dir": "/var/run/hive",
+      "hive_log_dir": "/var/log/hive",
+      "hive_user": "hive",
+      "hcat_log_dir": "/var/log/webhcat",
+      "hive_database": "New MySQL Database",
+      "hive_security_authorization": "None"
+    },
+    "hive-site": {
+      "hive.enforce.sorting": "true",
+      "javax.jdo.option.ConnectionPassword": "!`\"' 1",
+      "javax.jdo.option.ConnectionDriverName": "com.mysql.jdbc.Driver",
+      "hive.optimize.bucketmapjoin.sortedmerge": "true",
+      "hive.security.metastore.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "fs.file.impl.disable.cache": "true",
+      "hive.auto.convert.join.noconditionaltask": "true",
+      "hive.map.aggr": "true",
+      "hive.optimize.index.filter": "true",
+      "hive.security.authorization.enabled": "false",
+      "hive.optimize.reducededuplication.min.reducer": "1",
+      "hive.optimize.bucketmapjoin": "true",
+      "hive.metastore.uris": "thrift://c6402.ambari.apache.org:9083",
+      "hive.mapjoin.bucket.cache.size": "10000",
+      "hive.auto.convert.join.noconditionaltask.size": "1000000000",
+      "hive.vectorized.execution.enabled": "false",
+      "javax.jdo.option.ConnectionUserName": "hive",
+      "hive.metastore.cache.pinobjtypes": "Table,Database,Type,FieldSchema,Order",
+      "hive.optimize.reducededuplication": "true",
+      "hive.metastore.warehouse.dir": "/apps/hive/warehouse",
+      "hive.metastore.client.socket.timeout": "60",
+      "hive.auto.convert.join": "true",
+      "hive.enforce.bucketing": "true",
+      "hive.mapred.reduce.tasks.speculative.execution": "false",
+      "hive.security.authenticator.manager": "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
+      "javax.jdo.option.ConnectionURL": "jdbc:mysql://c6402.ambari.apache.org/hive?createDatabaseIfNotExist=true",
+      "hive.auto.convert.sortmerge.join": "true",
+      "fs.hdfs.impl.disable.cache": "true",
+      "hive.security.authorization.manager": "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
+      "ambari.hive.db.schema.name": "hive",
+      "hive.metastore.execute.setugi": "true",
+      "hive.auto.convert.sortmerge.join.noconditionaltask": "true",
+      "hive.server2.enable.doAs": "true",
+      "hive.server2.authentication": "NOSASL",
+      "hive.server2.transport.mode": "binary",
+      "hive.optimize.mapjoin.mapreduce": "true",
+      "hive.exec.scratchdir" : "/custompath/tmp/hive"
+    },
+    "slider-client": {
+      "slider.yarn.queue": "default"
+    },
+    "sqoop-site": {
+      "atlas.cluster.name": "c1",
+      "sqoop.job.data.publish.class": "org.apache.atlas.sqoop.hook.SqoopHook"
+    },
+    "mahout-env": {
+      "mahout_user": "mahout"
+    },
+    "hbase-env": {
+      "hbase_user": "hbase"
+    },
+    "yarn-env": {
+      "yarn_user": "yarn"
+    },
+    "mahout-log4j": {
+      "content": "\n            #\n            #\n            # Licensed to the Apache Software Foundation (ASF) under one\n            # or more contributor license agreements.  See the NOTICE file\n            # distributed with this work for additional information\n            # regarding copyright ownership.  The ASF licenses this file\n            # to you under the Apache License, Version 2.0 (the\n            # \"License\"); you may not use this file except in compliance\n            # with the License.  You may obtain a copy of the License at\n            #\n            #   http://www.apache.org/licenses/LICENSE-2.0\n            #\n            # Unless required by applicable law or agreed to in writing,\n            # software distributed under the License is distributed on an\n            # \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n            # KIND, either express or implied.  See the License for the\n            # specific language governing permissions a
 nd limitations\n            # under the License.\n            #\n            #\n            #\n\n            # Set everything to be logged to the console\n            log4j.rootCategory=WARN, console\n            log4j.appender.console=org.apache.log4j.ConsoleAppender\n            log4j.appender.console.target=System.err\n            log4j.appender.console.layout=org.apache.log4j.PatternLayout\n            log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n            # Settings to quiet third party logs that are too verbose\n            log4j.logger.org.eclipse.jetty=WARN\n            log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=WARN\n            log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=WARN"
+    },
+    "hadoop-env": {
+      "hdfs_user": "hdfs",
+      "hdfs_tmp_dir": "/tmp"
+    },
+    "core-site": {
+      "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020"
+    },
+    "hdfs-site": {
+      "a": "b"
+    },
+    "yarn-site": {
+      "yarn.application.classpath": "/etc/hadoop/conf,/usr/lib/hadoop/*,/usr/lib/hadoop/lib/*,/usr/lib/hadoop-hdfs/*,/usr/lib/hadoop-hdfs/lib/*,/usr/lib/hadoop-yarn/*,/usr/lib/hadoop-yarn/lib/*,/usr/lib/hadoop-mapreduce/*,/usr/lib/hadoop-mapreduce/lib/*",
+      "yarn.resourcemanager.address": "c6401.ambari.apache.org:8050",
+      "yarn.resourcemanager.scheduler.address": "c6401.ambari.apache.org:8030"
+    },
+    "cluster-env": {
+      "managed_hdfs_resource_property_names": "",
+      "security_enabled": "false",
+      "ignore_groupsusers_create": "false",
+      "smokeuser": "ambari-qa",
+      "kerberos_domain": "EXAMPLE.COM",
+      "user_group": "hadoop"
+    },
+    "webhcat-site": {
+      "templeton.jar": "/usr/hdp/current/hive-webhcat/share/webhcat/svr/lib/hive-webhcat-*.jar",
+      "templeton.pig.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/pig/pig.tar.gz",
+      "templeton.hive.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/hive/hive.tar.gz",
+      "templeton.sqoop.archive": "hdfs:///hdp/apps/{{ hdp_stack_version }}/sqoop/sqoop.tar.gz",
+      "templeton.streaming.jar": "hdfs:///hdp/apps/{{ hdp_stack_version }}/mr/hadoop-streaming.jar"
+    },
+    "slider-log4j": {
+      "content": "log4jproperties\nline2"
+    },
+    "slider-env": {
+      "content": "envproperties\nline2"
+    },
+    "gateway-site": {
+      "java.security.auth.login.config": "/etc/knox/conf/krb5JAASLogin.conf",
+      "gateway.hadoop.kerberos.secured": "false",
+      "gateway.gateway.conf.dir": "deployments",
+      "gateway.path": "gateway",
+      "sun.security.krb5.debug": "true",
+      "java.security.krb5.conf": "/etc/knox/conf/krb5.conf",
+      "gateway.port": "8443"
+    },
+
+    "users-ldif": {
+      "content": "\n            # Licensed to the Apache Software Foundation (ASF) under one\n            # or more contributor license agreements.  See the NOTICE file\n            # distributed with this work for additional information\n            # regarding copyright ownership.  The ASF licenses this file\n            # to you under the Apache License, Version 2.0 (the\n            # \"License\"); you may not use this file except in compliance\n            # with the License.  You may obtain a copy of the License at\n            #\n            #     http://www.apache.org/licenses/LICENSE-2.0\n            #\n            # Unless required by applicable law or agreed to in writing, software\n            # distributed under the License is distributed on an \"AS IS\" BASIS,\n            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n            # See the License for the specific language governing permissions and\n            # limitations under the Lice
 nse.\n\n            version: 1\n\n            # Please replace with site specific values\n            dn: dc=hadoop,dc=apache,dc=org\n            objectclass: organization\n            objectclass: dcObject\n            o: Hadoop\n            dc: hadoop\n\n            # Entry for a sample people container\n            # Please replace with site specific values\n            dn: ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:organizationalUnit\n            ou: people\n\n            # Entry for a sample end user\n            # Please replace with site specific values\n            dn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:person\n            objectclass:organizationalPerson\n            objectclass:inetOrgPerson\n            cn: Guest\n            sn: User\n            uid: guest\n            userPassword:guest-password\n\n            # entry for sample user admin\n            dn: 
 uid=admin,ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:person\n            objectclass:organizationalPerson\n            objectclass:inetOrgPerson\n            cn: Admin\n            sn: Admin\n            uid: admin\n            userPassword:admin-password\n\n            # entry for sample user sam\n            dn: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:person\n            objectclass:organizationalPerson\n            objectclass:inetOrgPerson\n            cn: sam\n            sn: sam\n            uid: sam\n            userPassword:sam-password\n\n            # entry for sample user tom\n            dn: uid=tom,ou=people,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:person\n            objectclass:organizationalPerson\n            objectclass:inetOrgPerson\n            cn: tom\n            sn: tom\n            uid: tom\n            userPasswor
 d:tom-password\n\n            # create FIRST Level groups branch\n            dn: ou=groups,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass:organizationalUnit\n            ou: groups\n            description: generic groups branch\n\n            # create the analyst group under groups\n            dn: cn=analyst,ou=groups,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass: groupofnames\n            cn: analyst\n            description:analyst  group\n            member: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org\n            member: uid=tom,ou=people,dc=hadoop,dc=apache,dc=org\n\n\n            # create the scientist group under groups\n            dn: cn=scientist,ou=groups,dc=hadoop,dc=apache,dc=org\n            objectclass:top\n            objectclass: groupofnames\n            cn: scientist\n            description: scientist group\n            member: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org"
+    },
+
+    "topology": {
+      "content": "\n        <topology>\n\n            <gateway>\n\n                <provider>\n                    <role>authentication</role>\n                    <name>ShiroProvider</name>\n                    <enabled>true</enabled>\n                    <param>\n                        <name>sessionTimeout</name>\n                        <value>30</value>\n                    </param>\n                    <param>\n                        <name>main.ldapRealm</name>\n                        <value>org.apache.hadoop.gateway.shirorealm.KnoxLdapRealm</value>\n                    </param>\n                    <param>\n                        <name>main.ldapRealm.userDnTemplate</name>\n                        <value>uid={0},ou=people,dc=hadoop,dc=apache,dc=org</value>\n                    </param>\n                    <param>\n                        <name>main.ldapRealm.contextFactory.url</name>\n                        <value>ldap://{{knox_host_name}}:33389</value>\n                 
    </param>\n                    <param>\n                        <name>main.ldapRealm.contextFactory.authenticationMechanism</name>\n                        <value>simple</value>\n                    </param>\n                    <param>\n                        <name>urls./**</name>\n                        <value>authcBasic</value>\n                    </param>\n                </provider>\n\n                <provider>\n                    <role>identity-assertion</role>\n                    <name>Default</name>\n                    <enabled>true</enabled>\n                </provider>\n\n            </gateway>\n\n            <service>\n                <role>NAMENODE</role>\n                <url>hdfs://{{namenode_host}}:{{namenode_rpc_port}}</url>\n            </service>\n\n            <service>\n                <role>JOBTRACKER</role>\n                <url>rpc://{{rm_host}}:{{jt_rpc_port}}</url>\n            </service>\n\n            <service>\n                <role>WEBHDFS</role
 >\n                <url>http://{{namenode_host}}:{{namenode_http_port}}/webhdfs</url>\n            </service>\n\n            <service>\n                <role>WEBHCAT</role>\n                <url>http://{{webhcat_server_host}}:{{templeton_port}}/templeton</url>\n            </service>\n\n            <service>\n                <role>OOZIE</role>\n                <url>http://{{oozie_server_host}}:{{oozie_server_port}}/oozie</url>\n            </service>\n\n            <service>\n                <role>WEBHBASE</role>\n                <url>http://{{hbase_master_host}}:{{hbase_master_port}}</url>\n            </service>\n\n            <service>\n                <role>HIVE</role>\n                <url>http://{{hive_server_host}}:{{hive_http_port}}/{{hive_http_path}}</url>\n            </service>\n\n            <service>\n                <role>RESOURCEMANAGER</role>\n                <url>http://{{rm_host}}:{{rm_port}}/ws</url>\n            </service>\n        </topology>"
+    },
+
+    "ldap-log4j": {
+      "content": "\n        # Licensed to the Apache Software Foundation (ASF) under one\n        # or more contributor license agreements.  See the NOTICE file\n        # distributed with this work for additional information\n        # regarding copyright ownership.  The ASF licenses this file\n        # to you under the Apache License, Version 2.0 (the\n        # \"License\"); you may not use this file except in compliance\n        # with the License.  You may obtain a copy of the License at\n        #\n        #     http://www.apache.org/licenses/LICENSE-2.0\n        #\n        # Unless required by applicable law or agreed to in writing, software\n        # distributed under the License is distributed on an \"AS IS\" BASIS,\n        # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n        # See the License for the specific language governing permissions and\n        # limitations under the License.\n        #testing\n\n        app.log.dir=${launcher.dir
 }/../logs\n        app.log.file=${launcher.name}.log\n\n        log4j.rootLogger=ERROR, drfa\n        log4j.logger.org.apache.directory.server.ldap.LdapServer=INFO\n        log4j.logger.org.apache.directory=WARN\n\n        log4j.appender.stdout=org.apache.log4j.ConsoleAppender\n        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\n        log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n        log4j.appender.drfa=org.apache.log4j.DailyRollingFileAppender\n        log4j.appender.drfa.File=${app.log.dir}/${app.log.file}\n        log4j.appender.drfa.DatePattern=.yyyy-MM-dd\n        log4j.appender.drfa.layout=org.apache.log4j.PatternLayout\n        log4j.appender.drfa.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n"
+    },
+
+    "gateway-log4j": {
+      "content": "\n\n      # Licensed to the Apache Software Foundation (ASF) under one\n      # or more contributor license agreements. See the NOTICE file\n      # distributed with this work for additional information\n      # regarding copyright ownership. The ASF licenses this file\n      # to you under the Apache License, Version 2.0 (the\n      # \"License\"); you may not use this file except in compliance\n      # with the License. You may obtain a copy of the License at\n      #\n      # http://www.apache.org/licenses/LICENSE-2.0\n      #\n      # Unless required by applicable law or agreed to in writing, software\n      # distributed under the License is distributed on an \"AS IS\" BASIS,\n      # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n      # See the License for the specific language governing permissions and\n      # limitations under the License.\n\n      app.log.dir=${launcher.dir}/../logs\n      app.log.file=${launcher.name}.log\n   
    app.audit.file=${launcher.name}-audit.log\n\n      log4j.rootLogger=ERROR, drfa\n\n      log4j.logger.org.apache.hadoop.gateway=INFO\n      #log4j.logger.org.apache.hadoop.gateway=DEBUG\n\n      #log4j.logger.org.eclipse.jetty=DEBUG\n      #log4j.logger.org.apache.shiro=DEBUG\n      #log4j.logger.org.apache.http=DEBUG\n      #log4j.logger.org.apache.http.client=DEBUG\n      #log4j.logger.org.apache.http.headers=DEBUG\n      #log4j.logger.org.apache.http.wire=DEBUG\n\n      log4j.appender.stdout=org.apache.log4j.ConsoleAppender\n      log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\n      log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n      log4j.appender.drfa=org.apache.log4j.DailyRollingFileAppender\n      log4j.appender.drfa.File=${app.log.dir}/${app.log.file}\n      log4j.appender.drfa.DatePattern=.yyyy-MM-dd\n      log4j.appender.drfa.layout=org.apache.log4j.PatternLayout\n      log4j.appender.drfa.layout.ConversionPattern=%
 d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n\n\n      log4j.logger.audit=INFO, auditfile\n      log4j.appender.auditfile=org.apache.log4j.DailyRollingFileAppender\n      log4j.appender.auditfile.File=${app.log.dir}/${app.audit.file}\n      log4j.appender.auditfile.Append = true\n      log4j.appender.auditfile.DatePattern = '.'yyyy-MM-dd\n      log4j.appender.auditfile.layout = org.apache.hadoop.gateway.audit.log4j.layout.AuditLayout"
+    },
+    "knox-env": {
+      "knox_master_secret": "sa",
+      "knox_group": "knox",
+      "knox_pid_dir": "/var/run/knox",
+      "knox_user": "knox"
+    },
+    "kafka-env": {
+      "content": "\n#!/bin/bash\n\n# Set KAFKA specific environment variables here.\n\n# The java implementation to use.\nexport JAVA_HOME={{java64_home}}\nexport PATH=$PATH:$JAVA_HOME/bin",
+      "kafka_user": "kafka",
+      "kafka_log_dir": "/var/log/kafka",
+      "kafka_pid_dir": "/var/run/kafka"
+    },
+    "kafka-log4j": {
+      "content": "\n#\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#   http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n#\n#\nkafka.logs.dir=logs\n\nlog4j.rootLogger=INFO, stdout\n\nlog4j.appender.stdout=org.apache.log4j.ConsoleAppender\nlog4j.appender.stdout.layout=org.apache.log4j
 .PatternLayout\nlog4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log\nlog4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.stateChangeAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.stateChangeAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.stateChangeAppender.File=${kafka.logs.dir}/state-change.log\nlog4j.appender.stateChangeAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.stateChangeAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.requestAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.requestAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.requestAppender.File=${kafka.logs.dir}/kafka-reques
 t.log\nlog4j.appender.requestAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.requestAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.cleanerAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.cleanerAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.cleanerAppender.File=${kafka.logs.dir}/log-cleaner.log\nlog4j.appender.cleanerAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.cleanerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\nlog4j.appender.controllerAppender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.controllerAppender.DatePattern='.'yyyy-MM-dd-HH\nlog4j.appender.controllerAppender.File=${kafka.logs.dir}/controller.log\nlog4j.appender.controllerAppender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.controllerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n\n\n# Turn on all our debugging info\n#log4j.logger.kafka.producer.async.DefaultEventHandler=DEBUG, kafkaAppender\n#log4j.logge
 r.kafka.client.ClientUtils=DEBUG, kafkaAppender\n#log4j.logger.kafka.perf=DEBUG, kafkaAppender\n#log4j.logger.kafka.perf.ProducerPerformance$ProducerThread=DEBUG, kafkaAppender\n#log4j.logger.org.I0Itec.zkclient.ZkClient=DEBUG\nlog4j.logger.kafka=INFO, kafkaAppender\nlog4j.logger.kafka.network.RequestChannel$=WARN, requestAppender\nlog4j.additivity.kafka.network.RequestChannel$=false\n\n#log4j.logger.kafka.network.Processor=TRACE, requestAppender\n#log4j.logger.kafka.server.KafkaApis=TRACE, requestAppender\n#log4j.additivity.kafka.server.KafkaApis=false\nlog4j.logger.kafka.request.logger=WARN, requestAppender\nlog4j.additivity.kafka.request.logger=false\n\nlog4j.logger.kafka.controller=TRACE, controllerAppender\nlog4j.additivity.kafka.controller=false\n\nlog4j.logger.kafka.log.LogCleaner=INFO, cleanerAppender\nlog4j.additivity.kafka.log.LogCleaner=false\n\nlog4j.logger.state.change.logger=TRACE, stateChangeAppender\nlog4j.additivity.state.change.logger=false"
+    },
+    "kafka-broker": {
+      "log.segment.bytes": "1073741824",
+      "socket.send.buffer.bytes": "102400",
+      "num.network.threads": "3",
+      "log.flush.scheduler.interval.ms": "3000",
+      "kafka.ganglia.metrics.host": "localhost",
+      "zookeeper.session.timeout.ms": "6000",
+      "replica.lag.time.max.ms": "10000",
+      "num.io.threads": "8",
+      "kafka.ganglia.metrics.group": "kafka",
+      "replica.lag.max.messages": "4000",
+      "port": "6667",
+      "log.retention.bytes": "-1",
+      "fetch.purgatory.purge.interval.requests": "10000",
+      "producer.purgatory.purge.interval.requests": "10000",
+      "default.replication.factor": "1",
+      "replica.high.watermark.checkpoint.interval.ms": "5000",
+      "zookeeper.connect": "c6402.ambari.apache.org:2181",
+      "controlled.shutdown.retry.backoff.ms": "5000",
+      "num.partitions": "1",
+      "log.flush.interval.messages": "10000",
+      "replica.fetch.min.bytes": "1",
+      "queued.max.requests": "500",
+      "controlled.shutdown.max.retries": "3",
+      "replica.fetch.wait.max.ms": "500",
+      "controlled.shutdown.enable": "false",
+      "log.roll.hours": "168",
+      "log.cleanup.interval.mins": "10",
+      "replica.socket.receive.buffer.bytes": "65536",
+      "zookeeper.connection.timeout.ms": "6000",
+      "replica.fetch.max.bytes": "1048576",
+      "num.replica.fetchers": "1",
+      "socket.request.max.bytes": "104857600",
+      "message.max.bytes": "1000000",
+      "zookeeper.sync.time.ms": "2000",
+      "socket.receive.buffer.bytes": "102400",
+      "controller.message.queue.size": "10",
+      "log.flush.interval.ms": "3000",
+      "log.dirs": "/tmp/log/dir",
+      "controller.socket.timeout.ms": "30000",
+      "replica.socket.timeout.ms": "30000",
+      "auto.create.topics.enable": "true",
+      "log.index.size.max.bytes": "10485760",
+      "kafka.ganglia.metrics.port": "8649",
+      "log.index.interval.bytes": "4096",
+      "log.retention.hours": "168"
+    },
+    "spark-defaults": {
+      "spark.yarn.applicationMaster.waitTries": "10",
+      "spark.history.kerberos.keytab": "none",
+      "spark.yarn.preserve.staging.files": "false",
+      "spark.yarn.submit.file.replication": "3",
+      "spark.history.kerberos.principal": "none",
+      "spark.yarn.driver.memoryOverhead": "384",
+      "spark.yarn.queue": "default",
+      "spark.yarn.containerLauncherMaxThreads": "25",
+      "spark.yarn.scheduler.heartbeat.interval-ms": "5000",
+      "spark.history.ui.port": "18080",
+      "spark.yarn.max.executor.failures": "3",
+      "spark.driver.extraJavaOptions": "",
+      "spark.history.provider": "org.apache.spark.deploy.yarn.history.YarnHistoryProvider",
+      "spark.yarn.am.extraJavaOptions": "",
+      "spark.yarn.executor.memoryOverhead": "384"
+    },
+    "spark-javaopts-properties": {
+      "content": " "
+    },
+    "spark-log4j-properties": {
+      "content": "\n# Set everything to be logged to the console\nlog4j.rootCategory=INFO, console\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.target=System.err\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n# Settings to quiet third party logs that are too verbose\nlog4j.logger.org.eclipse.jetty=WARN\nlog4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR\nlog4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO\nlog4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO"
+    },
+    "spark-env": {
+      "content": "\n#!/usr/bin/env bash\n\n# This file is sourced when running various Spark programs.\n# Copy it as spark-env.sh and edit that to configure Spark for your site.\n\n# Options read in YARN client mode\n#SPARK_EXECUTOR_INSTANCES=\"2\" #Number of workers to start (Default: 2)\n#SPARK_EXECUTOR_CORES=\"1\" #Number of cores for the workers (Default: 1).\n#SPARK_EXECUTOR_MEMORY=\"1G\" #Memory per Worker (e.g. 1000M, 2G) (Default: 1G)\n#SPARK_DRIVER_MEMORY=\"512 Mb\" #Memory for Master (e.g. 1000M, 2G) (Default: 512 Mb)\n#SPARK_YARN_APP_NAME=\"spark\" #The name of your application (Default: Spark)\n#SPARK_YARN_QUEUE=\"~@~Xdefault~@~Y\" #The hadoop queue to use for allocation requests (Default: @~Xdefault~@~Y)\n#SPARK_YARN_DIST_FILES=\"\" #Comma separated list of files to be distributed with the job.\n#SPARK_YARN_DIST_ARCHIVES=\"\" #Comma separated list of archives to be distributed with the job.\n\n# Generic options for the daemons used in the standalone deploy mode\n\n# Alt
 ernate conf dir. (Default: ${SPARK_HOME}/conf)\nexport SPARK_CONF_DIR=${SPARK_HOME:-{{spark_home}}}/conf\n\n# Where log files are stored.(Default:${SPARK_HOME}/logs)\n#export SPARK_LOG_DIR=${SPARK_HOME:-{{spark_home}}}/logs\nexport SPARK_LOG_DIR={{spark_log_dir}}\n\n# Where the pid file is stored. (Default: /tmp)\nexport SPARK_PID_DIR={{spark_pid_dir}}\n\n# A string representing this instance of spark.(Default: $USER)\nSPARK_IDENT_STRING=$USER\n\n# The scheduling priority for daemons. (Default: 0)\nSPARK_NICENESS=0\n\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\nexport HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-{{hadoop_conf_dir}}}\n\n# The java implementation to use.\nexport JAVA_HOME={{java_home}}\n\nif [ -d \"/etc/tez/conf/\" ]; then\n  export TEZ_CONF_DIR=/etc/tez/conf\nelse\n  export TEZ_CONF_DIR=\nfi",
+      "spark_pid_dir": "/var/run/spark",
+      "spark_log_dir": "/var/log/spark",
+      "spark_group": "spark",
+      "spark_user": "spark"
+    },
+    "spark2-env": {
+      "content": "\n#!/usr/bin/env bash\n\n# This file is sourced when running various Spark programs.\n# Copy it as spark-env.sh and edit that to configure Spark for your site.\n\n# Options read in YARN client mode\n#SPARK_EXECUTOR_INSTANCES=\"2\" #Number of workers to start (Default: 2)\n#SPARK_EXECUTOR_CORES=\"1\" #Number of cores for the workers (Default: 1).\n#SPARK_EXECUTOR_MEMORY=\"1G\" #Memory per Worker (e.g. 1000M, 2G) (Default: 1G)\n#SPARK_DRIVER_MEMORY=\"512 Mb\" #Memory for Master (e.g. 1000M, 2G) (Default: 512 Mb)\n#SPARK_YARN_APP_NAME=\"spark\" #The name of your application (Default: Spark)\n#SPARK_YARN_QUEUE=\"~@~Xdefault~@~Y\" #The hadoop queue to use for allocation requests (Default: @~Xdefault~@~Y)\n#SPARK_YARN_DIST_FILES=\"\" #Comma separated list of files to be distributed with the job.\n#SPARK_YARN_DIST_ARCHIVES=\"\" #Comma separated list of archives to be distributed with the job.\n\n# Generic options for the daemons used in the standalone deploy mode\n\n# Alt
 ernate conf dir. (Default: ${SPARK_HOME}/conf)\nexport SPARK_CONF_DIR=${SPARK_HOME:-{{spark_home}}}/conf\n\n# Where log files are stored.(Default:${SPARK_HOME}/logs)\n#export SPARK_LOG_DIR=${SPARK_HOME:-{{spark_home}}}/logs\nexport SPARK_LOG_DIR={{spark_log_dir}}\n\n# Where the pid file is stored. (Default: /tmp)\nexport SPARK_PID_DIR={{spark_pid_dir}}\n\n# A string representing this instance of spark.(Default: $USER)\nSPARK_IDENT_STRING=$USER\n\n# The scheduling priority for daemons. (Default: 0)\nSPARK_NICENESS=0\n\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\nexport HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-{{hadoop_conf_dir}}}\n\n# The java implementation to use.\nexport JAVA_HOME={{java_home}}\n\nif [ -d \"/etc/tez/conf/\" ]; then\n  export TEZ_CONF_DIR=/etc/tez/conf\nelse\n  export TEZ_CONF_DIR=\nfi",
+      "spark_pid_dir": "/var/run/spark",
+      "spark_log_dir": "/var/log/spark",
+      "spark_group": "spark",
+      "spark_user": "spark"
+    },
+    "spark-metrics-properties": {
+      "content": "\n# syntax: [instance].sink|source.[name].[options]=[value]\n\n# This file configures Spark's internal metrics system. The metrics system is\n# divided into instances which correspond to internal components.\n# Each instance can be configured to report its metrics to one or more sinks.\n# Accepted values for [instance] are \"master\", \"worker\", \"executor\", \"driver\",\n# and \"applications\". A wild card \"*\" can be used as an instance name, in\n# which case all instances will inherit the supplied property.\n#\n# Within an instance, a \"source\" specifies a particular set of grouped metrics.\n# there are two kinds of sources:\n# 1. Spark internal sources, like MasterSource, WorkerSource, etc, which will\n# collect a Spark component's internal state. Each instance is paired with a\n# Spark source that is added automatically.\n# 2. Common sources, like JvmSource, which will collect low level state.\n# These can be added through configuration options and are then
  loaded\n# using reflection.\n#\n# A \"sink\" specifies where metrics are delivered to. Each instance can be\n# assigned one or more sinks.\n#\n# The sink|source field specifies whether the property relates to a sink or\n# source.\n#\n# The [name] field specifies the name of source or sink.\n#\n# The [options] field is the specific property of this source or sink. The\n# source or sink is responsible for parsing this property.\n#\n# Notes:\n# 1. To add a new sink, set the \"class\" option to a fully qualified class\n# name (see examples below).\n# 2. Some sinks involve a polling period. The minimum allowed polling period\n# is 1 second.\n# 3. Wild card properties can be overridden by more specific properties.\n# For example, master.sink.console.period takes precedence over\n# *.sink.console.period.\n# 4. A metrics specific configuration\n# \"spark.metrics.conf=${SPARK_HOME}/conf/metrics.properties\" should be\n# added to Java properties using -Dspark.metrics.conf=xxx if you want to\
 n# customize metrics system. You can also put the file in ${SPARK_HOME}/conf\n# and it will be loaded automatically.\n# 5. MetricsServlet is added by default as a sink in master, worker and client\n# driver, you can send http request \"/metrics/json\" to get a snapshot of all the\n# registered metrics in json format. For master, requests \"/metrics/master/json\" and\n# \"/metrics/applications/json\" can be sent seperately to get metrics snapshot of\n# instance master and applications. MetricsServlet may not be configured by self.\n#\n\n## List of available sinks and their properties.\n\n# org.apache.spark.metrics.sink.ConsoleSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n\n# org.apache.spark.metrics.sink.CSVSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n# directory /tmp Where to store CSV files\n\n# org.apache.spark.metrics.sink.GangliaSink\n# Name: Default: Description:\n# host N
 ONE Hostname or multicast group of Ganglia server\n# port NONE Port of Ganglia server(s)\n# period 10 Poll period\n# unit seconds Units of poll period\n# ttl 1 TTL of messages sent by Ganglia\n# mode multicast Ganglia network mode ('unicast' or 'multicast')\n\n# org.apache.spark.metrics.sink.JmxSink\n\n# org.apache.spark.metrics.sink.MetricsServlet\n# Name: Default: Description:\n# path VARIES* Path prefix from the web server root\n# sample false Whether to show entire set of samples for histograms ('false' or 'true')\n#\n# * Default path is /metrics/json for all instances except the master. The master has two paths:\n# /metrics/aplications/json # App information\n# /metrics/master/json # Master information\n\n# org.apache.spark.metrics.sink.GraphiteSink\n# Name: Default: Description:\n# host NONE Hostname of Graphite server\n# port NONE Port of Graphite server\n# period 10 Poll period\n# unit seconds Units of poll period\n# prefix EMPTY STRING Prefix to prepend to metric name\n\n##
  Examples\n# Enable JmxSink for all instances by class name\n#*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink\n\n# Enable ConsoleSink for all instances by class name\n#*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink\n\n# Polling period for ConsoleSink\n#*.sink.console.period=10\n\n#*.sink.console.unit=seconds\n\n# Master instance overlap polling period\n#master.sink.console.period=15\n\n#master.sink.console.unit=seconds\n\n# Enable CsvSink for all instances\n#*.sink.csv.class=org.apache.spark.metrics.sink.CsvSink\n\n# Polling period for CsvSink\n#*.sink.csv.period=1\n\n#*.sink.csv.unit=minutes\n\n# Polling directory for CsvSink\n#*.sink.csv.directory=/tmp/\n\n# Worker instance overlap polling period\n#worker.sink.csv.period=10\n\n#worker.sink.csv.unit=minutes\n\n# Enable jvm source for instance master, worker, driver and executor\n#master.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#worker.source.jvm.class=org.apache.spark.metrics.source.JvmSo
 urce\n\n#driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource"
+    },
+    "spark-metrics-properties": {
+      "content": "\n# syntax: [instance].sink|source.[name].[options]=[value]\n\n# This file configures Spark's internal metrics system. The metrics system is\n# divided into instances which correspond to internal components.\n# Each instance can be configured to report its metrics to one or more sinks.\n# Accepted values for [instance] are \"master\", \"worker\", \"executor\", \"driver\",\n# and \"applications\". A wild card \"*\" can be used as an instance name, in\n# which case all instances will inherit the supplied property.\n#\n# Within an instance, a \"source\" specifies a particular set of grouped metrics.\n# there are two kinds of sources:\n# 1. Spark internal sources, like MasterSource, WorkerSource, etc, which will\n# collect a Spark component's internal state. Each instance is paired with a\n# Spark source that is added automatically.\n# 2. Common sources, like JvmSource, which will collect low level state.\n# These can be added through configuration options and are then
  loaded\n# using reflection.\n#\n# A \"sink\" specifies where metrics are delivered to. Each instance can be\n# assigned one or more sinks.\n#\n# The sink|source field specifies whether the property relates to a sink or\n# source.\n#\n# The [name] field specifies the name of source or sink.\n#\n# The [options] field is the specific property of this source or sink. The\n# source or sink is responsible for parsing this property.\n#\n# Notes:\n# 1. To add a new sink, set the \"class\" option to a fully qualified class\n# name (see examples below).\n# 2. Some sinks involve a polling period. The minimum allowed polling period\n# is 1 second.\n# 3. Wild card properties can be overridden by more specific properties.\n# For example, master.sink.console.period takes precedence over\n# *.sink.console.period.\n# 4. A metrics specific configuration\n# \"spark.metrics.conf=${SPARK_HOME}/conf/metrics.properties\" should be\n# added to Java properties using -Dspark.metrics.conf=xxx if you want to\
 n# customize metrics system. You can also put the file in ${SPARK_HOME}/conf\n# and it will be loaded automatically.\n# 5. MetricsServlet is added by default as a sink in master, worker and client\n# driver, you can send http request \"/metrics/json\" to get a snapshot of all the\n# registered metrics in json format. For master, requests \"/metrics/master/json\" and\n# \"/metrics/applications/json\" can be sent seperately to get metrics snapshot of\n# instance master and applications. MetricsServlet may not be configured by self.\n#\n\n## List of available sinks and their properties.\n\n# org.apache.spark.metrics.sink.ConsoleSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n\n# org.apache.spark.metrics.sink.CSVSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n# directory /tmp Where to store CSV files\n\n# org.apache.spark.metrics.sink.GangliaSink\n# Name: Default: Description:\n# host N
 ONE Hostname or multicast group of Ganglia server\n# port NONE Port of Ganglia server(s)\n# period 10 Poll period\n# unit seconds Units of poll period\n# ttl 1 TTL of messages sent by Ganglia\n# mode multicast Ganglia network mode ('unicast' or 'multicast')\n\n# org.apache.spark.metrics.sink.JmxSink\n\n# org.apache.spark.metrics.sink.MetricsServlet\n# Name: Default: Description:\n# path VARIES* Path prefix from the web server root\n# sample false Whether to show entire set of samples for histograms ('false' or 'true')\n#\n# * Default path is /metrics/json for all instances except the master. The master has two paths:\n# /metrics/aplications/json # App information\n# /metrics/master/json # Master information\n\n# org.apache.spark.metrics.sink.GraphiteSink\n# Name: Default: Description:\n# host NONE Hostname of Graphite server\n# port NONE Port of Graphite server\n# period 10 Poll period\n# unit seconds Units of poll period\n# prefix EMPTY STRING Prefix to prepend to metric name\n\n##
  Examples\n# Enable JmxSink for all instances by class name\n#*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink\n\n# Enable ConsoleSink for all instances by class name\n#*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink\n\n# Polling period for ConsoleSink\n#*.sink.console.period=10\n\n#*.sink.console.unit=seconds\n\n# Master instance overlap polling period\n#master.sink.console.period=15\n\n#master.sink.console.unit=seconds\n\n# Enable CsvSink for all instances\n#*.sink.csv.class=org.apache.spark.metrics.sink.CsvSink\n\n# Polling period for CsvSink\n#*.sink.csv.period=1\n\n#*.sink.csv.unit=minutes\n\n# Polling directory for CsvSink\n#*.sink.csv.directory=/tmp/\n\n# Worker instance overlap polling period\n#worker.sink.csv.period=10\n\n#worker.sink.csv.unit=minutes\n\n# Enable jvm source for instance master, worker, driver and executor\n#master.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#worker.source.jvm.class=org.apache.spark.metrics.source.JvmSo
 urce\n\n#driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource"
+    },
+    "livy-log4j-properties": {
+      "content": "\n            # Set everything to be logged to the console\n            log4j.rootCategory=INFO, console\n            log4j.appender.console=org.apache.log4j.ConsoleAppender\n            log4j.appender.console.target=System.err\n            log4j.appender.console.layout=org.apache.log4j.PatternLayout\n            log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n            log4j.logger.org.eclipse.jetty=WARN"
+    },
+    "livy2-log4j-properties": {
+      "content": "\n            # Set everything to be logged to the console\n            log4j.rootCategory=INFO, console\n            log4j.appender.console=org.apache.log4j.ConsoleAppender\n            log4j.appender.console.target=System.err\n            log4j.appender.console.layout=org.apache.log4j.PatternLayout\n            log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n            log4j.logger.org.eclipse.jetty=WARN"
+    },
+    "livy-conf": {
+      "livy.server.port": "8998",
+      "livy.server.csrf_protection.enabled": "true",
+      "livy.environment": "production",
+      "livy.impersonation.enabled": "true",
+      "livy.server.session.timeout": "3600000"
+    },
+    "livy2-conf": {
+      "livy.server.port": "8999",
+      "livy.server.csrf_protection.enabled": "true",
+      "livy.environment": "production",
+      "livy.impersonation.enabled": "true",
+      "livy.server.session.timeout": "3600000"
+    },
+    "livy-spark-blacklist": {
+      "content": "\n            #\n            # Configuration override / blacklist. Defines a list of properties that users are not allowed\n            # to override when starting Spark sessions.\n            #\n            # This file takes a list of property names (one per line). Empty lines and lines starting with \"#\"\n            # are ignored.\n            #"
+    },
+    "livy2-spark-blacklist": {
+      "content": "\n            #\n            # Configuration override / blacklist. Defines a list of properties that users are not allowed\n            # to override when starting Spark sessions.\n            #\n            # This file takes a list of property names (one per line). Empty lines and lines starting with \"#\"\n            # are ignored.\n            #"
+    },
+    "livy-env": {
+      "livy_group": "livy",
+      "spark_home": "/usr/hdp/current/spark-client",
+      "content": "\n            #!/usr/bin/env bash\n\n            # - SPARK_HOME      Spark which you would like to use in livy\n            # - HADOOP_CONF_DIR Directory containing the Hadoop / YARN configuration to use.\n            # - LIVY_LOG_DIR    Where log files are stored.  (Default: ${LIVY_HOME}/logs)\n            # - LIVY_PID_DIR    Where the pid file is stored. (Default: /tmp)\n            # - LIVY_SERVER_JAVA_OPTS  Java Opts for running livy server (You can set jvm related setting here, like jvm memory/gc algorithm and etc.)\n        export SPARK_HOME=/usr/hdp/current/spark-client\n        export HADOOP_CONF_DIR=/etc/hadoop/conf\n        export LIVY_LOG_DIR={{livy_log_dir}}\n        export LIVY_PID_DIR={{livy_pid_dir}}\n        export LIVY_SERVER_JAVA_OPTS=\"-Xmx2g\"",
+      "livy_pid_dir": "/var/run/livy",
+      "livy_log_dir": "/var/log/livy",
+      "livy_user": "livy"
+    },
+    "livy2-env": {
+      "livy2_group": "livy",
+      "spark_home": "/usr/hdp/current/spark2-client",
+      "content": "\n            #!/usr/bin/env bash\n\n            # - SPARK_HOME      Spark which you would like to use in livy\n            # - HADOOP_CONF_DIR Directory containing the Hadoop / YARN configuration to use.\n            # - LIVY_LOG_DIR    Where log files are stored.  (Default: ${LIVY_HOME}/logs)\n            # - LIVY_PID_DIR    Where the pid file is stored. (Default: /tmp)\n            # - LIVY_SERVER_JAVA_OPTS  Java Opts for running livy server (You can set jvm related setting here, like jvm memory/gc algorithm and etc.)\n        export SPARK_HOME=/usr/hdp/current/spark2-client\n        export HADOOP_CONF_DIR=/etc/hadoop/conf\n        export LIVY_LOG_DIR={{livy_log_dir}}\n        export LIVY_PID_DIR={{livy_pid_dir}}\n        export LIVY_SERVER_JAVA_OPTS=\"-Xmx2g\"",
+      "livy2_pid_dir": "/var/run/livy2",
+      "livy2_log_dir": "/var/log/livy2",
+      "livy2_user": "livy"
+    },
+    "infra-solr-env": {
+      "infra_solr_znode": "/infra-solr",
+      "infra_solr_user": "solr",
+      "infra_solr_client_log_dir" :"/var/log/ambari-infra-solr-client"
+    },
+    "infra-solr-client-log4j" : {
+      "infra_solr_client_log_dir" : "/var/log/ambari-infra-solr-client",
+      "content" : "content"
+    },
+    "application-properties": {
+      "atlas.cluster.name" : "c2",
+      "atlas.rest.address": "http://c6401.ambari.apache.org:21000",
+      "atlas.graph.storage.backend": "berkeleyje",
+      "atlas.graph.storage.directory": "data/berkley",
+      "atlas.graph.index.search.backend": "solr5",
+      "atlas.graph.index.search.directory": "data/es",
+      "atlas.graph.index.search.elasticsearch.client-only": false,
+      "atlas.graph.index.search.elasticsearch.local-mode": true,
+      "atlas.lineage.hive.table.type.name": "Table",
+      "atlas.lineage.hive.column.type.name": "Column",
+      "atlas.lineage.hive.table.column.name": "columns",
+      "atlas.lineage.hive.process.type.name": "LoadProcess",
+      "atlas.lineage.hive.process.inputs.name": "inputTables",
+      "atlas.lineage.hive.process.outputs.name": "outputTables",
+      "atlas.enableTLS": false,
+      "atlas.authentication.method": "simple",
+      "atlas.authentication.principal": "atlas",
+      "atlas.authentication.keytab": "/etc/security/keytabs/atlas.service.keytab",
+      "atlas.http.authentication.enabled": false,
+      "atlas.http.authentication.type": "simple",
+      "atlas.http.authentication.kerberos.principal": "HTTP/_HOST@EXAMPLE.COM",
+      "atlas.http.authentication.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab",
+      "atlas.http.authentication.kerberos.name.rules": "DEFAULT",
+      "atlas.server.http.port" : "21000",
+      "atlas.notification.embedded" : false,
+      "atlas.kafka.bootstrap.servers" : "c6401.ambari.apache.org:6667",
+      "atlas.kafka.data" : "/usr/hdp/current/atlas-server/data/kafka",
+      "atlas.kafka.entities.group.id" : "entities",
+      "atlas.kafka.hook.group.id" : "atlas",
+      "atlas.kafka.zookeeper.connect" : "c6401.ambari.apache.org:2181"
+    },
+    "atlas-env": {
+      "content": "# The java implementation to use. If JAVA_HOME is not found we expect java and jar to be in path\nexport JAVA_HOME={{java64_home}}\n# any additional java opts you want to set. This will apply to both client and server operations\nexport METADATA_OPTS={{metadata_opts}}\n# metadata configuration directory\nexport METADATA_CONF={{conf_dir}}\n# Where log files are stored. Defatult is logs directory under the base install location\nexport METADATA_LOG_DIR={{log_dir}}\n# additional classpath entries\nexport METADATACPPATH={{metadata_classpath}}\n# data dir\nexport METADATA_DATA_DIR={{data_dir}}\n# Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir.\nexport METADATA_EXPANDED_WEBAPP_DIR={{expanded_war_dir}}",
+      "metadata_user": "atlas",
+      "metadata_port": 21000,
+      "metadata_pid_dir": "/var/run/atlas",
+      "metadata_log_dir": "/var/log/atlas",
+      "metadata_data_dir": "/var/lib/atlas/data",
+      "metadata_expanded_war_dir": "/var/lib/atlas/server/webapp"
+    },
+    "atlas-log4j": {
+      "content": "<property><name>content</name><description>Custom log4j.properties</description><value></value></property>",
+      "atlas_log_level": "debug",
+      "audit_log_level": "OFF"
+    },
+    "atlas-solrconfig": {
+      "content": "<property><name>content</name><description>Custom solrconfig properties</description><value></value></property>"
+    },
+    "zeppelin-env": {
+      "zeppelin.server.kerberos.keytab": "", 
+      "shiro_ini_content": "\n[users]\n# List of users with their password allowed to access Zeppelin.\n# To use a different strategy (LDAP / Database / ...) check the shiro doc at http://shiro.apache.org/configuration.html#Configuration-INISections\n#admin = password1\n#user1 = password2, role1, role2\n#user2 = password3, role3\n#user3 = password4, role2\n\n# Sample LDAP configuration, for user Authentication, currently tested for single Realm\n[main]\n#ldapRealm = org.apache.shiro.realm.ldap.JndiLdapRealm\n#ldapRealm.userDnTemplate = uid={0},cn=users,cn=accounts,dc=hortonworks,dc=com\n#ldapRealm.contextFactory.url = ldap://ldaphost:389\n#ldapRealm.contextFactory.authenticationMechanism = SIMPLE\n#sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager\n#securityManager.sessionManager = $sessionManager\n# 86,400,000 milliseconds = 24 hour\n#securityManager.sessionManager.globalSessionTimeout = 86400000\nshiro.loginUrl = /api/login\n\n[urls]\n# anon means the acce
 ss is anonymous.\n# authcBasic means Basic Auth Security\n# To enfore security, comment the line below and uncomment the next one\n/api/version = anon\n/** = anon\n#/** = authc", 
+      "zeppelin.spark.jar.dir": "/apps/zeppelin", 
+      "zeppelin.executor.mem": "512m", 
+      "zeppelin_pid_dir": "/var/run/zeppelin", 
+      "zeppelin.executor.instances": "2", 
+      "log4j_properties_content": "\nlog4j.rootLogger = INFO, dailyfile\nlog4j.appender.stdout = org.apache.log4j.ConsoleAppender\nlog4j.appender.stdout.layout = org.apache.log4j.PatternLayout\nlog4j.appender.stdout.layout.ConversionPattern=%5p [%d] ({%t} %F[%M]:%L) - %m%n\nlog4j.appender.dailyfile.DatePattern=.yyyy-MM-dd\nlog4j.appender.dailyfile.Threshold = INFO\nlog4j.appender.dailyfile = org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.dailyfile.File = ${zeppelin.log.file}\nlog4j.appender.dailyfile.layout = org.apache.log4j.PatternLayout\nlog4j.appender.dailyfile.layout.ConversionPattern=%5p [%d] ({%t} %F[%M]:%L) - %m%n",
+      "zeppelin.server.kerberos.principal": "", 
+      "zeppelin_user": "zeppelin", 
+      "zeppelin_env_content": "\n# Spark master url. eg. spark://master_addr:7077. Leave empty if you want to use local mode\nexport MASTER=yarn-client\nexport SPARK_YARN_JAR={{spark_jar}}\n\n\n# Where log files are stored.  PWD by default.\nexport ZEPPELIN_LOG_DIR={{zeppelin_log_dir}}\n\n# The pid files are stored. /tmp by default.\nexport ZEPPELIN_PID_DIR={{zeppelin_pid_dir}}\n\n\nexport JAVA_HOME={{java64_home}}\n\n# Additional jvm options. for example, export ZEPPELIN_JAVA_OPTS=\"-Dspark.executor.memory=8g -Dspark.cores.max=16\"\nexport ZEPPELIN_JAVA_OPTS=\"-Dhdp.version={{full_stack_version}} -Dspark.executor.memory={{executor_mem}} -Dspark.executor.instances={{executor_instances}} -Dspark.yarn.queue={{spark_queue}}\"\n\n\n# Zeppelin jvm mem options Default -Xmx1024m -XX:MaxPermSize=512m\n# export ZEPPELIN_MEM\n\n# zeppelin interpreter process jvm mem options. Defualt = ZEPPELIN_MEM\n# export ZEPPELIN_INTP_MEM\n\n# zeppelin interpreter process jvm options. Default = ZEPPELIN_JA
 VA_OPTS\n# export ZEPPELIN_INTP_JAVA_OPTS\n\n# Where notebook saved\n# export ZEPPELIN_NOTEBOOK_DIR\n\n# Id of notebook to be displayed in homescreen. ex) 2A94M5J1Z\n# export ZEPPELIN_NOTEBOOK_HOMESCREEN\n\n# hide homescreen notebook from list when this value set to \"true\". default \"false\"\n# export ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE\n\n# Bucket where notebook saved\n# export ZEPPELIN_NOTEBOOK_S3_BUCKET\n\n# User in bucket where notebook saved. For example bucket/user/notebook/2A94M5J1Z/note.json\n# export ZEPPELIN_NOTEBOOK_S3_USER\n\n# A string representing this instance of zeppelin. $USER by default\n# export ZEPPELIN_IDENT_STRING\n\n# The scheduling priority for daemons. Defaults to 0.\n# export ZEPPELIN_NICENESS\n\n\n#### Spark interpreter configuration ####\n\n## Use provided spark installation ##\n## defining SPARK_HOME makes Zeppelin run spark interpreter process using spark-submit\n##\n# (required) When it is defined, load it instead of Zeppelin embedded Spark libraries\n
 export SPARK_HOME={{spark_home}}\n\n# (optional) extra options to pass to spark submit. eg) \"--driver-memory 512M --executor-memory 1G\".\n# export SPARK_SUBMIT_OPTIONS\n\n## Use embedded spark binaries ##\n## without SPARK_HOME defined, Zeppelin still able to run spark interpreter process using embedded spark binaries.\n## however, it is not encouraged when you can define SPARK_HOME\n##\n# Options read in YARN client mode\n# yarn-site.xml is located in configuration directory in HADOOP_CONF_DIR.\nexport HADOOP_CONF_DIR=/etc/hadoop/conf\n\n# Pyspark (supported with Spark 1.2.1 and above)\n# To configure pyspark, you need to set spark distribution's path to 'spark.home' property in Interpreter setting screen in Zeppelin GUI\n# path to the python command. must be the same path on the driver(Zeppelin) and all workers.\n# export PYSPARK_PYTHON\n\nexport PYTHONPATH=\"${SPARK_HOME}/python:${SPARK_HOME}/python/lib/py4j-0.8.2.1-src.zip\"\nexport SPARK_YARN_USER_ENV=\"PYTHONPATH=${PYTHONPAT
 H}\"\n\n## Spark interpreter options ##\n##\n# Use HiveContext instead of SQLContext if set true. true by default.\n# export ZEPPELIN_SPARK_USEHIVECONTEXT\n\n# Execute multiple SQL concurrently if set true. false by default.\n# export ZEPPELIN_SPARK_CONCURRENTSQL\n\n# Max number of SparkSQL result to display. 1000 by default.\n# export ZEPPELIN_SPARK_MAXRESULT", 
+      "zeppelin_log_dir": "/var/log/zeppelin", 
+      "zeppelin_group": "zeppelin"
+    },
+"zeppelin-config": {
+            "zeppelin.server.port": "9995",
+            "zeppelin.server.ssl.port": "9995",
+            "zeppelin.ssl.truststore.password": "change me", 
+            "zeppelin.interpreters": "org.apache.zeppelin.spark.SparkInterpreter,org.apache.zeppelin.spark.PySparkInterpreter,org.apache.zeppelin.spark.SparkSqlInterpreter,org.apache.zeppelin.spark.DepInterpreter,org.apache.zeppelin.markdown.Markdown,org.apache.zeppelin.angular.AngularInterpreter,org.apache.zeppelin.shell.ShellInterpreter,org.apache.zeppelin.jdbc.JDBCInterpreter,org.apache.zeppelin.phoenix.PhoenixInterpreter,org.apache.zeppelin.livy.LivySparkInterpreter,org.apache.zeppelin.livy.LivyPySparkInterpreter,org.apache.zeppelin.livy.LivySparkRInterpreter,org.apache.zeppelin.livy.LivySparkSQLInterpreter",
+            "zeppelin.interpreter.group.order": "spark,angular,jdbc,livy,md,sh",
+            "zeppelin.ssl.truststore.path": "conf/truststore", 
+            "zeppelin.notebook.dir": "notebook", 
+            "zeppelin.ssl.keystore.password": "change me", 
+            "zeppelin.ssl.keystore.path": "conf/keystore", 
+            "zeppelin.server.addr": "0.0.0.0", 
+            "zeppelin.ssl.client.auth": "false", 
+            "zeppelin.notebook.homescreen": " ", 
+            "zeppelin.interpreter.dir": "interpreter", 
+            "zeppelin.ssl.keystore.type": "JKS", 
+            "zeppelin.notebook.s3.user": "user", 
+            "zeppelin.ssl.key.manager.password": "change me", 
+            "zeppelin.anonymous.allowed": "true", 
+            "zeppelin.ssl.truststore.type": "JKS", 
+            "zeppelin.ssl": "false", 
+            "zeppelin.notebook.storage": "org.apache.zeppelin.notebook.repo.VFSNotebookRepo", 
+            "zeppelin.websocket.max.text.message.size": "1024000", 
+            "zeppelin.interpreter.connect.timeout": "30000", 
+            "zeppelin.notebook.s3.bucket": "zeppelin", 
+            "zeppelin.notebook.homescreen.hide": "false", 
+            "zeppelin.server.allowed.origins": "*"
+        },
+    "zoo.cfg": {
+      "clientPort": "2181"
+    },
+    "ranger-hbase-plugin-properties": {
+      "ranger-hbase-plugin-enabled":"yes"
+    },
+    "ranger-hive-plugin-properties": {
+      "ranger-hive-plugin-enabled":"yes"
+    },
+    "ranger-env": {
+      "xml_configurations_supported" : "true"
+    },
+    "tagsync-application-properties": {
+            "atlas.kafka.hook.group.id": "atlas",
+            "atlas.kafka.zookeeper.connect": "os-mv-31-dev-4.novalocal:2181",
+            "atlas.kafka.acks": "1",
+            "atlas.kafka.entities.group.id": "ranger_entities_consumer",
+            "atlas.kafka.data": "/usr/hdp/current/atlas-server/data/kafka",
+            "atlas.kafka.bootstrap.servers": "localhost:2181",
+            "atlas.notification.embedded": "false"
+    },
+    "ranger-tagsync-site": {
+            "ranger.tagsync.sink.impl.class": "org.apache.ranger.tagsync.sink.tagadmin.TagAdminRESTSink",
+            "ranger.tagsync.atlasrestsource.endpoint": "",
+            "ranger.tagsync.tagadmin.rest.ssl.config.file": "/usr/hdp/current/ranger-tagsync/conf/mytruststore.jks",
+            "ranger.tagsync.logdir": "/var/log/ranger/tagsync",
+            "ranger.tagsync.filesource.filename": "/usr/hdp/current/ranger-tagsync/conf/etc/ranger/data/tags.json",
+            "ranger.tagsync.enabled": "true",
+            "ranger.tagsync.tagadmin.rest.url": "{{ranger_external_url}}",
+            "ranger.tagsync.atlasrestsource.download.interval": "",
+            "ranger.tagsync.filesource.modtime.check.interval": "60000",
+            "ranger.tagsync.tagadmin.password": "rangertagsync",
+            "ranger.tagsync.source.impl.class": "file",
+            "ranger.tagsync.source.atlas.custom.resource.mappers": "",
+            "ranger.tagsync.tagadmin.alias": "tagsync.tagadmin",
+            "ranger.tagsync.tagadmin.keystore": "/usr/hdp/current/ranger-tagsync/conf/rangertagsync.jceks",
+            "ranger.tagsync.atlas.to.service.mapping": ""
+    },
+    "druid-env": {
+      "druid_log_dir" : "/var/log/druid",
+      "druid_pid_dir" : "/var/run/druid",
+      "content" : "#!/bin/bash\n # Set DRUID specific environment variables here.\n# The java implementation to use\nexport JAVA_HOME={{java8_home}}\nexport PATH=$PATH:$JAVA_HOME/bin\nexport DRUID_PID_DIR={{druid_pid_dir}}\nexport DRUID_LOG_DIR={{druid_log_dir}}\nexport DRUID_CONF_DIR={{druid_conf_dir}}\nexport DRUID_LIB_DIR={{druid_home}}/lib",
+      "druid.coordinator.jvm.heap.memory" : 1024,
+      "druid.coordinator.jvm.direct.memory": 2048,
+      "druid.coordinator.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.broker.jvm.heap.memory" : 1024,
+      "druid.broker.jvm.direct.memory": 2048,
+      "druid.broker.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.middlemanager.jvm.heap.memory" : 1024,
+      "druid.middlemanager.jvm.direct.memory": 2048,
+      "druid.middlemanager.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.historical.jvm.heap.memory" : 1024,
+      "druid.historical.jvm.direct.memory": 2048,
+      "druid.historical.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.overlord.jvm.heap.memory" : 1024,
+      "druid.overlord.jvm.direct.memory": 2048,
+      "druid.overlord.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid.router.jvm.heap.memory" : 1024,
+      "druid.router.jvm.direct.memory": 2048,
+      "druid.router.jvm.opts": "-Duser.timezone=UTC -Dfile.encoding=UTF-8",
+      "druid_user": "druid"
+    },
+    "druid-common" : {
+      "druid.metadata.storage.type" : "mysql",
+      "druid.metadata.storage.connector.connectURI" : "jdbc:mysql://my-db-host:3306/druid?createDatabaseIfNotExist=true",
+      "druid.metadata.storage.connector.user" : "druid",
+      "druid.metadata.storage.connector.password" : "diurd",
+      "druid.storage.type" : "hdfs",
+      "druid.storage.storageDirectory" : "/user/druid/data",
+      "druid.indexer.logs.type": "hdfs",
+      "druid.indexer.logs.directory": "/user/druid/logs",
+      "druid.extensions.pullList": "[\"custom-druid-extension\"]",
+      "druid.extensions.repositoryList": "[\"http://custom-mvn-repo/public/release\"]",
+      "druid.extensions.loadList": "[\"mysql-metadata-storage\", \"druid-datasketches\"]",
+      "druid.security.extensions.loadList": "[\"druid-kerberos\"]"
+    },
+    "druid-historical" : {
+      "druid.segmentCache.infoDir" : "/apps/druid/segmentCache/info_dir",
+      "druid.segmentCache.locations" :"[{\"path\":\"/apps/druid/segmentCache\",\"maxSize\":300000000000}]"
+    },
+    "druid-coordinator" : {
+      "druid.service" : "druid/coordinator"
+    },
+    "druid-overlord" : {
+      "druid.service" : "druid/overlord"
+    },
+    "druid-broker" : {
+      "druid.service" : "druid/broker"
+    },
+    "druid-middlemanager" : {
+      "druid.service" : "druid/middlemanager",
+      "druid.indexer.task.hadoopWorkingPath" : "/tmp/druid-indexing",
+      "druid.indexer.task.baseTaskDir" : "/apps/druid/tasks"
+    },
+    "druid-router" : {
+      "druid.service" : "druid/router"
+    },
+    "druid-log4j" : {
+      "content" : "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!--\n  ~ Licensed to the Apache Software Foundation (ASF) under one\n  ~ or more contributor license agreements.  See the NOTICE file\n  ~ distributed with this work for additional information\n  ~ regarding copyright ownership.  The ASF licenses this file\n  ~ to you under the Apache License, Version 2.0 (the\n  ~ \"License\"); you may not use this file except in compliance\n  ~ with the License.  You may obtain a copy of the License at\n  ~\n  ~     http://www.apache.org/licenses/LICENSE-2.0\n  ~\n  ~ Unless required by applicable law or agreed to in writing, software\n  ~ distributed under the License is distributed on an \"AS IS\" BASIS,\n  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  ~ See the License for the specific language governing permissions and\n  ~ limitations under the License.\n  -->\n    <Configuration>\n        <Appenders>\n            <Console name=\"Console\
 " target=\"SYSTEM_OUT\">\n                <PatternLayout pattern=\"%d{ISO8601} %p [%t] %c - %m%n\"/>\n            </Console>\n        </Appenders>\n        <Loggers>\n            <Logger name=\"com.metamx\" level=\"{{metamx_log_level}}\"/>\n            <Logger name=\"io.druid\" level=\"{{druid_log_level}}\"/>\n            <Root level=\"{{root_log_level}}\">\n                <AppenderRef ref=\"Console\"/>\n            </Root>\n        </Loggers>\n    </Configuration>\n      ]]>\n"
+    },
+    "druid-logrotate" : {
+      "content" : "<![CDATA[\n    {{druid_log_dir}}/*.log {\n        copytruncate\n        rotate 7\n        daily\n        nocompress\n        missingok\n        notifempty\n        create 660 druid users\n        dateext\n        dateformat -%Y-%m-%d-%s\n        }\n      ]]>\n"
+    },
+    "druid-superset" : {
+      "SUPERSET_DATABASE_TYPE" : "sqllite"
+    }
+  },
+  "configuration_attributes": {
+    "sqoop-site": {},
+    "yarn-site": {
+      "final": {
+        "yarn.nodemanager.disk-health-checker.min-healthy-disks": "true",
+        "yarn.nodemanager.container-executor.class": "true",
+        "yarn.nodemanager.local-dirs": "true"
+      }
+    },
+    "yarn-site": {
+      "final": {
+        "is_supported_yarn_ranger": "true"
+      }
+    },
+    "hdfs-site": {
+      "final": {
+        "dfs.web.ugi": "true",
+        "dfs.support.append": "true",
+        "dfs.cluster.administrators": "true"
+      }
+    },
+    "core-site": {
+      "final": {
+        "hadoop.proxyuser.hive.groups": "true",
+        "webinterface.private.actions": "true",
+        "hadoop.proxyuser.oozie.hosts": "true"
+      }
+    },
+    "knox-env": {},
+    "gateway-site": {},
+    "users-ldif": {},
+    "kafka-env": {},
+    "kafka-log4j": {},
+    "kafka-broker": {},
+    "metadata-env": {},
+    "atlas-hbase-site": {},
+    "tagsync-application-properties": {},
+    "ranger-tagsync-site": {}
+  },
+  "configurationTags": {
+    "slider-client": {
+      "tag": "version1"
+    },
+    "slider-log4j": {
+      "tag": "version1"
+    },
+    "slider-env": {
+      "tag": "version1"
+    },
+    "core-site": {
+      "tag": "version1"
+    },
+    "hdfs-site": {
+      "tag": "version1"
+    },
+    "yarn-site": {
+      "tag": "version1"
+    },
+    "gateway-site": {
+      "tag": "version1"
+    },
+    "topology": {
+      "tag": "version1"
+    },
+    "users-ldif": {
+      "tag": "version1"
+    },
+    "kafka-env": {
+      "tag": "version1"
+    },
+    "kafka-log4j": {
+      "tag": "version1"
+    },
+    "kafka-broker": {
+      "tag": "version1"
+    },
+    "metadata-env": {
+      "tag": "version1"
+    },
+    "tagsync-application-properties": {
+      "tag": "version1"
+    },
+    "ranger-tagsync-site": {
+      "tag": "version1"
+    }
+  },
+  "commandId": "7-1",
+  "clusterHostInfo": {
+    "ambari_server_host": [
+      "c6401.ambari.apache.org"
+    ],
+    "all_ping_ports": [
+      "8670",
+      "8670"
+    ],
+    "rm_host": [
+      "c6402.ambari.apache.org"
+    ],
+    "all_hosts": [
+      "c6401.ambari.apache.org",
+      "c6402.ambari.apache.org"
+    ],
+    "knox_gateway_hosts": [
+      "jaimin-knox-1.c.pramod-thangali.internal"
+    ],
+    "kafka_broker_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "infra_solr_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "zookeeper_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "ranger_tagsync_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "atlas_server_hosts": [
+      "c6401.ambari.apache.org"
+    ],
+    "zeppelin_master_hosts": [
+      "c6401.ambari.apache.org"
+    ]
+  }
+}