Created
November 28, 2018 06:20
-
-
Save shiumachi/144a7a99d2f6e12fee5be3c9edafb12b to your computer and use it in GitHub Desktop.
alternatives like script for hadoop
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
HOME_LIB_DIR=${HOME}/lib | |
# symlink list | |
HADOOP_SYMLINK=${HOME_LIB_DIR}/hadoop | |
HBASE_SYMLINK=${HOME_LIB_DIR}/hbase | |
ZOOKEEPER_SYMLINK=${HOME_LIB_DIR}/zookeeper | |
HIVE_SYMLINK=${HOME_LIB_DIR}/hive | |
PIG_SYMLINK=${HOME_LIB_DIR}/pig | |
HUE_SYMLINK=${HOME_LIB_DIR}/hue | |
HUE_PLUGINS_SYMLINK=${HOME_LIB_DIR}/hue-plugins.jar | |
MAHOUT_SYMLINK=${HOME_LIB_DIR}/mahout | |
FLUME_SYMLINK=${HOME_LIB_DIR}/flume | |
SYMLINK_LIST=(${HADOOP_SYMLINK} ${HBASE_SYMLINK} ${ZOOKEEPER_SYMLINK} ${HIVE_SYMLINK} ${PIG_SYMLINK} ${HUE_SYMLINK} ${HUE_PLUGINS_SYMLINK} ${MAHOUT_SYMLINK} ${FLUME_SYMLINK}) | |
## version list | |
HADOOP_HOME_CDH2U1=${HOME_LIB_DIR}/hadoop-0.20.1+169.88 | |
HADOOP_HOME_CDH2U3=${HOME_LIB_DIR}/hadoop-0.20.1+169.127 | |
HADOOP_HOME_CDH3U0=${HOME_LIB_DIR}/hadoop-0.20.2-cdh3u0 | |
HADOOP_HOME_CDH3U1=${HOME_LIB_DIR}/hadoop-0.20.2-cdh3u1 | |
HADOOP_HOME_CDH3U2=${HOME_LIB_DIR}/hadoop-0.20.2-cdh3u2 | |
HADOOP_HOME_CDH3U3=${HOME_LIB_DIR}/hadoop-0.20.2-cdh3u3 | |
HADOOP_HOME_CDH3U4=${HOME_LIB_DIR}/hadoop-0.20.2-cdh3u4 | |
HADOOP_HOME_CDH3U5=${HOME_LIB_DIR}/hadoop-0.20.2-cdh3u5 | |
HADOOP_HOME_CDH4B2=${HOME_LIB_DIR}/hadoop-0.23.1-cdh4.0.0b2 | |
HADOOP_HOME_CDH4_0=${HOME_LIB_DIR}/hadoop-2.0.0-cdh4.0.0 | |
HADOOP_HOME_CDH4_1=${HOME_LIB_DIR}/hadoop-2.0.0-cdh4.1.1 | |
HADOOP_HOME_CDH4_2=${HOME_LIB_DIR}/hadoop-2.0.0-cdh4.2.0 | |
HBASE_HOME_CDH3U0=${HOME_LIB_DIR}/hbase-0.90.1-cdh3u0 | |
HBASE_HOME_CDH3U1=${HOME_LIB_DIR}/hbase-0.90.3-cdh3u1 | |
HBASE_HOME_CDH3U2=${HOME_LIB_DIR}/hbase-0.90.4-cdh3u2 | |
HBASE_HOME_CDH3U3=${HOME_LIB_DIR}/hbase-0.90.4-cdh3u3 | |
HBASE_HOME_CDH3U4=${HOME_LIB_DIR}/hbase-0.90.6-cdh3u4 | |
ZOOKEEPER_HOME_CDH3U0=${HOME_LIB_DIR}/zookeeper-3.3.3-cdh3u0 | |
ZOOKEEPER_HOME_CDH3U1=${HOME_LIB_DIR}/zookeeper-3.3.3-cdh3u1 | |
ZOOKEEPER_HOME_CDH3U2=${HOME_LIB_DIR}/zookeeper-3.3.3-cdh3u2 | |
ZOOKEEPER_HOME_CDH3U3=${HOME_LIB_DIR}/zookeeper-3.3.4-cdh3u3 | |
ZOOKEEPER_HOME_CDH3U4=${HOME_LIB_DIR}/zookeeper-3.3.5-cdh3u4 | |
HIVE_HOME_CDH3U0=${HOME_LIB_DIR}/hive-0.7.0-cdh3u0 | |
HIVE_HOME_CDH3U1=${HOME_LIB_DIR}/hive-0.7.1-cdh3u1 | |
HIVE_HOME_CDH3U2=${HOME_LIB_DIR}/hive-0.7.1-cdh3u2 | |
HIVE_HOME_CDH3U3=${HOME_LIB_DIR}/hive-0.7.1-cdh3u3 | |
HIVE_HOME_CDH3U4=${HOME_LIB_DIR}/hive-0.7.1-cdh3u4 | |
HIVE_HOME_CDH3U5=${HOME_LIB_DIR}/hive-0.7.1-cdh3u5 | |
HIVE_HOME_CDH4B2=${HOME_LIB_DIR}/hive-0.8.1-cdh4.0.0b2 | |
HIVE_HOME_CDH4_0=${HOME_LIB_DIR}/hive-0.8.1-cdh4.0.1 | |
HIVE_HOME_CDH4_2=${HOME_LIB_DIR}/hive-0.10.0-cdh4.2.0 | |
PIG_HOME_CDH3U3=${HOME_LIB_DIR}/pig-0.8.1-cdh3u3 | |
HUE_HOME_CDH3U2=${HOME_LIB_DIR}/hue-1.2.0.0-cdh3u2 | |
HUE_HOME_CDH3U3=${HOME_LIB_DIR}/hue-1.2.0.0-cdh3u3 | |
HUE_PLUGINS_CDH3U2=${HUE_HOME_CDH3U2}/desktop/libs/hadoop/java-lib/hue-plugins-1.2.0-cdh3u2.jar | |
HUE_PLUGINS_CDH3U3=${HUE_HOME_CDH3U3}/desktop/libs/hadoop/java-lib/hue-plugins-1.2.0-cdh3u3.jar | |
MAHOUT_HOME_CDH3U4=${HOME_LIB_DIR}/mahout-0.5-cdh3u4 | |
FLUME_HOME_CDH4_1=${HOME_LIB_DIR}/apache-flume-1.2.0-cdh4.1.3 | |
usage(){ | |
printf "%s:\n" "usage" 1>&2 | |
printf "%s [component] [cdh-version] -prod\n" `basename $0` 1>&2 | |
# please add new component here | |
printf " %-15s: hadoop, hbase, zookeeper, hive, hue(>= CDH3u2), pig(>= CDH3u3), mahout(>= CDH3u4) flume(>= 4.1)\n" "component" 1>&2 | |
# please add new version here | |
printf " %-15s: CDH2u1/CDH2u3(hadoop only), CDH3u[0-5], CDH4b2, CDH4.[0-2]\n" "cdh-version" 1>&2 | |
printf "%s -l\n" `basename $0` 1>&2 | |
printf " list current settings\n" 1>&2 | |
} | |
# please add new version here | |
version_selection(){ | |
case "${CDH_VERSION}" in | |
"CDH2u1") | |
cdh_ver=\$${CDH_HOME}_CDH2U1 | |
;; | |
"CDH2u3") | |
cdh_ver=\$${CDH_HOME}_CDH2U3 | |
;; | |
"CDH3u0") | |
cdh_ver=\$${CDH_HOME}_CDH3U0 | |
;; | |
"CDH3u1") | |
cdh_ver=\$${CDH_HOME}_CDH3U1 | |
;; | |
"CDH3u2") | |
cdh_ver=\$${CDH_HOME}_CDH3U2 | |
;; | |
"CDH3u3") | |
cdh_ver=\$${CDH_HOME}_CDH3U3 | |
;; | |
"CDH3u4") | |
cdh_ver=\$${CDH_HOME}_CDH3U4 | |
;; | |
"CDH3u5") | |
cdh_ver=\$${CDH_HOME}_CDH3U5 | |
;; | |
"CDH4b2") | |
cdh_ver=\$${CDH_HOME}_CDH4B2 | |
;; | |
"CDH4.0") | |
cdh_ver=\$${CDH_HOME}_CDH4_0 | |
;; | |
"CDH4.1") | |
cdh_ver=\$${CDH_HOME}_CDH4_1 | |
;; | |
"CDH4.2") | |
cdh_ver=\$${CDH_HOME}_CDH4_2 | |
;; | |
*) | |
usage | |
exit | |
esac | |
} | |
# please add new component here | |
component_selection(){ | |
case "${COMPONENT}" in | |
"hadoop") | |
CDH_ALTERNATIVE_COMMAND=hadoop_alternative | |
CDH_HOME="HADOOP_HOME" | |
;; | |
"hbase") | |
CDH_ALTERNATIVE_COMMAND=hbase_alternative | |
CDH_HOME="HBASE_HOME" | |
;; | |
"zookeeper") | |
CDH_ALTERNATIVE_COMMAND=zookeeper_alternative | |
CDH_HOME="ZOOKEEPER_HOME" | |
;; | |
"hive") | |
CDH_ALTERNATIVE_COMMAND=hive_alternative | |
CDH_HOME="HIVE_HOME" | |
;; | |
"pig") | |
CDH_ALTERNATIVE_COMMAND=pig_alternative | |
CDH_HOME="PIG_HOME" | |
;; | |
"hue") | |
CDH_ALTERNATIVE_COMMAND=hue_alternative | |
CDH_HOME="HUE_HOME" | |
;; | |
"mahout") | |
CDH_ALTERNATIVE_COMMAND=mahout_alternative | |
CDH_HOME="MAHOUT_HOME" | |
;; | |
"flume") | |
CDH_ALTERNATIVE_COMMAND=flume_alternative | |
CDH_HOME="FLUME_HOME" | |
;; | |
*) | |
usage | |
exit | |
esac | |
} | |
alternative_list(){ | |
echo "alternative_list()" | |
for link in ${SYMLINK_LIST[@]}; do | |
ls -lGd ${link} | |
done | |
} | |
hadoop_alternative(){ | |
echo "hadoop_alternative()" | |
rm ${HADOOP_SYMLINK} | |
ln -s $1 ${HADOOP_SYMLINK} | |
} | |
hadoop_alternative_dryrun(){ | |
echo "hadoop_alternative()" | |
echo "rm ${HADOOP_SYMLINK}" | |
echo "ln -s $1 ${HADOOP_SYMLINK}" | |
} | |
hbase_alternative(){ | |
echo "hbase_alternative()" | |
rm ${HBASE_SYMLINK} | |
ln -s $1 ${HBASE_SYMLINK} | |
} | |
hbase_alternative_dryrun(){ | |
echo "hbase_alternative()" | |
echo "rm ${HBASE_SYMLINK}" | |
echo "ln -s $1 ${HBASE_SYMLINK}" | |
} | |
zookeeper_alternative(){ | |
echo "zookeeper_alternative()" | |
rm ${ZOOKEEPER_SYMLINK} | |
ln -s $1 ${ZOOKEEPER_SYMLINK} | |
} | |
zookeeper_alternative_dryrun(){ | |
echo "zookeeper_alternative()" | |
echo "rm ${ZOOKEEPER_SYMLINK}" | |
echo "ln -s $1 ${ZOOKEEPER_SYMLINK}" | |
} | |
hive_alternative(){ | |
echo "hive_alternative()" | |
rm ${HIVE_SYMLINK} | |
ln -s $1 ${HIVE_SYMLINK} | |
} | |
hive_alternative_dryrun(){ | |
echo "hive_alternative()" | |
echo "rm ${HIVE_SYMLINK}" | |
echo "ln -s $1 ${HIVE_SYMLINK}" | |
} | |
pig_alternative(){ | |
echo "pig_alternative()" | |
rm ${PIG_SYMLINK} | |
ln -s $1 ${PIG_SYMLINK} | |
} | |
pig_alternative_dryrun(){ | |
echo "pig_alternative()" | |
echo "rm ${PIG_SYMLINK}" | |
echo "ln -s $1 ${PIG_SYMLINK}" | |
} | |
hue_alternative(){ | |
echo "hue_alternative()" | |
case "${CDH_VERSION}" in | |
"CDH3u2") | |
rm ${HUE_PLUGINS_SYMLINK} | |
ln -s ${HUE_PLUGINS_CDH3U2} ${HUE_PLUGINS_SYMLINK} | |
;; | |
"CDH3u3") | |
rm ${HUE_PLUGINS_SYMLINK} | |
ln -s ${HUE_PLUGINS_CDH3U3} ${HUE_PLUGINS_SYMLINK} | |
;; | |
*) | |
printf "ERROR: invalid version: %s\n" ${CDH_VERSION} 1>&2 | |
exit | |
esac | |
rm ${HUE_SYMLINK} | |
ln -s $1 ${HUE_SYMLINK} | |
} | |
hue_alternative_dryrun(){ | |
echo "hue_alternative()" | |
case "${CDH_VERSION}" in | |
"CDH3u2") | |
echo "rm ${HUE_PLUGINS_SYMLINK}" | |
echo "ln -s ${HUE_PLUGINS_CDH3U2} ${HUE_PLUGINS_SYMLINK}" | |
;; | |
"CDH3u3") | |
echo "rm ${HUE_PLUGINS_SYMLINK}" | |
echo "ln -s ${HUE_PLUGINS_CDH3U3} ${HUE_PLUGINS_SYMLINK}" | |
;; | |
*) | |
printf "ERROR: invalid version: %s\n" ${CDH_VERSION} 1>&2 | |
exit | |
esac | |
echo "rm ${HUE_SYMLINK}" | |
echo "ln -s $1 ${HUE_SYMLINK}" | |
} | |
mahout_alternative(){ | |
echo "mahout_alternative()" | |
rm ${MAHOUT_SYMLINK} | |
ln -s $1 ${MAHOUT_SYMLINK} | |
} | |
mahout_alternative_dryrun(){ | |
echo "mahout_alternative()" | |
echo "rm ${MAHOUT_SYMLINK}" | |
echo "ln -s $1 ${MAHOUT_SYMLINK}" | |
} | |
flume_alternative(){ | |
echo "flume_alternative()" | |
rm ${FLUME_SYMLINK} | |
ln -s $1 ${FLUME_SYMLINK} | |
} | |
flume_alternative_dryrun(){ | |
echo "flume_alternative()" | |
echo "rm ${FLUME_SYMLINK}" | |
echo "ln -s $1 ${FLUME_SYMLINK}" | |
} | |
if [ $# == 1 -a "$1" == "-l" ]; then | |
alternative_list | |
exit | |
fi | |
if [ $# == 3 ]; then | |
DRYRUN=0 | |
elif [ $# == 2 ]; then | |
DRYRUN=1 | |
else | |
usage | |
exit | |
fi | |
COMPONENT=$1 | |
CDH_VERSION=$2 | |
component_selection | |
if [ "${DRYRUN}" == 1 ]; then | |
CDH_ALTERNATIVE_COMMAND=${CDH_ALTERNATIVE_COMMAND}_dryrun | |
fi | |
version_selection | |
${CDH_ALTERNATIVE_COMMAND} `eval echo $"$cdh_ver"` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment