| #!/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 @@@ |
| |
| # Setup Trafodion environment on a Cluster System |
| |
| #============================================== |
| |
| timestamp=$(date +%F-%H-%M-%S) |
| source /etc/trafodion/trafodion_config |
| |
| cd $LOCAL_WORKDIR |
| |
| echo "***Log File: trafodion_setup script***" >> $INSTALL_LOG |
| echo >> $INSTALL_LOG |
| echo "Username: $TRAF_USER" >> $INSTALL_LOG |
| echo "Nodes: $NODE_LIST" >> $INSTALL_LOG |
| echo "Home directory: $HOME_DIR" >> $INSTALL_LOG |
| echo >> $INSTALL_LOG |
| |
| echo "***INFO: Starting Trafodion environment setup ($timestamp)" |
| |
| #============================================== |
| # display license text and get acceptance |
| echo "=== $timestamp ===" |
| if [ "$ACCEPT_LICENSE" != "Y" ]; then |
| cat $( cd "$( dirname "$0" )" && pwd )/trafodion_license |
| echo -n "BY TYPING \"ACCEPT\" YOU AGREE TO THE TERMS OF THIS AGREEMENT: " |
| read answer |
| if [ "$answer" != "accept" ] && [ "$answer" != "ACCEPT" ] && [ "$answer" != "Accept" ]; then |
| echo "***ERROR: You must accept this license by typing \"accept\" to install." |
| exit -1 |
| fi |
| fi |
| #============================ |
| # check that we are running from a userid with sudo access |
| sudo echo "***INFO: testing sudo access" |
| if [ $? -ne 0 ]; then |
| echo "***ERROR: This script must be run from userid with sudo access." |
| exit -1 |
| fi |
| |
| #================================ |
| # make sure the user didn't specify the sudo userid as the Trafodion userid |
| # because we rewrite the .bashrc file and don't want to mess up the user's |
| # current environment |
| if [ "$USER" == "$TRAF_USER" ]; then |
| echo "***ERROR: The Trafodion username cannot be the same as the install username" |
| exit -1 |
| fi |
| |
| #================================ |
| #installing required packages" |
| |
| $LOCAL_WORKDIR/traf_package_setup |
| |
| if [ $? != 0 ]; then |
| echo "***ERROR: Error installing required packages" |
| exit -1 |
| fi |
| |
| #================================ |
| # Set some limits needed by Trafodion |
| |
| TRAF_LIMITS_CONF="$TRAF_WORKDIR/trafodion.conf" |
| sudo rm $TRAF_WORKDIR/trafodion.conf &>/dev/null |
| |
| echo "***INFO: modifying limits in $TRAF_LIMITS_CONF on all nodes" |
| |
| # append Trafodion settings to end of file |
| echo "# Trafodion settings" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER soft core unlimited" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER hard core unlimited" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER soft memlock unlimited" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER hard memlock unlimited" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER soft nofile 32768" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER hard nofile 65536" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER soft nproc 100000" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER hard nproc 100000" >> $TRAF_LIMITS_CONF |
| echo "hbase soft nofile 8192" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER soft nofile 8192" >> $TRAF_LIMITS_CONF |
| echo "$TRAF_USER hard nofile 65535" >> $TRAF_LIMITS_CONF |
| |
| # copy to all nodes |
| if [ $all_node_count -eq 1 ]; then |
| sudo cp $TRAF_LIMITS_CONF /etc/security/limits.d/trafodion.conf |
| if [ $? != 0 ]; then |
| echo "***ERROR: unable to copy $TRAF_LIMITS_CONF to /etc/security/limits.d/trafodion.conf" |
| exit -1 |
| fi |
| else |
| $TRAF_PDCP $TRAF_LIMITS_CONF $TRAF_LIMITS_CONF |
| if [ $? != 0 ]; then |
| echo "***ERROR: unable to copy $TRAF_LIMITS_CONF to all nodes" |
| exit -1 |
| fi |
| |
| $TRAF_PDSH sudo cp $TRAF_LIMITS_CONF /etc/security/limits.d/trafodion.conf |
| if [ $? != 0 ]; then |
| echo "***ERROR: unable to copy $TRAF_LIMITS_CONF to /etc/security/limits.d/trafodion.conf on all nodes" |
| exit -1 |
| fi |
| |
| fi |
| |
| #======================================= |
| echo "***INFO: create Trafodion userid \"$TRAF_USER\" " |
| $LOCAL_WORKDIR/traf_add_user |
| |
| if [ $? != 0 ]; then |
| echo "***ERROR: Unable to create Trafodion userid: $TRAF_USER" |
| exit -1 |
| fi |
| |
| #======================================= |