You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by xy...@apache.org on 2018/10/18 17:44:38 UTC
[13/50] [abbrv] hadoop git commit: YARN-8870. [Submarine] Add
submarine installation scripts. (Xun Liu via wangda)
http://git-wip-us.apache.org/repos/asf/hadoop/blob/46d6e001/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/installation/scripts/utils.sh
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/installation/scripts/utils.sh b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/installation/scripts/utils.sh
new file mode 100644
index 0000000..7b3c2a9
--- /dev/null
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/installation/scripts/utils.sh
@@ -0,0 +1,123 @@
+#!/usr/bin/env bash
+# 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.
+
+## @description check install user
+## @audience public
+## @stability stable
+function check_install_user()
+{
+ if [[ $(id -u) -ne 0 ]];then
+ echo "This script must be run with a ROOT user!"
+ exit # don't call exit_install()
+ fi
+}
+
+## @description exit install
+## @audience public
+## @stability stable
+function exit_install()
+{
+ echo "Exit the installation!" | tee -a $LOG
+ exit $1
+}
+
+## @description Check if the IP address format is correct
+## @audience public
+## @stability stable
+function valid_ip()
+{
+ local ip=$1
+ local stat=1
+
+ if [[ $ip =~ ^[0-9]{1,3\}.[0-9]{1,3\}.[0-9]{1,3\}.[0-9]{1,3\}$ ]]; then
+ OIFS=$IFS
+ IFS='.'
+ ip=($ip)
+ IFS=$OIFS
+
+ if [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]; then
+ stat=$?
+ fi
+ fi
+
+ return $stat
+}
+
+## @description Check if the configuration file configuration is correct
+## @audience public
+## @stability stable
+function check_install_conf()
+{
+ echo "Check if the configuration file configuration is correct ..." | tee -a $LOG
+
+ # check etcd conf
+ hostCount=${#ETCD_HOSTS[@]}
+ if [[ $hostCount -lt 3 && hostCount -ne 0 ]]; then # <>2
+ echo "Number of nodes = [$hostCount], must be configured to be greater than or equal to 3 servers! " | tee -a $LOG
+ exit_install
+ fi
+ for ip in ${ETCD_HOSTS[@]}
+ do
+ if ! valid_ip $ip; then
+ echo "]ETCD_HOSTS=[$ip], IP address format is incorrect! " | tee -a $LOG
+ exit_install
+ fi
+ done
+ echo "Check if the configuration file configuration is correct [ Done ]" | tee -a $LOG
+}
+
+## @description index by EtcdHosts list
+## @audience public
+## @stability stable
+function indexByEtcdHosts() {
+ index=0
+ while [ "$index" -lt "${#ETCD_HOSTS[@]}" ]; do
+ if [ "${ETCD_HOSTS[$index]}" = "$1" ]; then
+ echo $index
+ return
+ fi
+ let "index++"
+ done
+ echo ""
+}
+
+## @description get local IP
+## @audience public
+## @stability stable
+function getLocalIP()
+{
+ local _ip _myip _line _nl=$'\n'
+ while IFS=$': \t' read -a _line ;do
+ [ -z "${_line%inet}" ] &&
+ _ip=${_line[${#_line[1]}>4?1:2]} &&
+ [ "${_ip#127.0.0.1}" ] && _myip=$_ip
+ done< <(LANG=C /sbin/ifconfig)
+ printf ${1+-v} $1 "%s${_nl:0:$[${#1}>0?0:1]}" $_myip
+}
+
+## @description get ip list
+## @audience public
+## @stability stable
+function get_ip_list()
+{
+ array=$(ifconfig | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2)
+
+ for ip in ${array[@]}
+ do
+ LOCAL_HOST_IP_LIST+=(${ip})
+ done
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org