#!/bin/bash
echo "install zookeeper 3.5.7 ==========="
#进入安装包路径
function cd_opt(){
if [ -d /opt ]
then
cd /opt
else
sudo mkdir -p /opt
cd /opt
fi
}
#安装
function install_zookeeper(){
cd_opt
mkdir module
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module
}
#修改安装文件名
function mv_zookeeper(){
cd /opt/module
mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
cd zookeeper-3.5.7/conf
mv zoo_sample.cfg zoo.cfg
}
#修改zookeeper配置文件 zoo.cfg
function vim_zooCfg(){
last="dataDir=/tmp/zookeeper"
new="dataDir=/opt/module/zookeeper-3.5.7/zkData"
mkdir /opt/module/zookeeper-3.5.7/zkData
echo "新建文件夹zkdata: /opt/module/zookeeper-3.5.7/zkData"
#sed: -e expression #1, unknown option to `s'解决办法:
# https://blog.csdn.net/weixin_37569048/article/details/92806491
#sed -i "s/${last}/${new}/g" /opt/module/zookeeper-3.5.7/conf/zoo.cfg
#sed -i "s|dataDir=/tmp/zookeeper|dataDir=/opt/module/zookeeper-3.5.7/zkData|g" zoo.cfg
sed -i "s|${last}|${new}|g" zoo.cfg
}
#执行安装程序
echo "==========================开始安装=========================="
install_zookeeper
echo "==========================安装成功=========================="
echo "==========================修改安装文件名和配置文件名========"
mv_zookeeper
echo "==========================修改名称成功======================"
echo "==========================修改配置文件zoo.cfg==============="
vim_zooCfg
echo "==========================修改配置文件成功=================="
cur_dateTime="`date +%Y-%m-%d,%H:%m:%s`"
echo "安装日期:${cur_dateTime}"
2、 脚本编写重点
参考例子
https://blog.csdn.net/chongyaojin5336/article/details/101006505
修改文件内容的脚本: sed
https://www.cnblogs.com/surplus/p/14585194.html?ivk_sa=1024320u
错误sed: -e expression #1, unknown option to s解决办法
https://blog.csdn.net/weixin_37569048/article/details/92806491
shell输出当前日期
https://blog.csdn.net/jenyzhang/article/details/51056745
变量的定义和使用
https://blog.csdn.net/qq_45034392/article/details/99935336
此安装脚本需要上传安装包apache-zookeeper-3.5.7-bin.tar.gz到目录 opt 里面。
zookeeper下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/
上传windows文件到Linux中方法:https://blog.csdn.net/qq_43987149/article/details/122101588



