Redis集群搭建linux

一、什么是Redis集群

        Redis集群是为了能够解决一台主服务器容量不足或者是出现高并发写操作时性能不足的问题,Redis集群就是将多台主服务器进行连接以实现多台主服务器数据同步和共享。

       每个Redis集群一共有16384个插槽,这16384个插槽将会被平均分配给群里的主服务器中,当key被存储时,Redis会将key通过CRC16算法计算出相对应的插槽并写入对应的主服务器中,因此每台主服务器只保存一部分数据。这也时Redis集群首先分布式存储的原理,通过分布式存储数据进行扩容。

二、Redis集群的特点

  1. 无中心化,可以是多主多从每个节点都彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
  2. 客户端直接与Redis节点进行连接无需中间代理。客户端连接集群中任何一个可用节点即可获取操作。
  3. 每台主服务器负责维护一部分数据,同时集群中每个节点都有全量的槽信息,通过槽信息即可获得每条数据的存储节点。

三、Redis集群的搭建

        Redis集群中至少需要三台主机,为了实现主机的容灾处理需要为每台主机至少添加一台从机因此至少都是3主3从的服务器架构,每台服务器都是独立的实体服务器。

        这里我们依然还是在一台服务器上通过不同的端口来模拟不同服务器的模式。我们选用6379=>6389,6380=>6390,6381=>6391,其中6379、6380、6381为主服务器,6389、6390、6391为对应的从服务器。

1. 配置文件配置

我的Redis配置路径在/usr/local/redis,大家需要改成自己的路径

include /usr/local/redis/redis.conf
pidfile "/var/run/redis6379.pid"
port 6379

daemonize yes
appendonly no
dbfilename "dump6379.rdb"
dir "/usr/local/redis/"
logfile "/usr/local/redis/log/rediserr6379.log"
cluster-enabled yes
cluster-config-file nodes6379.conf
cluster-node-timeout 15000

同样的其他几个端口号的配置文件也一样,只需要把端口号对应的改一下。如果之前有使用到rdb持久化的话需要先把dump.rdb文件先删除。

2. 启动Redis服务

将6个redis服务启动,查看是否正常生成nodesXXX.conf文件,如果有则正常。

3. 开启集群

        首先先进入到Redis原始安装路径下,我的安装路径为/usr/local/redis-6.2.7/,进入到src目录下。

 cd usr/local/redis-6.2.7/src

         组合集群模式

redis-cli --cluster create --cluster-replicas 1 ip地址:6379 ip地址:6380 ip地址:6381 ip地址:6389 ip地址:6390 ip地址:6391

4. 集群登录

        进入任何一个主服务器中都可以进入集群。

   redis-cli -c -p 6379

        到此Redis的集群部署就完成了

5. Redis集群服务器之间的关系

  • 任何服务器都函数整个集群的节点信息
  • 当主服务器宕机后从服务器会直接接管主服务器,原主服务器再次启动后会作为从服务器挂载在新服务器中

猜你喜欢

转载自blog.csdn.net/weixin_64940494/article/details/126380530