redis伪集群一键部署脚本---亲测可用

系统版本:CentOS Linux release 7.9.2009 

 

网络:外网通

直接运行如下脚本即可:

#!/bin/bash
#function redis伪集群部署
#author tommypeng  20220718(感谢王文祥同学)
##########################################
 if
  [  "$USER"  != "root"   ]
then
   echo "错误:非root用户,权限不足!"
  exit  0
fi
###############防火墙及SElinux############
systemctl stop firewalld && systemctl disable firewalld  && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g'  /etc/selinux/config  && echo "关闭selinux"
###############网络############
ping -c 3   www.baidu.com
if
   [ $? -eq 0 ]
   then
   echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m网络畅通,即将安装依赖包\033[0m"
   else 
     echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m即将退出,请检查外网通讯 !\033[0m"
        exit  0
fi
############安装包下载#############
wget http://download.redis.io/releases/redis-5.0.8.tar.gz  
if
   [ $? -eq 0 ]
   then
   echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m安装包下载成功\033[0m"
   else 
     echo -e "\n\033[32m-----------------------------------------------\033[0m"
                	echo -e "\033[32m下载失败,即将退出 !\033[0m"
        exit  0
fi
##############解压及依赖包安装##############
tar -zxvf redis-5.0.8.tar.gz 
yum install gcc-c++        
cd  redis-5.0.8
mkdir /usr/local/redis/
make install PREFIX=/usr/local/redis 
################伪集群配置################   
cp redis.conf /usr/local/redis/bin/   
cd /usr/local/redis/bin
sed -i '136s/daemonize no/daemonize yes/' redis.conf
./redis-server redis.conf 
cd /usr/local
mkdir redis-cluster         
cd redis-cluster/
mkdir 6661 6662 6663 6664 6665 6666
cp -r /usr/local/redis/bin/* /usr/local/redis-cluster/6661/
cp -r /usr/local/redis/bin/* /usr/local/redis-cluster/6662/
cp -r /usr/local/redis/bin/* /usr/local/redis-cluster/6663/
cp -r /usr/local/redis/bin/* /usr/local/redis-cluster/6664/
cp -r /usr/local/redis/bin/* /usr/local/redis-cluster/6665/
cp -r /usr/local/redis/bin/* /usr/local/redis-cluster/6666/
c=$(ifconfig | grep -A1 "ens33" | grep 'inet' |awk -F ' ' '{print $2}'|awk '{print $1}')
sed -i "69s/127.0.0.1/'0.0.0.0'/" /usr/local/redis-cluster/6661/redis.conf
sed -i "69s/127.0.0.1/'0.0.0.0'/" /usr/local/redis-cluster/6662/redis.conf
sed -i "69s/127.0.0.1/'0.0.0.0'/" /usr/local/redis-cluster/6663/redis.conf
sed -i "69s/127.0.0.1/'0.0.0.0'/" /usr/local/redis-cluster/6664/redis.conf
sed -i "69s/127.0.0.1/'0.0.0.0'/" /usr/local/redis-cluster/6665/redis.conf
sed -i "69s/127.0.0.1/'0.0.0.0'/" /usr/local/redis-cluster/6666/redis.conf
sed -i "88s/yes/no/" /usr/local/redis-cluster/6661/redis.conf
sed -i "88s/yes/no/" /usr/local/redis-cluster/6662/redis.conf
sed -i "88s/yes/no/" /usr/local/redis-cluster/6663/redis.conf
sed -i "88s/yes/no/" /usr/local/redis-cluster/6664/redis.conf
sed -i "88s/yes/no/" /usr/local/redis-cluster/6665/redis.conf
sed -i "88s/yes/no/" /usr/local/redis-cluster/6666/redis.conf

sed -i '158s/redis_6379.pid/redis_6661.pid/' /usr/local/redis-cluster/6661/redis.conf
sed -i '158s/redis_6379.pid/redis_6662.pid/' /usr/local/redis-cluster/6662/redis.conf
sed -i '158s/redis_6379.pid/redis_6663.pid/' /usr/local/redis-cluster/6663/redis.conf
sed -i '158s/redis_6379.pid/redis_6664.pid/' /usr/local/redis-cluster/6664/redis.conf
sed -i '158s/redis_6379.pid/redis_6665.pid/' /usr/local/redis-cluster/6665/redis.conf
sed -i '158s/redis_6379.pid/redis_6666.pid/' /usr/local/redis-cluster/6666/redis.conf


sed -i '92s/port 6379/port 6661/' /usr/local/redis-cluster/6661/redis.conf
sed -i '92s/port 6379/port 6662/' /usr/local/redis-cluster/6662/redis.conf
sed -i '92s/port 6379/port 6663/' /usr/local/redis-cluster/6663/redis.conf
sed -i '92s/port 6379/port 6664/' /usr/local/redis-cluster/6664/redis.conf
sed -i '92s/port 6379/port 6665/' /usr/local/redis-cluster/6665/redis.conf
sed -i '92s/port 6379/port 6666/' /usr/local/redis-cluster/6666/redis.conf

sed -i "253s/dump.rdb/dump6661.rdb/" /usr/local/redis-cluster/6661/redis.conf
sed -i "253s/dump.rdb/dump6662.rdb/" /usr/local/redis-cluster/6662/redis.conf
sed -i "253s/dump.rdb/dump6663.rdb/" /usr/local/redis-cluster/6663/redis.conf
sed -i "253s/dump.rdb/dump6664.rdb/" /usr/local/redis-cluster/6664/redis.conf
sed -i "253s/dump.rdb/dump6665.rdb/" /usr/local/redis-cluster/6665/redis.conf
sed -i "253s/dump.rdb/dump6666.rdb/" /usr/local/redis-cluster/6666/redis.conf

sed -i "703s/appendonly.aof/appendonly6661.aof/" /usr/local/redis-cluster/6661/redis.conf
sed -i "703s/appendonly.aof/appendonly6662.aof/" /usr/local/redis-cluster/6662/redis.conf
sed -i "703s/appendonly.aof/appendonly6663.aof/" /usr/local/redis-cluster/6663/redis.conf
sed -i "703s/appendonly.aof/appendonly6664.aof/" /usr/local/redis-cluster/6664/redis.conf
sed -i "703s/appendonly.aof/appendonly6665.aof/" /usr/local/redis-cluster/6665/redis.conf
sed -i "703s/appendonly.aof/appendonly6666.aof/" /usr/local/redis-cluster/6666/redis.conf

sed -i '832s/#/ /' /usr/local/redis-cluster/6661/redis.conf
sed -i '832s/#/ /' /usr/local/redis-cluster/6662/redis.conf
sed -i '832s/#/ /' /usr/local/redis-cluster/6663/redis.conf
sed -i '832s/#/ /' /usr/local/redis-cluster/6664/redis.conf
sed -i '832s/#/ /' /usr/local/redis-cluster/6665/redis.conf
sed -i '832s/#/ /' /usr/local/redis-cluster/6666/redis.conf

sed -i '840s/# cluster-config-file nodes-6379.conf/cluster-config-file nodes-6661.conf/' /usr/local/redis-cluster/6661/redis.conf
sed -i '840s/# cluster-config-file nodes-6379.conf/cluster-config-file nodes-6662.conf/' /usr/local/redis-cluster/6662/redis.conf
sed -i '840s/# cluster-config-file nodes-6379.conf/cluster-config-file nodes-6663.conf/' /usr/local/redis-cluster/6663/redis.conf
sed -i '840s/# cluster-config-file nodes-6379.conf/cluster-config-file nodes-6664.conf/' /usr/local/redis-cluster/6664/redis.conf
sed -i '840s/# cluster-config-file nodes-6379.conf/cluster-config-file nodes-6665.conf/' /usr/local/redis-cluster/6665/redis.conf
sed -i '840s/# cluster-config-file nodes-6379.conf/cluster-config-file nodes-6666.conf/' /usr/local/redis-cluster/6666/redis.conf

sed -i '846s/#/ /' /usr/local/redis-cluster/6661/redis.conf
sed -i '846s/#/ /' /usr/local/redis-cluster/6662/redis.conf
sed -i '846s/#/ /' /usr/local/redis-cluster/6663/redis.conf
sed -i '846s/#/ /' /usr/local/redis-cluster/6664/redis.conf
sed -i '846s/#/ /' /usr/local/redis-cluster/6665/redis.conf
sed -i '846s/#/ /' /usr/local/redis-cluster/6666/redis.conf
################启动####################
cd /usr/local/redis-cluster/6661
./redis-server ./redis.conf 
cd ..
cd 6662
./redis-server ./redis.conf 
cd ..
cd 6663
./redis-server ./redis.conf
cd ..
cd 6664/
./redis-server ./redis.conf
cd ..
cd 6665
./redis-server ./redis.conf
cd ..
cd 6666/
./redis-server ./redis.conf
############启动集群#############
cd /usr/local/redis-cluster/6661/
echo  yes |./redis-cli --cluster create $c:6661 $c:6662 $c:6663 $c:6664 $c:6665 $c:6666 --cluster-replicas 1
ln -s /usr/local/redis-cluster/6661/redis-*  /usr/bin
ps aux|grep redis

成功后可以看到集群信息:

 使用如下命令连接任一节点即可:

redis-cli -p 6661 -c

[root@localhost 6661]# redis-cli -p 6661 -c
127.0.0.1:6661> quit
[root@localhost 6661]# cd ~
[root@localhost ~]# redis-cli -p 6661 -c
127.0.0.1:6661> set k3  v3
OK
127.0.0.1:6661> quit
[root@localhost ~]# redis-cli -p 6661 -c
127.0.0.1:6661> ping
PONG

ping测试及创建键值对成功!!!

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT大白鼠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值