1 Star 2 Fork 1

hxsaj/tools_shell

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
zookeeper_ops.sh 4.30 KB
一键复制 编辑 原始数据 按行查看 历史
hxsaj 提交于 2024-03-18 01:19 . 新增部署mysql8
#!/usr/bin/env bash
###################################################################
# Function :CentOS7.X install|uninstall|version zookeeper #
# Platform :RedHatEL7.x Based Platform #
# Version :1.0 #
# Date :2021-02-01 #
# Author :houxiaoshuai #
# Contact :hxsaj@126.com #
# Company : #
# depend on: #
###################################################################
# 说明:此脚本自动安装zookeeper。
# 逻辑:
# 1,判断脚本参数是否有超过2个参数,并且第二个开始的参数是ip地址
# 2,如果脚本只带一个目录位置的参数,则部署单机版的zk
# 3,如果脚本带有目录位置的参数和3、5个ip地址,则部署集群版本zk
# 4,首先将zk的二进制包解压到指定的目录,集群版本的在指定的目录下按照ip的个数复制出多份来
# 5,修改配置文件之后推送到相应的目录和ip地址上即可
# 进入到脚本所在目录执行
#cd `dirname $0`
## ------ 信息色彩定义 ------
# 指示 # echo -e "\n\033[1m 色彩测试-提示 \033[0m\n"
function tips () { echo -e "\n\033[1m $@ \033[0m\n" >&1 ; }
# 提示 # echo -e "\n\033[1;38;46m 色彩测试-提示 \033[0m\n"
function notice () { echo -e "\n\033[1;34;46m $@ \033[0m\n" >&1 ; }
# 警告 # echo -e "\n\033[1;35;46m 色彩测试-警告 \033[0m\n"
function warning() { echo -e "\n\033[1;35;46m $@ \033[0m\n" >&2 ; }
# 报错 # echo -e "\n\033[1;31;46m 色彩测试-错误 \033[0m\n"
function error () { echo -e "\n\033[1;31;46m $@ \033[0m\n" >&2 ; }
# ====== 变量定义 ======
# (按需修改)二进制安装包名字
ZK_BIN_PACKAGE=/root/drds_deploy/drds_soft/zookeeper/zookeeper-3.4.12.tar.gz
ZK_BIN_PACKAGE=""
# (按需修改)安装路径
ZK_DEPLOY_DIR=${1}
ZK_DEPLOY_DIR=""
# (不建议改)环境变量写入的主文件
CACHE_DIR=/tmp/.zk
# 检查操作系统是32位还是64位
function chack_os(){
getconf LONG_BIT
}
# ------ 检测 zk 函数 ------
function java_version(){
if [ $# -eq 1 ] && [[ C${1} == C"chack" ]];then
if java -version >/dev/null 2>&1;then
JAVA_VERSION=$(java -version 2>&1 |awk 'NR==1{ gsub(/"/,""); print $3 }')
echo ${JAVA_VERSION}
else
show_error "[ ERROR ] No Java program found!"
fi
elif [ $# -eq 1 ] && [[ C${1} == C"install" ]];then
fi
ssh root@139.198.34.37 "java -version 2>&1 |awk 'NR==1{ gsub(/\"/,\"\"); print \$3 }'"
}
# ------ 安装 zk 函数 ------
function zk_install(){
# 解压 jdk 二进制包 到 暂存路径 下
[ ! -d ${CACHE_DIR} ] && mkdir -p ${CACHE_DIR}
tar -zxf ${ZK_BIN_PACKAGE} -C ${CACHE_DIR}
#
#sed -i "s#JAVA_HOME=deploydir#JAVA_HOME=${JAVA_HOME}#g" ${PROFILE_TEM} &&cp ${PROFILE_TEM} ${PROFILE_NAME}
JDK_DIR=${JAVA_DEPLOY_DIR}/$(ls -t /usr/local/java|head -1)
[ ! -f ${PROFILE_NAME} ] && touch ${PROFILE_NAME}
echo -e "export JAVA_HOME=${JDK_DIR}" > ${PROFILE_NAME}
echo 'export CLASSPATH=${JAVA_HOME}/lib' >> ${PROFILE_NAME}
echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> ${PROFILE_NAME}
fi
}
# ------ 卸载 JAVA 函数 ------
function java_uninstall(){
# 删除 java 二进制包部署目录
[ -d ${JAVA_HOME} ] && rm ${JAVA_HOME} -rf
# 删除环境变量
rm ${PROFILE_NAME} -f
# 卸载 yum 安装的java(注意,脚本的名字不能修改为 java 开头,脚本如果为 java 开头会导致 yum remove java* 命令执行失败
[ $(rpm -qa |grep java|wc -l) -gt 0 ] && yum remove java* -y >/dev/null 2>&1
# 判断是否还有java程序
$(java -? >/dev/null 2>&1) || show_tips "Remove java done! "
}
main(){
# 选择
case S"${1}" in
Sversion ) java_version ;;
Sinstall ) java_install && source /etc/profile ;;
Suninstall ) java_uninstall ; source /etc/profile ;;
S* ) show_warning "Usage: $0 {version|install|uninstall}" &&exit 1 ;;
esac
}
main "$@"
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/hxsaj/tools_shell.git
git@gitee.com:hxsaj/tools_shell.git
hxsaj
tools_shell
tools_shell
master

搜索帮助