| #!/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 @@@ |
| # |
| |
| if [ -z $JAVA_HOME ]; then |
| echo "The environment variable \$JAVA_HOME has not been set" |
| echo "Please ensure \$TRAF_HOME/sqenv.sh has been sourced." |
| echo |
| exit 1; |
| fi |
| |
| cd $TRAF_HOME/tools/check_hbase_available |
| echo "Building some utility Java programs." |
| . ./build 2>/dev/null |
| $JAVA_HOME/bin/java CheckHBase | grep -v "Checking" | grep "HBase is available" |
| lv_status=$? |
| if [[ $lv_status == 0 ]]; then |
| echo "HBase Master is available." |
| else |
| echo "HBase Master is not accessible. Please check the HBase logs" |
| exit 1 |
| fi |
| |
| echo |
| echo "Checking if HBase is functional..." |
| echo |
| |
| swhbase <<EOF > hbase_status_detailed.out |
| status 'detailed' |
| EOF |
| |
| declare -i lv_num_live_rs |
| lv_num_live_rs=`cat hbase_status_detailed.out | grep live | cut -d' ' -f1` |
| echo "Number of live region servers: ${lv_num_live_rs}" |
| if [ ${lv_num_live_rs} '>' '0' ] ; then |
| echo |
| echo "Checking if regions are online" |
| else |
| echo "There does not seem to be any live region server available" |
| echo "Please check the HBase logs or the management interfaces" |
| exit 1 |
| fi |
| |
| declare -i lv_num_online_regions |
| lv_num_online_regions=`cat hbase_status_detailed.out | grep -o "numberOfOnlineRegions=[0-9]*" | cut -d= -f2` |
| echo "The number of online regions: ${lv_num_online_regions}" |
| if [ ${lv_num_online_regions} -lt 2 ]; then |
| echo "Error: There does not seem to be enough online region. Exitting..." |
| exit 1 |
| fi |
| |
| exit 0 |