http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metrics.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metrics.json b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metrics.json new file mode 100644 index 0000000..c2776ab --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metrics.json @@ -0,0 +1,1077 @@ +{ + "STORM_REST_API": { + "Component": [ + { + "type": "org.apache.ambari.server.controller.metrics.RestMetricsPropertyProvider", + "properties" : { + "default_port": "8745", + "port_config_type": "storm-site", + "port_property_name": "storm.port", + "protocol": "http" + }, + "metrics": { + "metrics/api/cluster/summary/tasks.total": + { + "metric": "/api/cluster/summary##tasks.total", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/slots.total": { + "metric": "/api/cluster/summary##slots.total", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/slots.free": { + "metric": "/api/cluster/summary##slots.free", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/supervisors": { + "metric": "/api/cluster/summary##supervisors", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/executors.total": { + "metric": "/api/cluster/summary##executors.total", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/slots.used": { + "metric": "/api/cluster/summary##slots.used", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/topologies": { + "metric": "/api/cluster/summary##topologies", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/nimbus.uptime": { + "metric": "/api/cluster/summary##nimbus.uptime", + "pointInTime": true, + "temporal": false + } + } + } + ], + "HostComponent": [ + { + "type": "org.apache.ambari.server.controller.metrics.RestMetricsPropertyProvider", + "properties" : { + "default_port": "8745", + "port_config_type": "storm-site", + "port_property_name": "storm.port", + "protocol": "http" + }, + "metrics": { + "metrics/api/cluster/summary/tasks.total": + { + "metric": "/api/cluster/summary##tasks.total", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/slots.total": { + "metric": "/api/cluster/summary##slots.total", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/slots.free": { + "metric": "/api/cluster/summary##slots.free", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/supervisors": { + "metric": "/api/cluster/summary##supervisors", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/executors.total": { + "metric": "/api/cluster/summary##executors.total", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/slots.used": { + "metric": "/api/cluster/summary##slots.used", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/topologies": { + "metric": "/api/cluster/summary##topologies", + "pointInTime": true, + "temporal": false + }, + "metrics/api/cluster/summary/nimbus.uptime": { + "metric": "/api/cluster/summary##nimbus.uptime", + "pointInTime": true, + "temporal": false + } + } + } + ] + }, + "NIMBUS": { + "Component": [ + { + "type": "ganglia", + "metrics": { + "metrics/boottime": { + "metric": "boottime", + "pointInTime": true, + "temporal": true + }, + "metrics/network/bytes_in": { + "metric": "bytes_in", + "pointInTime": true, + "temporal": true + }, + "metrics/network/bytes_out": { + "metric": "bytes_out", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_aidle": { + "metric": "cpu_aidle", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_idle": { + "metric": "cpu_idle", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_nice": { + "metric": "cpu_nice", + "pointInTime": true, + "temporal": true + }, + + "metrics/cpu/cpu_num": { + "metric": "cpu_num", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_speed": { + "metric": "cpu_speed", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_system": { + "metric": "cpu_system", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_user": { + "metric": "cpu_user", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_wio": { + "metric": "cpu_wio", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/disk_free": { + "metric": "disk_free", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/disk_total": { + "metric": "disk_total", + "pointInTime": true, + "temporal": true + }, + "metrics/load_fifteen": { + "metric": "load_fifteen", + "pointInTime": true, + "temporal": true + }, + "metrics/load_five": { + "metric": "load_five", + "pointInTime": true, + "temporal": true + }, + "metrics/load_one": { + "metric": "load_one", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_buffers": { + "metric": "mem_buffers", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_cached": { + "metric": "mem_cached", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_free": { + "metric": "mem_free", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_shared": { + "metric": "mem_shared", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_total": { + "metric": "mem_total", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/part_max_used": { + "metric": "part_max_used", + "pointInTime": true, + "temporal": true + }, + "metrics/network/pkts_in": { + "metric": "pkts_in", + "pointInTime": true, + "temporal": true + }, + "metrics/network/pkts_out": { + "metric": "pkts_out", + "pointInTime": true, + "temporal": true + }, + "metrics/process/proc_run": { + "metric": "proc_run", + "pointInTime": true, + "temporal": true + }, + "metrics/process/proc_total": { + "metric": "proc_total", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/swap_free": { + "metric": "swap_free", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/swap_total": { + "metric": "swap_total", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/heap/committed": { + "metric": "Nimbus.JVM.Memory.Heap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/heap/init": { + "metric": "Nimbus.JVM.Memory.Heap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/heap/max": { + "metric": "Nimbus.JVM.Memory.Heap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/heap/used": { + "metric": "Nimbus.JVM.Memory.Heap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/nonheap/committed": { + "metric": "Nimbus.JVM.Memory.NonHeap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/nonheap/init": { + "metric": "Nimbus.JVM.Memory.NonHeap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/nonheap/max": { + "metric": "Nimbus.JVM.Memory.NonHeap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/nonheap/used": { + "metric": "Nimbus.JVM.Memory.NonHeap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/os/processcputime": { + "metric": "Nimbus.JVM.OS.ProcessCpuTime", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/threading/daemonthreadcount": { + "metric": "Nimbus.JVM.Threading.DaemonThreadCount", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/threading/threadcount": { + "metric": "Nimbus.JVM.Threading.ThreadCount", + "pointInTime": true, + "temporal": true + }, + + "metrics/storm/nimbus/freeslots": { + "metric": "Free Slots", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/supervisors": { + "metric": "Supervisors", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/topologies": { + "metric": "Topologies", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/totalexecutors": { + "metric": "Total Executors", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/totalslots": { + "metric": "Total Slots", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/totaltasks": { + "metric": "Total Tasks", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/usedslots": { + "metric": "Used Slots", + "pointInTime": true, + "temporal": true + } + } + } + ], + "HostComponent": [ + { + "type": "ganglia", + "metrics": { + "metrics/boottime": { + "metric": "boottime", + "pointInTime": true, + "temporal": true + }, + "metrics/network/bytes_in": { + "metric": "bytes_in", + "pointInTime": true, + "temporal": true + }, + "metrics/network/bytes_out": { + "metric": "bytes_out", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_aidle": { + "metric": "cpu_aidle", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_idle": { + "metric": "cpu_idle", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_nice": { + "metric": "cpu_nice", + "pointInTime": true, + "temporal": true + }, + + "metrics/cpu/cpu_num": { + "metric": "cpu_num", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_speed": { + "metric": "cpu_speed", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_system": { + "metric": "cpu_system", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_user": { + "metric": "cpu_user", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_wio": { + "metric": "cpu_wio", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/disk_free": { + "metric": "disk_free", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/disk_total": { + "metric": "disk_total", + "pointInTime": true, + "temporal": true + }, + "metrics/load_fifteen": { + "metric": "load_fifteen", + "pointInTime": true, + "temporal": true + }, + "metrics/load_five": { + "metric": "load_five", + "pointInTime": true, + "temporal": true + }, + "metrics/load_one": { + "metric": "load_one", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_buffers": { + "metric": "mem_buffers", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_cached": { + "metric": "mem_cached", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_free": { + "metric": "mem_free", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_shared": { + "metric": "mem_shared", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_total": { + "metric": "mem_total", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/part_max_used": { + "metric": "part_max_used", + "pointInTime": true, + "temporal": true + }, + "metrics/network/pkts_in": { + "metric": "pkts_in", + "pointInTime": true, + "temporal": true + }, + "metrics/network/pkts_out": { + "metric": "pkts_out", + "pointInTime": true, + "temporal": true + }, + "metrics/process/proc_run": { + "metric": "proc_run", + "pointInTime": true, + "temporal": true + }, + "metrics/process/proc_total": { + "metric": "proc_total", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/swap_free": { + "metric": "swap_free", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/swap_total": { + "metric": "swap_total", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/heap/committed": { + "metric": "Nimbus.JVM.Memory.Heap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/heap/init": { + "metric": "Nimbus.JVM.Memory.Heap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/heap/max": { + "metric": "Nimbus.JVM.Memory.Heap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/heap/used": { + "metric": "Nimbus.JVM.Memory.Heap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/nonheap/committed": { + "metric": "Nimbus.JVM.Memory.NonHeap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/nonheap/init": { + "metric": "Nimbus.JVM.Memory.NonHeap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/nonheap/max": { + "metric": "Nimbus.JVM.Memory.NonHeap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/memory/nonheap/used": { + "metric": "Nimbus.JVM.Memory.NonHeap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/os/processcputime": { + "metric": "Nimbus.JVM.OS.ProcessCpuTime", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/threading/daemonthreadcount": { + "metric": "Nimbus.JVM.Threading.DaemonThreadCount", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/nimbus/jvm/threading/threadcount": { + "metric": "Nimbus.JVM.Threading.ThreadCount", + "pointInTime": true, + "temporal": true + } + + } + } + ] + }, + "SUPERVISOR": { + "Component": [ + { + "type": "ganglia", + "metrics": { + "metrics/boottime": { + "metric": "boottime", + "pointInTime": true, + "temporal": true + }, + "metrics/network/bytes_in": { + "metric": "bytes_in", + "pointInTime": true, + "temporal": true + }, + "metrics/network/bytes_out": { + "metric": "bytes_out", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_aidle": { + "metric": "cpu_aidle", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_idle": { + "metric": "cpu_idle", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_nice": { + "metric": "cpu_nice", + "pointInTime": true, + "temporal": true + }, + + "metrics/cpu/cpu_num": { + "metric": "cpu_num", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_speed": { + "metric": "cpu_speed", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_system": { + "metric": "cpu_system", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_user": { + "metric": "cpu_user", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_wio": { + "metric": "cpu_wio", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/disk_free": { + "metric": "disk_free", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/disk_total": { + "metric": "disk_total", + "pointInTime": true, + "temporal": true + }, + "metrics/load_fifteen": { + "metric": "load_fifteen", + "pointInTime": true, + "temporal": true + }, + "metrics/load_five": { + "metric": "load_five", + "pointInTime": true, + "temporal": true + }, + "metrics/load_one": { + "metric": "load_one", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_buffers": { + "metric": "mem_buffers", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_cached": { + "metric": "mem_cached", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_free": { + "metric": "mem_free", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_shared": { + "metric": "mem_shared", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_total": { + "metric": "mem_total", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/part_max_used": { + "metric": "part_max_used", + "pointInTime": true, + "temporal": true + }, + "metrics/network/pkts_in": { + "metric": "pkts_in", + "pointInTime": true, + "temporal": true + }, + "metrics/network/pkts_out": { + "metric": "pkts_out", + "pointInTime": true, + "temporal": true + }, + "metrics/process/proc_run": { + "metric": "proc_run", + "pointInTime": true, + "temporal": true + }, + "metrics/process/proc_total": { + "metric": "proc_total", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/swap_free": { + "metric": "swap_free", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/swap_total": { + "metric": "swap_total", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/heap/committed": { + "metric": "Supervisor.JVM.Memory.Heap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/heap/init": { + "metric": "Supervisor.JVM.Memory.Heap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/heap/max": { + "metric": "Supervisor.JVM.Memory.Heap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/heap/used": { + "metric": "Supervisor.JVM.Memory.Heap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/nonheap/committed": { + "metric": "Supervisor.JVM.Memory.NonHeap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/nonheap/init": { + "metric": "Supervisor.JVM.Memory.NonHeap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/nonheap/max": { + "metric": "Supervisor.JVM.Memory.NonHeap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/nonheap/used": { + "metric": "Supervisor.JVM.Memory.NonHeap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/os/processcputime": { + "metric": "Supervisor.JVM.OS.ProcessCpuTime", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/threading/daemonthreadcount": { + "metric": "Supervisor.JVM.Threading.DaemonThreadCount", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/threading/threadcount": { + "metric": "Supervisor.JVM.Threading.ThreadCount", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/heap/committed": { + "metric": "Worker.(.+).JVM.Memory.Heap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/heap/init": { + "metric": "Worker.(.+).JVM.Memory.Heap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/heap/max": { + "metric": "Worker.(.+).JVM.Memory.Heap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/heap/used": { + "metric": "Worker.(.+).JVM.Memory.Heap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/nonheap/committed": { + "metric": "Worker.(.+).JVM.Memory.NonHeap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/nonheap/init": { + "metric": "Worker.(.+).JVM.Memory.NonHeap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/nonheap/max": { + "metric": "Worker.(.+).JVM.Memory.NonHeap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/nonheap/used": { + "metric": "Worker.(.+).JVM.Memory.NonHeap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/os/processcputime": { + "metric": "Worker.(.+).JVM.OS.ProcessCpuTime", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/threading/daemonthreadcount": { + "metric": "Worker.(.+).JVM.Threading.DaemonThreadCount", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/threading/threadcount": { + "metric": "Worker.(.+).JVM.Threading.ThreadCount", + "pointInTime": true, + "temporal": true + } + + + } + } + ], + "HostComponent": [ + { + "type": "ganglia", + "metrics": { + "metrics/boottime": { + "metric": "boottime", + "pointInTime": true, + "temporal": true + }, + "metrics/network/bytes_in": { + "metric": "bytes_in", + "pointInTime": true, + "temporal": true + }, + "metrics/network/bytes_out": { + "metric": "bytes_out", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_aidle": { + "metric": "cpu_aidle", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_idle": { + "metric": "cpu_idle", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_nice": { + "metric": "cpu_nice", + "pointInTime": true, + "temporal": true + }, + + "metrics/cpu/cpu_num": { + "metric": "cpu_num", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_speed": { + "metric": "cpu_speed", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_system": { + "metric": "cpu_system", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_user": { + "metric": "cpu_user", + "pointInTime": true, + "temporal": true + }, + "metrics/cpu/cpu_wio": { + "metric": "cpu_wio", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/disk_free": { + "metric": "disk_free", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/disk_total": { + "metric": "disk_total", + "pointInTime": true, + "temporal": true + }, + "metrics/load_fifteen": { + "metric": "load_fifteen", + "pointInTime": true, + "temporal": true + }, + "metrics/load_five": { + "metric": "load_five", + "pointInTime": true, + "temporal": true + }, + "metrics/load_one": { + "metric": "load_one", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_buffers": { + "metric": "mem_buffers", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_cached": { + "metric": "mem_cached", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_free": { + "metric": "mem_free", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_shared": { + "metric": "mem_shared", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/mem_total": { + "metric": "mem_total", + "pointInTime": true, + "temporal": true + }, + "metrics/disk/part_max_used": { + "metric": "part_max_used", + "pointInTime": true, + "temporal": true + }, + "metrics/network/pkts_in": { + "metric": "pkts_in", + "pointInTime": true, + "temporal": true + }, + "metrics/network/pkts_out": { + "metric": "pkts_out", + "pointInTime": true, + "temporal": true + }, + "metrics/process/proc_run": { + "metric": "proc_run", + "pointInTime": true, + "temporal": true + }, + "metrics/process/proc_total": { + "metric": "proc_total", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/swap_free": { + "metric": "swap_free", + "pointInTime": true, + "temporal": true + }, + "metrics/memory/swap_total": { + "metric": "swap_total", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/heap/committed": { + "metric": "Supervisor.JVM.Memory.Heap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/heap/init": { + "metric": "Supervisor.JVM.Memory.Heap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/heap/max": { + "metric": "Supervisor.JVM.Memory.Heap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/heap/used": { + "metric": "Supervisor.JVM.Memory.Heap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/nonheap/committed": { + "metric": "Supervisor.JVM.Memory.NonHeap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/nonheap/init": { + "metric": "Supervisor.JVM.Memory.NonHeap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/nonheap/max": { + "metric": "Supervisor.JVM.Memory.NonHeap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/memory/nonheap/used": { + "metric": "Supervisor.JVM.Memory.NonHeap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/os/processcputime": { + "metric": "Supervisor.JVM.OS.ProcessCpuTime", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/threading/daemonthreadcount": { + "metric": "Supervisor.JVM.Threading.DaemonThreadCount", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/supervisor/jvm/threading/threadcount": { + "metric": "Supervisor.JVM.Threading.ThreadCount", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/heap/committed": { + "metric": "Worker.(.+).JVM.Memory.Heap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/heap/init": { + "metric": "Worker.(.+).JVM.Memory.Heap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/heap/max": { + "metric": "Worker.(.+).JVM.Memory.Heap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/heap/used": { + "metric": "Worker.(.+).JVM.Memory.Heap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/nonheap/committed": { + "metric": "Worker.(.+).JVM.Memory.NonHeap.committed", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/nonheap/init": { + "metric": "Worker.(.+).JVM.Memory.NonHeap.init", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/nonheap/max": { + "metric": "Worker.(.+).JVM.Memory.NonHeap.max", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/memory/nonheap/used": { + "metric": "Worker.(.+).JVM.Memory.NonHeap.used", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/os/processcputime": { + "metric": "Worker.(.+).JVM.OS.ProcessCpuTime", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/threading/daemonthreadcount": { + "metric": "Worker.(.+).JVM.Threading.DaemonThreadCount", + "pointInTime": true, + "temporal": true + }, + "metrics/storm/worker/$1/jvm/threading/threadcount": { + "metric": "Worker.(.+).JVM.Threading.ThreadCount", + "pointInTime": true, + "temporal": true + } + } + } + ] + } +}
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/files/wordCount.jar ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/files/wordCount.jar b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/files/wordCount.jar new file mode 100644 index 0000000..aed64be Binary files /dev/null and b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/files/wordCount.jar differ http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/drpc_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/drpc_server.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/drpc_server.py new file mode 100644 index 0000000..149b212 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/drpc_server.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * +from storm import storm +from service import service +from service_check import ServiceCheck + + +class DrpcServer(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + + storm() + + def start(self, env): + import params + env.set_params(params) + self.configure(env) + + service("drpc", action="start") + + def stop(self, env): + import params + env.set_params(params) + + service("drpc", action="stop") + + def status(self, env): + import status_params + env.set_params(status_params) + check_process_status(status_params.pid_drpc) + +if __name__ == "__main__": + DrpcServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/nimbus.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/nimbus.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/nimbus.py new file mode 100644 index 0000000..2dd7963 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/nimbus.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * +from storm import storm +from service import service + + +class Nimbus(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + + storm() + + def start(self, env): + import params + env.set_params(params) + self.configure(env) + + service("nimbus", action="start") + + def stop(self, env): + import params + env.set_params(params) + + service("nimbus", action="stop") + + def status(self, env): + import status_params + env.set_params(status_params) + check_process_status(status_params.pid_nimbus) + +if __name__ == "__main__": + Nimbus().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/nimbus_prod.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/nimbus_prod.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/nimbus_prod.py new file mode 100644 index 0000000..a1f8afe --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/nimbus_prod.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * +from storm import storm +from supervisord_service import supervisord_service, supervisord_check_status + + +class Nimbus(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + + storm() + + def start(self, env): + import params + env.set_params(params) + self.configure(env) + + supervisord_service("nimbus", action="start") + + def stop(self, env): + import params + env.set_params(params) + + supervisord_service("nimbus", action="stop") + + def status(self, env): + supervisord_check_status("nimbus") + +if __name__ == "__main__": + Nimbus().execute() \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/params.py new file mode 100644 index 0000000..ec74d77 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/params.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management.libraries.functions.version import format_hdp_stack_version, compare_versions +from resource_management import * +import status_params + +# server configurations +config = Script.get_config() + +hdp_stack_version = str(config['hostLevelParams']['stack_version']) +hdp_stack_version = format_hdp_stack_version(hdp_stack_version) +stack_is_hdp22_or_further = hdp_stack_version != "" and compare_versions(hdp_stack_version, '2.2') >= 0 + +#hadoop params +if hdp_stack_version != "" and compare_versions(hdp_stack_version, '2.2') >= 0: + rest_lib_dir = '/usr/hdp/current/storm-client/contrib/storm-rest' + storm_bin_dir = "/usr/hdp/current/storm-client/bin" +else: + rest_lib_dir = "/usr/lib/storm/contrib/storm-rest" + storm_bin_dir = "/usr/bin" + +storm_user = config['configurations']['storm-env']['storm_user'] +log_dir = config['configurations']['storm-env']['storm_log_dir'] +pid_dir = status_params.pid_dir +conf_dir = "/etc/storm/conf" +local_dir = config['configurations']['storm-site']['storm.local.dir'] +user_group = config['configurations']['cluster-env']['user_group'] +java64_home = config['hostLevelParams']['java_home'] +jps_binary = format("{java64_home}/bin/jps") +nimbus_port = config['configurations']['storm-site']['nimbus.thrift.port'] +nimbus_host = config['configurations']['storm-site']['nimbus.host'] +rest_api_port = "8745" +rest_api_admin_port = "8746" +rest_api_conf_file = format("{conf_dir}/config.yaml") +storm_env_sh_template = config['configurations']['storm-env']['content'] + +if 'ganglia_server_host' in config['clusterHostInfo'] and \ + len(config['clusterHostInfo']['ganglia_server_host'])>0: + ganglia_installed = True + ganglia_server = config['clusterHostInfo']['ganglia_server_host'][0] + ganglia_report_interval = 60 +else: + ganglia_installed = False + +security_enabled = config['configurations']['cluster-env']['security_enabled'] + +if security_enabled: + _hostname_lowercase = config['hostname'].lower() + kerberos_domain = config['configurations']['cluster-env']['kerberos_domain'] + _storm_principal_name = config['configurations']['storm-env']['storm_principal_name'] + storm_jaas_principal = _storm_principal_name.replace('_HOST',_hostname_lowercase) + storm_keytab_path = config['configurations']['storm-env']['storm_keytab'] + + if hdp_stack_version != "" and compare_versions(hdp_stack_version, '2.2') >= 0: + storm_ui_keytab_path = config['configurations']['storm-env']['storm_ui_keytab'] + _storm_ui_jaas_principal_name = config['configurations']['storm-env']['storm_ui_principal_name'] + storm_ui_host = default("/clusterHostInfo/storm_ui_server_hosts", []) + storm_ui_jaas_principal = _storm_ui_jaas_principal_name.replace('_HOST',storm_ui_host[0].lower()) + + storm_bare_jaas_principal = _storm_principal_name.replace('_HOST','').replace('@'+kerberos_domain,'') + + + + _nimbus_principal_name = config['configurations']['storm-env']['nimbus_principal_name'] + nimbus_jaas_principal = _nimbus_principal_name.replace('_HOST',nimbus_host.lower()) + nimbus_bare_jaas_principal = _nimbus_principal_name.replace('/_HOST','').replace('@'+kerberos_domain,'') + nimbus_keytab_path = config['configurations']['storm-env']['nimbus_keytab'] + +ams_collector_hosts = default("/clusterHostInfo/metric_collector_hosts", []) +has_metric_collector = not len(ams_collector_hosts) == 0 +if has_metric_collector: + metric_collector_host = ams_collector_hosts[0] \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/rest_api.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/rest_api.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/rest_api.py new file mode 100644 index 0000000..ec7deec --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/rest_api.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * +from storm import storm +from service import service +from service_check import ServiceCheck + + +class StormRestApi(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + + storm() + + def start(self, env): + import params + env.set_params(params) + self.configure(env) + + service("rest_api", action="start") + + def stop(self, env): + import params + env.set_params(params) + + service("rest_api", action="stop") + + def status(self, env): + import status_params + env.set_params(status_params) + check_process_status(status_params.pid_rest_api) + +if __name__ == "__main__": + StormRestApi().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service.py new file mode 100644 index 0000000..ed6add5 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + + +from resource_management import * +import time + + +def service( + name, + action='start'): + import params + import status_params + + pid_file = status_params.pid_files[name] + no_op_test = format("ls {pid_file} >/dev/null 2>&1 && ps -p `cat {pid_file}` >/dev/null 2>&1") + + if name == "logviewer" or name == "drpc": + tries_count = 12 + else: + tries_count = 6 + + if name == 'ui': + process_grep = "backtype.storm.ui.core$" + elif name == "rest_api": + process_grep = format("{rest_lib_dir}/storm-rest-.*\.jar$") + else: + process_grep = format("storm.daemon.{name}$") + + find_proc = format("{jps_binary} -l | grep {process_grep}") + write_pid = format("{find_proc} | awk {{'print $1'}} > {pid_file}") + crt_pid_cmd = format("{find_proc} && {write_pid}") + + if action == "start": + if name == "rest_api": + process_cmd = format("{java64_home}/bin/java -jar {rest_lib_dir}/`ls {rest_lib_dir} | grep -wE storm-rest-[0-9.-]+\.jar` server") + cmd = format("{process_cmd} {rest_api_conf_file} > {log_dir}/restapi.log 2>&1") + else: + cmd = format("env JAVA_HOME={java64_home} PATH=$PATH:{java64_home}/bin storm {name} > {log_dir}/{name}.out 2>&1") + + Execute(cmd, + not_if=no_op_test, + user=params.storm_user, + wait_for_finish=False, + path=params.storm_bin_dir + ) + Execute(crt_pid_cmd, + user=params.storm_user, + logoutput=True, + tries=tries_count, + try_sleep=10, + path=params.storm_bin_dir + ) + + elif action == "stop": + process_dont_exist = format("! ({no_op_test})") + pid = format("`cat {pid_file}`") + Execute(format("sudo kill {pid}"), + not_if=process_dont_exist + ) + Execute(format("sudo kill -9 {pid}"), + not_if=format("sleep 2; {process_dont_exist} || sleep 20; {process_dont_exist}"), + ignore_failures=True + ) + File(pid_file, + action = "delete", + ) http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service_check.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service_check.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service_check.py new file mode 100644 index 0000000..2661e6f --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/service_check.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management import * +from resource_management.libraries.functions import get_unique_id_and_date + +class ServiceCheck(Script): + def service_check(self, env): + import params + env.set_params(params) + + unique = get_unique_id_and_date() + + File("/tmp/wordCount.jar", + content=StaticFile("wordCount.jar") + ) + + cmd = format("env JAVA_HOME={java64_home} storm jar /tmp/wordCount.jar storm.starter.WordCountTopology WordCount{unique} -c nimbus.host={nimbus_host}") + + Execute(cmd, + logoutput=True, + path=params.storm_bin_dir, + user=params.storm_user + ) + + Execute(format("env JAVA_HOME={java64_home} storm kill WordCount{unique}"), + path=params.storm_bin_dir, + user=params.storm_user + ) + +if __name__ == "__main__": + ServiceCheck().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/status_params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/status_params.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/status_params.py new file mode 100644 index 0000000..5eaa446 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/status_params.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" +from resource_management import * + +config = Script.get_config() + +pid_dir = config['configurations']['storm-env']['storm_pid_dir'] +pid_nimbus = format("{pid_dir}/nimbus.pid") +pid_supervisor = format("{pid_dir}/supervisor.pid") +pid_drpc = format("{pid_dir}/drpc.pid") +pid_ui = format("{pid_dir}/ui.pid") +pid_logviewer = format("{pid_dir}/logviewer.pid") +pid_rest_api = format("{pid_dir}/restapi.pid") +pid_files = {"logviewer":pid_logviewer, + "ui": pid_ui, + "nimbus": pid_nimbus, + "supervisor": pid_supervisor, + "drpc": pid_drpc, + "rest_api": pid_rest_api} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/storm.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/storm.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/storm.py new file mode 100644 index 0000000..3b71751 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/storm.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management import * +from yaml_utils import escape_yaml_propetry +import sys + +def storm(): + import params + + Directory(params.log_dir, + owner=params.storm_user, + group=params.user_group, + mode=0775, + recursive=True + ) + + Directory([params.pid_dir, params.local_dir, params.conf_dir], + owner=params.storm_user, + group=params.user_group, + recursive=True, + recursive_permission=True + ) + + File(format("{conf_dir}/config.yaml"), + content=Template("config.yaml.j2"), + owner=params.storm_user, + group=params.user_group + ) + + configurations = params.config['configurations']['storm-site'] + + File(format("{conf_dir}/storm.yaml"), + content=Template( + "storm.yaml.j2", + extra_imports=[escape_yaml_propetry], + configurations = configurations), + owner=params.storm_user, + group=params.user_group + ) + + if params.has_metric_collector: + File(format("{conf_dir}/storm-metrics2.properties"), + owner=params.storm_user, + group=params.user_group, + content=Template("storm-metrics2.properties.j2") + ) + + File(format("{conf_dir}/storm-env.sh"), + owner=params.storm_user, + content=InlineTemplate(params.storm_env_sh_template) + ) + + if params.security_enabled: + TemplateConfig(format("{conf_dir}/storm_jaas.conf"), + owner=params.storm_user + ) + if params.hdp_stack_version != "" and compare_versions(params.hdp_stack_version, '2.2') >= 0: + TemplateConfig(format("{conf_dir}/client_jaas.conf"), + owner=params.storm_user + ) + minRuid = configurations['_storm.min.ruid'] if configurations.has_key('_storm.min.ruid') else '' + + min_user_ruid = int(minRuid) if minRuid.isdigit() else _find_real_user_min_uid() + + File(format("{conf_dir}/worker-launcher.cfg"), + content=Template("worker-launcher.cfg.j2", min_user_ruid = min_user_ruid), + owner='root', + group=params.user_group + ) + + +''' +Finds minimal real user UID +''' +def _find_real_user_min_uid(): + with open('/etc/login.defs') as f: + for line in f: + if line.strip().startswith('UID_MIN') and len(line.split()) == 2 and line.split()[1].isdigit(): + return int(line.split()[1]) + raise Fail("Unable to find UID_MIN in file /etc/login.defs. Expecting format e.g.: 'UID_MIN 500'") http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisor.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisor.py new file mode 100644 index 0000000..1ebe187 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisor.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * +from storm import storm +from service import service + + +class Supervisor(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + storm() + + def start(self, env): + import params + env.set_params(params) + self.configure(env) + + service("supervisor", action="start") + service("logviewer", action="start") + + def stop(self, env): + import params + env.set_params(params) + + service("supervisor", action="stop") + service("logviewer", action="stop") + + def status(self, env): + import status_params + env.set_params(status_params) + + check_process_status(status_params.pid_supervisor) + + +if __name__ == "__main__": + Supervisor().execute() + http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisor_prod.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisor_prod.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisor_prod.py new file mode 100644 index 0000000..7aecdc5 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisor_prod.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * +from storm import storm +from service import service +from supervisord_service import supervisord_service, supervisord_check_status + + +class Supervisor(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + storm() + + def start(self, env): + import params + env.set_params(params) + self.configure(env) + + supervisord_service("supervisor", action="start") + service("logviewer", action="start") + + def stop(self, env): + import params + env.set_params(params) + + supervisord_service("supervisor", action="stop") + service("logviewer", action="stop") + + def status(self, env): + supervisord_check_status("supervisor") + +if __name__ == "__main__": + Supervisor().execute() \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisord_service.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisord_service.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisord_service.py new file mode 100644 index 0000000..6a5ea0b --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/supervisord_service.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +from resource_management import * + +def supervisord_service(component_name, action): + Execute(format("supervisorctl {action} storm-{component_name}"), + wait_for_finish=False + ) + +def supervisord_check_status(component_name): + try: + Execute(format("supervisorctl status storm-{component_name} | grep RUNNING")) + except Fail: + raise ComponentIsNotRunning() http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/ui_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/ui_server.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/ui_server.py new file mode 100644 index 0000000..6a9d923 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/ui_server.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import sys +from resource_management import * +from storm import storm +from service import service +from service_check import ServiceCheck + + +class UiServer(Script): + def install(self, env): + self.install_packages(env) + self.configure(env) + + def configure(self, env): + import params + env.set_params(params) + + storm() + + def start(self, env): + import params + env.set_params(params) + self.configure(env) + + service("ui", action="start") + + def stop(self, env): + import params + env.set_params(params) + + service("ui", action="stop") + + def status(self, env): + import status_params + env.set_params(status_params) + check_process_status(status_params.pid_ui) + +if __name__ == "__main__": + UiServer().execute() http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/yaml_utils.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/yaml_utils.py b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/yaml_utils.py new file mode 100644 index 0000000..8187666 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/scripts/yaml_utils.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +""" +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +""" + +import re + +def escape_yaml_propetry(value): + unquouted = False + unquouted_values = ["null","Null","NULL","true","True","TRUE","false","False","FALSE","YES","Yes","yes","NO","No","no","ON","On","on","OFF","Off","off"] + if value in unquouted_values: + unquouted = True + + # if is list [a,b,c] + if re.match('^\w*\[.+\]\w*$', value): + unquouted = True + + try: + int(value) + unquouted = True + except ValueError: + pass + + try: + float(value) + unquouted = True + except ValueError: + pass + + if not unquouted: + value = value.replace("'","''") + value = "'"+value+"'" + + return value \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/client_jaas.conf.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/client_jaas.conf.j2 b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/client_jaas.conf.j2 new file mode 100644 index 0000000..e8dc122 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/client_jaas.conf.j2 @@ -0,0 +1,24 @@ +{# +# 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. +#} + +StormClient { + com.sun.security.auth.module.Krb5LoginModule required + useTicketCache=true + renewTicket=true + serviceName="{{nimbus_bare_jaas_principal}}"; +}; http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/config.yaml.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/config.yaml.j2 b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/config.yaml.j2 new file mode 100644 index 0000000..445df31 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/config.yaml.j2 @@ -0,0 +1,65 @@ +{# +# 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. +#} + +# 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. + +nimbusHost: {{nimbus_host}} +nimbusPort: {{nimbus_port}} + +# HTTP-specific options. +http: + + # The port on which the HTTP server listens for service requests. + port: {{rest_api_port}} + + # The port on which the HTTP server listens for administrative requests. + adminPort: {{rest_api_admin_port}} + +{% if ganglia_installed %} +enableGanglia: {{ganglia_installed}} + +# ganglia configuration (necessary if ganglia reporting is enabled) +ganglia: + + # how often to report to ganglia metrics (in seconds) + reportInterval: {{ganglia_report_interval}} + + # the hostname of the gmond server where storm cluster metrics will be sent + host: "{{ganglia_server}}" + + # address mode + # default is MULTICAST + addressMode: "UNICAST" + + # an <IP>:<HOSTNAME> pair to spoof + # this allows us to simulate storm cluster metrics coming from a specific host + #spoof: "192.168.1.1:storm" +{% endif %} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm-metrics2.properties.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm-metrics2.properties.j2 b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm-metrics2.properties.j2 new file mode 100644 index 0000000..6d333d5 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm-metrics2.properties.j2 @@ -0,0 +1,21 @@ +{# +# 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. +#} + +collector={{metric_collector_host}}:8188 +maxRowCacheSize=10000 +sendInterval=59000 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm.yaml.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm.yaml.j2 b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm.yaml.j2 new file mode 100644 index 0000000..e6eed41 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm.yaml.j2 @@ -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. +#} +{% macro replace_jaas_placeholder(name) -%} +{% if name.find('_JAAS_PLACEHOLDER') > -1 -%} + {%- if security_enabled -%} + {{ name.replace('_JAAS_PLACEHOLDER', '-Djava.security.auth.login.config=' +conf_dir + '/storm_jaas.conf') }} + {%- else -%} + {{ name.replace('_JAAS_PLACEHOLDER', '') }} + {%- endif -%} +{%- else -%} + {{name}} +{%- endif -%} +{%- endmacro %} + +{% for key, value in configurations|dictsort if not key.startswith('_') %} +{{key}} : {{ escape_yaml_propetry(replace_jaas_placeholder(value)) }} +{% endfor %} + +{% if stack_is_hdp22_or_further %} +storm.thrift.transport : "{% if security_enabled %}{{configurations['_storm.thrift.secure.transport']}}{% else %}{{configurations['_storm.thrift.nonsecure.transport']}}{% endif %}" +{% endif %} + +{% if security_enabled and stack_is_hdp22_or_further %} +# +# Kerberos security section. For the reference please use: https://github.com/hortonworks/storm/blob/champlain/SECURITY.md for details +# + +storm.principal.tolocal: "backtype.storm.security.auth.KerberosPrincipalToLocal" +storm.zookeeper.superACL: "sasl:{{storm_bare_jaas_principal}}" +java.security.auth.login.config: "{{conf_dir}}/storm_jaas.conf" +nimbus.admins: + - "{{storm_user}}" +nimbus.supervisor.users: + - "{{storm_user}}" +nimbus.authorizer: "backtype.storm.security.auth.authorizer.SimpleACLAuthorizer" +drpc.authorizer: "backtype.storm.security.auth.authorizer.DRPCSimpleACLAuthorizer" + +ui.filter: "org.apache.hadoop.security.authentication.server.AuthenticationFilter" +ui.filter.params: + "type": "kerberos" + "kerberos.principal": "{{storm_ui_jaas_principal}}" + "kerberos.keytab": "{{storm_ui_keytab_path}}" + "kerberos.name.rules": "DEFAULT" +supervisor.enable: true +{% endif %} + +{% if has_metric_collector %} +topology.metrics.consumer.register: + - class: "org.apache.hadoop.metrics2.sink.storm.StormTimelineMetricsSink" + parallelism.hint: 1 +{% endif %} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm_jaas.conf.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm_jaas.conf.j2 b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm_jaas.conf.j2 new file mode 100644 index 0000000..75cf178 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/storm_jaas.conf.j2 @@ -0,0 +1,45 @@ +{# +# 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. +#} +{% if stack_is_hdp22_or_further %} +StormServer { + com.sun.security.auth.module.Krb5LoginModule required + useKeyTab=true + keyTab="{{nimbus_keytab_path}}" + storeKey=true + useTicketCache=false + principal="{{nimbus_jaas_principal}}"; +}; +StormClient { + com.sun.security.auth.module.Krb5LoginModule required + useKeyTab=true + keyTab="{{storm_keytab_path}}" + storeKey=true + useTicketCache=false + serviceName="{{nimbus_bare_jaas_principal}}" + principal="{{storm_jaas_principal}}"; +}; +{% endif %} +Client { + com.sun.security.auth.module.Krb5LoginModule required + useKeyTab=true + keyTab="{{storm_keytab_path}}" + storeKey=true + useTicketCache=false + serviceName="zookeeper" + principal="{{storm_jaas_principal}}"; +}; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/worker-launcher.cfg.j2 ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/worker-launcher.cfg.j2 b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/worker-launcher.cfg.j2 new file mode 100644 index 0000000..2228601 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/package/templates/worker-launcher.cfg.j2 @@ -0,0 +1,19 @@ +{# +# 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. +#} +storm.worker-launcher.group={{user_group}} +min.user.id={{min_user_ruid}} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c0ed3fd0/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml new file mode 100644 index 0000000..a1eac56 --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml @@ -0,0 +1,46 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- +/** + * 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. + */ +--> + +<configuration> + <property> + <name>tez_user</name> + <value>tez</value> + <property-type>USER</property-type> + <description></description> + </property> + + <!-- tez-env.sh --> + <property> + <name>content</name> + <description>This is the jinja template for tez-env.sh file</description> + <value> +# Tez specific configuration +export TEZ_CONF_DIR={{config_dir}} + +# Set HADOOP_HOME to point to a specific hadoop install directory +export HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}} + +# The java implementation to use. +export JAVA_HOME={{java64_home}} + </value> + </property> +</configuration>
