redis-cluster 集群部署(脚本方法)

一 、redis 集群初始化

        Redis Cluster是Redis官方推出的分布式解决方案,用于解决单机Redis在大规模数据存储和高并发访问场景下的性能瓶颈问题。Redis Cluster将数据分片存储在多个节点上,实现了数据的分布式存储和负载均衡。同时,Redis Cluster还具备自动故障转移和节点扩容缩容的能力,提高了系统的可用性和可伸缩性。

        Redis Cluster采用了一种基于哈希槽的分片策略,将数据分为16384个哈希槽,并将这些哈希槽分配到不同的节点上。每个节点负责管理一部分哈希槽,对于一个键值对,根据其哈希值确定所属的哈希槽,然后将该键值对存储在负责该哈希槽的节点上。客户端通过与集群中的任意一个节点通信,该节点会根据键值对的哈希值将请求转发到对应的节点上。

        Redis Cluster还具备自动故障转移的能力。当一个节点宕机时,集群会自动将该节点上的哈希槽迁移到其他正常节点上,确保数据的可用性。同时,Redis Cluster还支持节点的动态扩容和缩容。当需要增加节点时,只需将新节点加入集群,并将一部分哈希槽迁移到新节点上;当需要缩减节点时,只需将部分哈希槽迁移到其他节点上,并将目标节点从集群中移除。

1.环境准备

三台 centos7 :
redis1                 192.168.188.145                              

redis2                 192.168.188.146

redis3                 192.168.188.157

2.编写脚本 redis_cluster.sh 

vim /opt/redis_cluster.sh 

#!/usr/bin/bash

# redis 集群环境初始化,单点多实例部署,没有把握不要修改以下默认配置

# redis 实例个数
instance=2
# redis 服务安装路径 /usr/local/redis
instance_path=/opt/module
# redis 集群节点配置安装路径
cluster_path=${instance_path}redis-Cluster/
# redis 版本
redis_level=redis-5.0.10


ping -w1 -c1 www.baidu.com &>/dev/null
if [ $? -ne 0 ];then
	echo "网络错误,请检查网络"
	exit 1
fi

yum repolist &>/dev/null
if [ $? -ne 0 ];then
	echo "yum错误,请检查"
	exit 2
fi
yum install -y gcc make \
&& wget http://download.redis.io/releases/${redis_level}.tar.gz \
&& mkdir -p $instance_path \
&& tar xzf ${redis_level}.tar.gz -C $instance_path \
&& cd ${instance_path}${redis_level}/ && make \
&& make PREFIX=${instance_path}${redis_level}  install

cat >/etc/profile.d/redis.sh <<EOF
export  REDIS_HOME=${instance_path}${redis_level}
export  PATH=\$REDIS_HOME/bin:\$PATH
EOF
source /etc/profile.d/redis.sh
for i in `seq 1 $instance`
do
mkdir -p /opt/module/redis-Cluster/700${i}
cat >/opt/module/redis-Cluster/700${i}/redis.conf<<EOF
port 700${i}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
protected-mode no
appendonly yes
daemonize yes
bind 0.0.0.0
pidfile  ${cluster_path}700${i}/redis_700${i}.pid
dir  ${cluster_path}700${i}/
EOF
${instance_path}${redis_level}/bin/redis-server ${cluster_path}700${i}/redis.conf
done

chmod a+x /opt/redis_cluster.sh
/opt/redis_cluster.sh

3.创建集群 

redis-cli --cluster create 192.168.188.145:7001 192.168.188.145:7002 192.168.188.146:7001 192.168.188.146:7002 192.168.188.157:7001 192.168.188.157:7002 --cluster-replicas 1


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值