| #!/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 |
| |
| |