| #!/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 @@@ |
| |
| # Script that prompts user for all user input needed for the |
| # trafodion_config file |
| |
| |
| #============================================== |
| # Defaults |
| suseLinux=$(grep -cr SUSE /proc/version) |
| LOCAL_WORKDIR="$( cd "$( dirname "$0" )" && pwd )" |
| TRAF_WORKDIR="/usr/lib/trafodion" |
| TRAF_CONFIG="/etc/trafodion/trafodion_config" |
| TRAF_CONFIG_DIR=$(dirname $TRAF_CONFIG) |
| LOCAL_TRAF_CONFIG="$LOCAL_WORKDIR/trafodion_config" |
| TRAF_USER="trafodion" |
| TRAF_USER_PASSWORD="traf123" # must be 6-8 chars |
| userForTrafodion=`grep "$TRAF_USER:" /etc/passwd | wc -l` |
| NODE_LIST="" |
| HOME_DIR="/home" |
| |
| TRAF_PACKAGE="" |
| TRAF_BUILD="" |
| DCS_BUILD="" |
| REST_BUILD="" |
| HADOOP_TYPE="" |
| ADMIN="admin" |
| PASSWORD="admin" |
| URL="" |
| HADOOP_NODES="" |
| |
| HADOOP_PREFIX="" |
| HBASE_HOME="" |
| HIVE_HOME="" |
| |
| HDFS_USER="hdfs" |
| HBASE_USER="hbase" |
| HBASE_GROUP="hbase" |
| ZOO_USER="zookeeper" |
| |
| TRAF_HOME="" |
| INIT_TRAFODION="N" |
| START="N" |
| SQCONFIG="" |
| DCS_SERVERS_PARM="2" |
| ENABLE_HA="false" |
| FLOATING_IP="" |
| BACKUP_DCS_NODES="" |
| SCANNER_MODE="N" |
| DCS_PRIMARY_MASTER_NODE=`hostname -f` |
| DCS_MASTER_PORT="23400" |
| DCS_MASTER_HOST="$DCS_PRIMARY_MASTER_NODE" |
| CLOUD_CONFIG="N" |
| CLOUD_TYPE="" |
| AWS_CLOUD="" |
| OPEN_STACK="" |
| OTHER_CLOUD="" |
| MANAGEMENT_ENABLED="N" |
| MANAGEMENT_NODES="" |
| #============================================== |
| |
| function print_usage { |
| cat << EOF |
| |
| This script takes in user input to add to the trafodion_config file or uses known |
| defaults. Script will return an error if user enters bad inputs. Type response or |
| select [Enter] to select default. |
| |
| Inputs Requested: |
| |
| *Trafodion Password (default is [$TRAF_USER_PASSWORD]) |
| *List of Nodes |
| *Home directory (default is [$HOME_DIR]) |
| *Is cluster on the cloud (default is [No]) |
| *Location of EPEL RPM (default is [None]) |
| *Full path to Trafodion Server tar file |
| (default is [$TRAF_BUILD]) |
| *Hadoop distribution user name (default is [$ADMIN]) |
| *Hadoop distribution password (default is [$PASSWORD]) |
| *Hadoop distribution url (default is distribution dependent) |
| *HDFS username (default is [$HDFS_USER]) |
| *HBase username (default is [$HBASE_USER]) |
| *HBase group (default is [$HBASE_GROUP]) |
| *Full pathname to the install directory location (default [$TRAF_HOME]) |
| *Full pathname to the DNS build tar file (default [$DCS_BUILD]) |
| *Start Trafodion after install (default is [No]) |
| *Total number of DCS servers to start |
| |
| |
| Options: |
| --help Print this message and exit. |
| |
| EOF |
| } |
| |
| #============================================== |
| #Parse input parameters |
| |
| while [[ $# -gt 0 ]]; do |
| case "$1" in |
| --scanner_mode) |
| SCANNER_MODE="Y" |
| ;; |
| |
| --help) |
| print_usage |
| exit -1 |
| ;; |
| *) |
| echo "***ERROR: unknown parameter '$1'" |
| print_usage |
| exit -1 |
| esac |
| shift |
| done |
| |
| #============================================== |
| |
| |
| echo |
| echo "************************************" |
| echo " Trafodion Configuration File Setup" |
| echo "************************************" |
| echo |
| echo "***INFO: Please press [Enter] to select defaults." |
| echo |
| |
| sudo mkdir -p $TRAF_WORKDIR |
| sudo chmod 777 $TRAF_WORKDIR |
| |
| # if there was a partial config file then use it |
| # to fill in default values so user doesn't have to retype |
| # everything again. |
| if [ -f $LOCAL_TRAF_CONFIG ]; then |
| source $LOCAL_TRAF_CONFIG |
| fi |
| |
| if [[ -f $TRAF_CONFIG ]]; then |
| source $TRAF_CONFIG |
| fi |
| |
| if [[ "$suseLinux" -ge "1" ]]; then |
| SUSE_LINUX="true" |
| else |
| SUSE_LINUX="false" |
| fi |
| |
| echo "#!/bin/bash" > $LOCAL_TRAF_CONFIG |
| echo "export SUSE_LINUX=\"$SUSE_LINUX\"" >> $LOCAL_TRAF_CONFIG |
| echo "export TRAF_USER=\"$TRAF_USER\"" >> $LOCAL_TRAF_CONFIG |
| echo "export TRAF_WORKDIR=\"$TRAF_WORKDIR\"" >> $LOCAL_TRAF_CONFIG |
| echo "export LOCAL_WORKDIR=\"$LOCAL_WORKDIR\"" >> $LOCAL_TRAF_CONFIG |
| echo "export SQCONFIG=\"$SQCONFIG\"" >> $LOCAL_TRAF_CONFIG |
| |
| #============================================== |
| #Check if customer is using cloud environment and get the type of cloud being used |
| #Get the CLOUD_CONFIG and CLOUD_TYPE |
| echo -n "Is this a cloud environment (Y/N), default is [$CLOUD_CONFIG]: " |
| read answer |
| |
| if [ ! -z $answer ]; then |
| if [[ "${answer}" =~ ^[Yy]$ ]]; then |
| CLOUD_CONFIG="Y" |
| fi |
| fi |
| |
| echo "export CLOUD_CONFIG=\"$CLOUD_CONFIG\"" >> $LOCAL_TRAF_CONFIG |
| |
| if [[ "$CLOUD_CONFIG" == "Y" ]]; then |
| echo -n "Specify the type of cloud being used (1: AWS(Amazon cloud), 2: OpenStack, 3: Other): " |
| read answer1 |
| if [[ -z "$answer1" ]]; then |
| echo "***ERROR: User must specify the type of Cloud being used." |
| exit -1 |
| else |
| CLOUD_TYPE=$answer1 |
| fi |
| echo "export CLOUD_TYPE=\"$CLOUD_TYPE\"" >> $LOCAL_TRAF_CONFIG |
| case "$CLOUD_TYPE" in |
| 1) AWS_CLOUD=true |
| echo "export AWS_CLOUD=\"$AWS_CLOUD\"" >> $LOCAL_TRAF_CONFIG |
| ;; |
| 2) OPEN_STACK=true |
| echo "export OPEN_STACK=\"$OPEN_STACK\"" >> $LOCAL_TRAF_CONFIG |
| ;; |
| 3) CLOUD_OTHER=true |
| echo "export CLOUD_OTHER=\"$CLOUD_OTHER\"" >> $LOCAL_TRAF_CONFIG |
| esac |
| fi |
| |
| #============================================== |
| # Password |
| echo -n "Enter $TRAF_USER password, default is [$TRAF_USER_PASSWORD]: " |
| read answer |
| if [ -z $answer ]; then |
| echo "export TRAF_USER_PASSWORD=\"$TRAF_USER_PASSWORD\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "export TRAF_USER_PASSWORD=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| # List of Nodes |
| |
| echo -n "Enter list of data nodes (blank separated), default [$NODE_LIST]: " |
| read answer |
| if [[ -z "$answer" ]]; then |
| if [ -z "$NODE_LIST" ]; then |
| echo "***ERROR: Must enter list of nodes." |
| exit -1 |
| fi |
| else |
| NODE_LIST="$answer" |
| fi |
| |
| echo "export NODE_LIST=\"$NODE_LIST\"" >> $LOCAL_TRAF_CONFIG |
| node_count=$(echo $NODE_LIST | wc -w) |
| |
| #============================================== |
| echo -n "Do you have a set of management nodes (Y/N), default is N: " |
| read answer |
| |
| |
| if [[ "${answer}" =~ ^[Yy]$ ]]; then |
| echo "export MANAGEMENT_ENABLED=\"Y\"" >> $LOCAL_TRAF_CONFIG |
| #List of Management Nodes |
| echo -n "Enter list management nodes (blank separated), default [$MANAGEMENT_NODES]: " |
| read answer |
| if [[ -z "$answer" ]]; then |
| if [ -z "$MANAGEMENT_NODES" ]; then |
| echo "***ERROR: Management nodes must be specified." |
| exit -1 |
| fi |
| else |
| MANAGEMENT_NODES="$answer" |
| echo "export MANAGEMENT_NODES=\"$MANAGEMENT_NODES\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| else |
| echo "export MANAGEMENT_ENABLED=\"N\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| # Home directory |
| if [[ "$userForTrafodion" == "0" ]]; then |
| echo -n "Enter Trafodion userid's home directory prefix, default is [$HOME_DIR]: " |
| read answer |
| |
| if [ ! -z $answer ]; then |
| # strip off TRAF_USER if user added it on end of directory |
| HOME_DIR=$(echo "$answer" | sed -e "s@/$TRAF_USER\$@@") |
| fi |
| else |
| HOME_DIR=$(grep -r "trafodion" /etc/passwd | sed 's/.*:://' | sed 's/\:.*$//' | sed 's/\/trafodion.*$//') |
| |
| fi |
| |
| echo "export HOME_DIR=\"$HOME_DIR\"" >> $LOCAL_TRAF_CONFIG |
| |
| #============================================== |
| #Check location given for Java 65 or greater |
| |
| echo -n "Specify location of Java 1.7.0_65 or higher (JDK), default is [$JAVA_HOME]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| if [ -z $JAVA_HOME ]; then |
| echo "***ERROR: Must specify location of Java 1.7.0_65 or higher (JDK)." |
| exit -1 |
| fi |
| else |
| JAVA_HOME=$answer |
| fi |
| |
| echo "export JAVA_HOME=\"$JAVA_HOME\"" >> $LOCAL_TRAF_CONFIG |
| |
| #============================================== |
| # Trafodion Build location |
| # set the following based on what the user provided as input |
| # TRAF_PACKAGE = the trafodion package tar file which contains trafodion core & dcs |
| # TRAF_BUILD = the trafodion core tar file extracted from the trafodion package |
| # DCS_BUILD = the dcs tar file extracted from the trafodion package |
| # 05/10/2016 |
| if [ -z "$TRAF_PACKAGE" ]; then |
| TRAF_DEFAULT="$TRAF_BUILD" |
| else |
| TRAF_DEFAULT="$TRAF_PACKAGE" |
| fi |
| |
| |
| echo -n "Enter full path (including .tar or .tar.gz) of trafodion tar file [$TRAF_DEFAULT]: " |
| read answer |
| if [ -z $answer ] && [ -z $TRAF_DEFAULT ]; then |
| echo "***ERROR: Must specify Trafodion tar file location." |
| exit -1 |
| fi |
| |
| if [ ! -z "$answer" ]; then |
| TRAF_PACKAGE="$answer" |
| else |
| TRAF_PACKAGE="$TRAF_DEFAULT" |
| fi |
| |
| # make sure file exists |
| if [ ! -f $TRAF_PACKAGE ]; then |
| echo "***ERROR: $TRAF_PACKAGE does not exist" |
| exit -1 |
| fi |
| |
| # Determine if we have a package that was created before 05/10/2016. |
| # Tar files created after 05/10/2016 are no longer a tar of tar packages |
| # but just one tar file. |
| |
| package=$(tar -tzf $TRAF_PACKAGE | grep build-version.txt | wc -l ) |
| if [ $package -eq 0 ]; then |
| |
| ONE_TAR_INSTALL="Y" |
| TRAF_BUILD="" |
| DCS_BUILD="" |
| REST_BUILD="" |
| else |
| # user specifed a package file |
| ONE_TAR_INSTALL="N" |
| TRAF_BUILD="" |
| DCS_BUILD="" |
| REST_BUILD="" |
| fi |
| |
| |
| echo "export TRAF_PACKAGE=\"$TRAF_PACKAGE\"" >> $LOCAL_TRAF_CONFIG |
| echo "export TRAF_BUILD=\"$TRAF_BUILD\"" >> $LOCAL_TRAF_CONFIG |
| echo "export DCS_BUILD=\"$DCS_BUILD\"" >> $LOCAL_TRAF_CONFIG |
| echo "export REST_BUILD=\"$REST_BUILD\"" >> $LOCAL_TRAF_CONFIG |
| echo "export ONE_TAR_INSTALL=\"$ONE_TAR_INSTALL\"" >> $LOCAL_TRAF_CONFIG |
| |
| #============================================== |
| #Backup restore user |
| export BACKUP_USER="trafodion" |
| |
| echo -n "Enter Backup/Restore username (can be Trafodion), default is [$BACKUP_USER]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export BACKUP_USER=\"$BACKUP_USER\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "export BACKUP_USER=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| #Enter Hadoop Type |
| |
| echo -n "Specify the Hadoop distribution installed (1: Cloudera, 2: Hortonworks, 3: Other): " |
| read answer1 |
| if [[ -z "$answer1" ]]; then |
| echo "***ERROR: User must specify the version of Hadoop being used." |
| exit -1 |
| fi |
| case "$answer1" in |
| 1) HADOOP_TYPE="cloudera" |
| echo "export HADOOP_TYPE=\"$HADOOP_TYPE\"" >> $LOCAL_TRAF_CONFIG |
| ;; |
| 2) HADOOP_TYPE="hortonworks" |
| echo "export HADOOP_TYPE=\"$HADOOP_TYPE\"" >> $LOCAL_TRAF_CONFIG |
| ;; |
| 3) HADOOP_TYPE="apache" |
| echo "export HADOOP_TYPE=\"$HADOOP_TYPE\"" >> $LOCAL_TRAF_CONFIG |
| esac |
| |
| export $HADOOP_TYPE |
| #============================================== |
| if [[ "$HADOOP_TYPE" == "apache" ]]; then |
| echo -n "Enter Hadoop installed full path (example: '/opt/hadoop-2.6.0'), default is [$HADOOP_PREFIX]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| if [[ -z $HADOOP_PREFIX ]]; then |
| echo "***ERROR: Must enter Hadoop installed path" |
| exit -1 |
| fi |
| else |
| if [[ -e $answer ]]; then |
| HADOOP_PREFIX=$answer |
| else |
| echo "***ERROR: Hadoop installed path doesn't exist" |
| exit -1 |
| fi |
| fi |
| echo "export HADOOP_PREFIX=\"$HADOOP_PREFIX\"" >> $LOCAL_TRAF_CONFIG |
| |
| #Hbase path |
| echo -n "Enter HBase installed full path (example: '/opt/hbase-1.2.0'), default is [$HBASE_HOME]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| if [[ -z $HBASE_HOME ]]; then |
| echo "***ERROR: Must enter HBase installed path" |
| exit -1 |
| fi |
| else |
| if [[ -e $answer ]]; then |
| HBASE_HOME=$answer |
| else |
| echo "***ERROR: HBase installed path doesn't exist" |
| exit -1 |
| fi |
| fi |
| echo "export HBASE_HOME=\"$HBASE_HOME\"" >> $LOCAL_TRAF_CONFIG |
| |
| #Zookeeper path |
| echo -n "Enter Zookeeper installed full path (example: '/opt/zoo'), default is [$ZOO_HOME]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| if [[ -z $ZOO_HOME ]]; then |
| echo "***ERROR: Must enter HBase installed path" |
| exit -1 |
| fi |
| else |
| if [[ -e $answer ]]; then |
| ZOO_HOME=$answer |
| else |
| echo "***ERROR: HBase installed path doesn't exist" |
| exit -1 |
| fi |
| fi |
| echo "export ZOO_HOME=\"$ZOO_HOME\"" >> $LOCAL_TRAF_CONFIG |
| |
| #Hive path |
| |
| echo -n "Is Hive Installed (Y/N), default is N: " |
| read answer |
| |
| if [[ "${answer}" =~ ^[Yy]$ ]]; then |
| |
| echo -n "Enter Hive installed full path, default is [$HIVE_HOME]: " |
| read answer1 |
| |
| if [ -z $answer1 ]; then |
| if [[ -z $HIVE_HOME ]]; then |
| echo "***ERROR: Must enter apache Hive installed path" |
| exit -1 |
| fi |
| else |
| if [[ -e $answer1 ]]; then |
| HIVE_HOME=$answer |
| else |
| echo "***ERROR: apache Hive installed path doesn't exist" |
| exit -1 |
| fi |
| fi |
| fi |
| echo "export HIVE_HOME=\"$HIVE_HOME\"" >> $LOCAL_TRAF_CONFIG |
| |
| echo -n "Enter list of all nodes in this cluster (blank separated), default [$HADOOP_NODES]: " |
| read answer2 |
| if [[ -z "$answer2" ]]; then |
| if [ -z "$HADOOP_NODES" ]; then |
| echo "***ERROR: All nodes in this cluster must be specified." |
| exit -1 |
| fi |
| else |
| HADOOP_NODES="$answer2" |
| echo "export HADOOP_NODES=\"$HADOOP_NODES\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| echo -n "Enter list of all HBase nodes in this cluster (blank separated), default [$HBASE_NODES]: " |
| read answer3 |
| if [[ -z "$answer3" ]]; then |
| if [ -z "$HBASE_NODES" ]; then |
| echo "***ERROR: All nodes in this cluster must be specified." |
| exit -1 |
| fi |
| else |
| HBASE_NODES="$answer3" |
| echo "export HBASE_NODES=\"$HBASE_NODES\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| echo -n "Enter list of all HDFS nodes in this cluster (blank separated), default [$HDFS_NODES]: " |
| read answer4 |
| if [[ -z "$answer4" ]]; then |
| if [ -z "$HDFS_NODES" ]; then |
| echo "***ERROR: All nodes in this cluster must be specified." |
| exit -1 |
| fi |
| else |
| HDFS_NODES="$answer4" |
| echo "export HDFS_NODES=\"$HDFS_NODES\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| fi |
| |
| #============================================== |
| #Hadoop user name |
| |
| if [[ "$HADOOP_TYPE" != "apache" ]]; then |
| |
| echo -n "Enter Hadoop admin username, default is [$ADMIN]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export ADMIN=\"$ADMIN\"" >> $LOCAL_TRAF_CONFIG |
| username=$ADMIN |
| else |
| echo "export ADMIN=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| username=$answer |
| fi |
| #============================================== |
| #Hadoop Password |
| |
| echo -n "Enter Hadoop admin password, default is [$PASSWORD]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export PASSWORD=\"$PASSWORD\"" >> $LOCAL_TRAF_CONFIG |
| password=$PASSWORD |
| else |
| echo "export PASSWORD=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| password=$answer |
| fi |
| |
| #============================================== |
| #Hadoop URL |
| |
| echo -n "Enter full Hadoop external network URL:port (include 'http://' or 'https://), default is [$URL]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| if [[ -z $URL ]]; then |
| echo "***ERROR: Must enter $HADOOP_TYPE external network URL" |
| exit -1 |
| fi |
| else |
| URL=$answer |
| fi |
| |
| validURL=$(curl -k -s --head $URL | head -n 1 | grep "OK" | wc -l) |
| |
| if [[ $validURL -eq "1" ]]; then |
| echo "export URL=\"$URL\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "***ERROR: Could not access $URL" |
| echo "***ERROR: Check that URL and port are correct or if $HADOOP_TYPE is up" |
| exit -1 |
| fi |
| fi |
| #============================================== |
| |
| #echo -n "Is this a multi-cluster setup (Y/N), default is N: " |
| #read answer |
| |
| #if [[ "${answer}" =~ ^[Yy]$ ]]; then |
| # echo "export MULTI_CLUSTER=\"Y\"" >> $LOCAL_TRAF_CONFIG |
| |
| # echo -n "Enter full Hadoop Cluster name, default is [$CLUSTER_NAME]: " |
| # read answer |
| |
| # answer=${answer// /%20} |
| |
| # if [ -z $answer ]; then |
| # if [[ -z $CLUSTER_NAME ]]; then |
| # echo "***ERROR: Must enter full Hadoop Cluster name" |
| # exit -1 |
| # fi |
| # else |
| # CLUSTER_NAME=$answer |
| # echo "export CLUSTER_NAME=\"$CLUSTER_NAME\"" >> $LOCAL_TRAF_CONFIG |
| # fi |
| |
| # echo -n "Enter list of all nodes in this cluster (blank separated), default [$HADOOP_NODES]: " |
| # read answer |
| # if [[ -z "$answer" ]]; then |
| # if [ -z "$HADOOP_NODES" ]; then |
| # echo "***ERROR: All nodes in this cluster must be specified." |
| # exit -1 |
| # fi |
| # else |
| # HADOOP_NODES="$answer" |
| # echo "export HADOOP_NODES=\"$HADOOP_NODES\"" >> $LOCAL_TRAF_CONFIG |
| # fi |
| |
| # echo -n "Enter list of all HBase nodes in this cluster (blank separated), default [$HBASE_NODES]: " |
| # read answer |
| # if [[ -z "$answer" ]]; then |
| # if [ -z "$HBASE_NODES" ]; then |
| # echo "***ERROR: All nodes in this cluster must be specified." |
| # exit -1 |
| # fi |
| # else |
| # HBASE_NODES="$answer" |
| # echo "export HBASE_NODES=\"$HBASE_NODES\"" >> $LOCAL_TRAF_CONFIG |
| # fi |
| |
| # echo -n "Enter list of all HDFS nodes in this cluster (blank separated), default [$HDFS_NODES]: " |
| # read answer |
| # if [[ -z "$answer" ]]; then |
| # if [ -z "$HDFS_NODES" ]; then |
| # echo "***ERROR: All nodes in this cluster must be specified." |
| # exit -1 |
| # fi |
| # else |
| # HDFS_NODES="$answer" |
| # echo "export HDFS_NODES=\"$HDFS_NODES\"" >> $LOCAL_TRAF_CONFIG |
| # fi |
| |
| #else |
| echo "export MULTI_CLUSTER=\"N\"" >> $LOCAL_TRAF_CONFIG |
| #fi |
| |
| |
| #============================================== |
| #HDFS Username |
| |
| echo -n "Enter HDFS username or username running HDFS, default is [$HDFS_USER]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export HDFS_USER=\"$HDFS_USER\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "export HDFS_USER=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| #HBase user |
| |
| echo -n "Enter HBase username or username running HBase, default is [$HBASE_USER]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export HBASE_USER=\"$HBASE_USER\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "export HBASE_USER=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| #HBase group |
| |
| echo -n "Enter HBase group, default is [$HBASE_GROUP]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export HBASE_GROUP=\"$HBASE_GROUP\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "export HBASE_GROUP=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| #HBase group |
| |
| echo -n "Enter Zookeeper username or username running Zookeeper, default is [$ZOO_USER]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export ZOO_USER=\"$ZOO_USER\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "export ZOO_USER=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| #Install location |
| |
| traf_filename=$(basename "$TRAF_PACKAGE") |
| TRAF_HOME="$HOME_DIR/$TRAF_USER/${traf_filename%.tar.gz}" |
| |
| echo -n "Enter directory to install trafodion to, default is [$TRAF_HOME]: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export TRAF_HOME=\"$TRAF_HOME\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "export TRAF_HOME=\"$answer\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| #Run sqstart |
| if [[ $SCANNER_MODE == "N" ]]; then |
| echo -n "Start Trafodion after install (Y/N), default is Y: " |
| read answer |
| |
| if [ -z $answer ]; then |
| echo "export START=\"Y\"" >> $LOCAL_TRAF_CONFIG |
| echo "export INIT_TRAFODION=\"Y\"" >> $LOCAL_TRAF_CONFIG |
| else |
| if [[ "${answer}" =~ ^[Yy]$ ]]; then |
| echo "export START=\"Y\"" >> $LOCAL_TRAF_CONFIG |
| echo "export INIT_TRAFODION=\"Y\"" >> $LOCAL_TRAF_CONFIG |
| else |
| echo "export START=\"N\"" >> $LOCAL_TRAF_CONFIG |
| echo "export INIT_TRAFODION=\"N\"" >> $LOCAL_TRAF_CONFIG |
| echo "***INFO: Trafodion will not be started after install is complete." |
| echo "***INFO: User will need follow steps on the trafodion wiki on how to start." |
| fi |
| fi |
| fi |
| #============================================== |
| #DCS Servers |
| |
| DCS_SERVERS_PARM=$(($node_count * 8)) |
| echo -n "Total number of client connections per cluster, default [$DCS_SERVERS_PARM]: " |
| read answer |
| |
| if [ ! -z $answer ]; then |
| DCS_SERVERS_PARM="$answer" |
| fi |
| |
| echo "export DCS_SERVERS_PARM=\"$DCS_SERVERS_PARM\"" >> $LOCAL_TRAF_CONFIG |
| |
| #============================================== |
| |
| #Get the node name where the customer would like to start DcsMaster process |
| |
| echo -n "Enter the node of primary DcsMaster, default [$DCS_PRIMARY_MASTER_NODE]: " |
| read answer |
| |
| if [ ! -z $answer ]; then |
| DCS_PRIMARY_MASTER_NODE="$answer" |
| fi |
| |
| echo "export DCS_PRIMARY_MASTER_NODE=\"$DCS_PRIMARY_MASTER_NODE\"" >> $LOCAL_TRAF_CONFIG |
| echo "export DCS_MASTER_HOST=\"$DCS_PRIMARY_MASTER_NODE\"" >> $LOCAL_TRAF_CONFIG |
| echo "export DCS_MASTER_PORT=\"$DCS_MASTER_PORT\"" >> $LOCAL_TRAF_CONFIG |
| |
| #============================================== |
| #Enable HA |
| |
| echo -n "Enable High Availability (Y/N), default is N: " |
| read answer |
| |
| if [[ ! -z $answer ]]; then |
| if [[ "${answer}" =~ ^[Yy]$ ]]; then |
| ENABLE_HA="true" |
| else |
| ENABLE_HA="false" |
| fi |
| else |
| ENABLE_HA="false" |
| fi |
| |
| echo "export ENABLE_HA=\"$ENABLE_HA\"" >> $LOCAL_TRAF_CONFIG |
| |
| #============================================== |
| #Add Floating IP if HA Enabled |
| if [[ "$ENABLE_HA" == "true" ]]; then |
| #Get the floating IP address, interface name and the list of backup nodes to be used |
| ######Get the floating IP address |
| echo -n "Enter floating IP address for setting up HA: " |
| read answer1 |
| |
| if [[ -z $answer1 ]]; then |
| echo "Floating IP address must be specified." |
| exit 1 |
| else |
| FLOATING_IP="$answer1" |
| fi |
| echo "export FLOATING_IP=\"$FLOATING_IP\"" >> $LOCAL_TRAF_CONFIG |
| sed -i '/DCS_MASTER_HOST\=/d' $LOCAL_TRAF_CONFIG |
| echo "export DCS_MASTER_HOST=\"$FLOATING_IP\"" >> $LOCAL_TRAF_CONFIG |
| |
| ######Get the interface used by the floating IP address |
| echo -n "Enter interface used for floating IP address: " |
| read answer2 |
| |
| if [ -z $answer2 ]; then |
| echo "Floating IP address interface name must be specified." |
| exit 1 |
| else |
| INTERFACE="$answer2" |
| fi |
| echo "export INTERFACE=\"$INTERFACE\"" >> $LOCAL_TRAF_CONFIG |
| |
| ######Get the list of backup nodes to be used |
| echo -n "Enter backup nodes for HA (blank seperated): " |
| read answer3 |
| |
| if [[ -z "$answer3" ]]; then |
| echo "Backup nodes must be specified." |
| exit 1 |
| else |
| BACKUP_DCS_NODES="$answer3" |
| fi |
| echo "export BACKUP_DCS_NODES=\"$BACKUP_DCS_NODES\"" >> $LOCAL_TRAF_CONFIG |
| fi |
| |
| #============================================== |
| #All items added to config file |
| #Will add setup complete flag |
| |
| echo "export CONFIG_COMPLETE=\"true\"" >> $LOCAL_TRAF_CONFIG |
| #============================================= |
| #Create directories and cp files |
| |
| sudo mkdir -p $TRAF_CONFIG_DIR |
| sudo chmod 777 $TRAF_CONFIG_DIR |
| sudo cp $LOCAL_TRAF_CONFIG $TRAF_CONFIG |
| sudo chmod 777 $TRAF_CONFIG |
| |
| #============================================== |
| |
| echo "***INFO: Trafodion configuration setup complete" |