redis集群一键安装并启动脚本

#!/usr/bin/env bash
#redis集群一键安装脚本
if [ $# -ne 6 ];then
	echo "please input ./redis-cluster-install.sh -n 10 -p 6001 -a 123456"
	echo "-n redis集群的节点个数"
	echo "-p 节点起始侦听端口号"
	echo "-a redis密码"
	exit 0
fi 

if [ "$(($2%2))" -ne 0 ] || [ $2 < 6 ] ;then
	echo "redis集群的节点个数必须设置6个以上"
	exit
fi	

cd ~/
#下载并编译redis
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
tar xzf redis-6.2.6.tar.gz
cd redis-6.2.6
make

mkdir bin
cp redis.conf bin/redis.conf
cp src/redis-cli bin/redis-cli
cp src/redis-server bin/redis-server
cp src/redis-sentinel bin/redis-sentinel
cp src/redis-check-aof bin/redis-check-aof
cp src/redis-check-rdb bin/redis-check-rdb
cp src/redis-benchmark bin/redis-benchmark

sed -i 's/daemonize no/daemonize yes/g' redis.conf
sed -i 's/#cluster-enabled yes/cluster-enabled yes/g' redis.conf
sed -i 's/protected-mode yes/protected-mode no'
sed -i 's/bind 127.0.0.1 -::1/bind 0.0.0.0/g' redis.conf
#密码设置
sed -i "s/# requirepass foobared/requirepass $6/g" redis.conf
sed -i "s/# masterauth <master-password>/masterauth $6/g" redis.conf

cd ~/
mkdir redis-cluster
cd redis-cluster
cp redis-6.2.6/src/redis-cli redis-cli 

host=""
for i in $(seq 1 $2)
do
	dir=`echo $i | awk '{printf("%02d\n",$0)}'`
	mkdir $dir 
	cp -r redis-6.2.6/bin/ $dir
	#修改端口号
	sed -i "s/port 6379/port $(($4+$i-1))/g" $dir/redis.conf
	sed -i "s/logfile \"\"/logfile \"$dir/redis.log\"/g" $dir/redis.conf 
	host+="127.0.0.1:$(($4+$i-1)) "
	#启动单个redis节点实例
 	$dir/redis-server $dir/redis.conf
done	
#部署集群
./redis-cli --cluster create $host --cluster-replicas 1 -a $6 

#删除下载的redis
cd ~/
rm -rf redis-6.2.6
rm -rf redis-6.2.6.tar.gz

将以上代码保存为 redis-cluster-install.sh文件并执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值