| ##!/bin/bash |
| # |
| ## 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. |
| # |
| source $(dirname $0)/eagle-env.sh |
| |
| ###################################################################### |
| ## Import stream metadata for HADOOP METRIC |
| ###################################################################### |
| ${EAGLE_HOME}/bin/hadoop-metric-init.sh |
| |
| ###################################################################### |
| ## Run topology for HADOOP METRIC |
| ###################################################################### |
| ### if topology exists, we should shutdown it |
| echo "check topology status ..." |
| active=$(${EAGLE_HOME}/bin/eagle-topology.sh --topology sandbox-hadoopjmx-topology status | grep ACTIVE) |
| echo "topology status $active" |
| if [ "$active" ]; then |
| echo "stop topology ..." |
| ${EAGLE_HOME}/bin/eagle-topology.sh --topology sandbox-hadoopjmx-topology stop |
| fi |
| echo "start Eagle Hadoop Metric Monitoring topology" |
| ${EAGLE_HOME}/bin/eagle-topology.sh --main org.apache.eagle.hadoop.metric.HadoopJmxMetricMonitor --topology sandbox-hadoopjmx-topology --config ${EAGLE_HOME}/conf/sandbox-hadoopjmx-topology.conf start |
| |
| ###################################################################### |
| ## Setup minutely crontab job for HADOOP METRIC |
| ###################################################################### |
| echo "set up crontab script" |
| DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| cp $DIR/../tools/hadoop_jmx_collector/config-sample.json $DIR/../tools/hadoop_jmx_collector/config.json |
| command="python $DIR/../tools/hadoop_jmx_collector/hadoop_jmx_kafka.py" |
| job="* * * * * $command >> $DIR/../logs/hadoop_metric.log" |
| echo "$job" |
| cat <(fgrep -i -v "$command" <(crontab -l)) <(echo "$job") | crontab - |
| |
| echo "$(crontab -l)" |