blob: a109dba3b106dc300bd04d38b2b589093a6a324d [file] [log] [blame]
#!/bin/bash
# @@@ START COPYRIGHT @@@
#
# 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.
#
# @@@ END COPYRIGHT @@@
#
source /etc/trafodion/trafodion_config
TRAF_CONFIG=/etc/trafodion/trafodion_config
if [[ $HADOOP_TYPE == "cloudera" ]]; then
if [ -d /opt/cloudera/parcels/CDH ]; then
export HADOOP_PATH="/opt/cloudera/parcels/CDH/lib/hbase/lib"
export HADOOP_BIN_PATH="/opt/cloudera/parcels/CDH/bin"
else
export HADOOP_PATH="/usr/lib/hbase/lib"
export HADOOP_BIN_PATH="/usr/bin"
fi
echo "***INFO: HADOOP_PATH=$HADOOP_PATH"
echo "***INFO: HADOOP_BIN_PATH=$HADOOP_BIN_PATH"
fi
MY_HBASE_NODES=""
MY_HDFS_NODES=""
if [[ -z $HBASE_NODES ]]; then
echo "***ERROR: List of $HADOOP_TYPE HBase nodes not found."
exit -1
fi
for node in $HBASE_NODES
do
MY_HBASE_NODES="$MY_HBASE_NODES -w $node"
done
if [[ -z $HDFS_NODES ]]; then
echo "***ERROR: List of $HADOOP_TYPE HBase nodes not found."
exit -1
fi
for node in $HDFS_NODES
do
MY_HDFS_NODES="$MY_HDFS_NODES -w $node"
done
MY_HADOOP_NODES=""
if [[ -z $HADOOP_NODES ]]; then
echo "***ERROR: List of $HADOOP_TYPE nodes not found."
exit -1
fi
for node in $HADOOP_NODES
do
MY_HADOOP_NODES="$MY_HADOOP_NODES -w $node"
done
echo "***INFO: $HADOOP_TYPE list of nodes: $HADOOP_NODES"
echo "***INFO: $HADOOP_TYPE list of HDFS nodes: $HDFS_NODES"
echo "***INFO: $HADOOP_TYPE list of HBASE nodes: $HBASE_NODES"
hadoop_node_count=$(echo $HADOOP_NODES | wc -w)
sudo chmod 777 $TRAF_CONFIG
sed -i '/HADOOP_NODES\=/d' $TRAF_CONFIG
echo "export HADOOP_NODES=\"$HADOOP_NODES\"" >> $TRAF_CONFIG
sudo chmod 777 $TRAF_CONFIG
sed -i '/MY_HADOOP_NODES\=/d' $TRAF_CONFIG
echo "export MY_HADOOP_NODES=\"$MY_HADOOP_NODES\"" >> $TRAF_CONFIG
sudo chmod 777 $TRAF_CONFIG
sed -i '/HDFS_NODES\=/d' $TRAF_CONFIG
echo "export HDFS_NODES=\"$HDFS_NODES\"" >> $TRAF_CONFIG
sudo chmod 777 $TRAF_CONFIG
sed -i '/MY_HDFS_NODES\=/d' $TRAF_CONFIG
echo "export MY_HDFS_NODES=\"$MY_HDFS_NODES\"" >> $TRAF_CONFIG
sudo chmod 777 $TRAF_CONFIG
sed -i '/HBASE_NODES\=/d' $TRAF_CONFIG
echo "export HBASE_NODES=\"$HBASE_NODES\"" >> $TRAF_CONFIG
sudo chmod 777 $TRAF_CONFIG
sed -i '/MY_HBASE_NODES\=/d' $TRAF_CONFIG
echo "export MY_HBASE_NODES=\"$MY_HBASE_NODES\"" >> $TRAF_CONFIG
sudo chmod 777 $TRAF_CONFIG
sed -i '/HADOOP_PATH\=/d' $TRAF_CONFIG
echo "export HADOOP_PATH=\"$HADOOP_PATH\"" >> $TRAF_CONFIG
sudo chmod 777 $TRAF_CONFIG
sed -i '/HADOOP_BIN_PATH\=/d' $TRAF_CONFIG
echo "export HADOOP_BIN_PATH=\"$HADOOP_BIN_PATH\"" >> $TRAF_CONFIG
sudo chmod 777 $TRAF_CONFIG
sed -i '/hadoop_node_count\=/d' $TRAF_CONFIG
echo "export hadoop_node_count=\"$hadoop_node_count\"" >> $TRAF_CONFIG
for node in $HADOOP_NODES
do
ssh -q -n $node echo "***INFO: Testing ssh on $node"
if [[ $? -ne "0" ]]; then
errorFound=1
ERROR_NODES="$ERROR_NODES $node"
fi
done
if [[ $errorFound == "1" ]]; then
echo "***ERROR: Could not ssh to $ERROR_NODES."
echo "***ERROR: Check permissions and known hosts files."
exit -1
fi
for node in $HADOOP_NODES
do
ssh -q -n $node sudo echo "***INFO: Testing sudo access on $node"
if [ $? -ne "0" ]; then
error=1
ERROR_NODES="$ERROR_NODES $newNode"
fi
done
if [[ $error == "1" ]]; then
echo "***ERROR: $ERROR_NODES does not have sudo access."
echo "***ERROR: Must have sudo access on all nodes."
exit -1
fi