redis5.0以上基于密码认证的集群cluster方式

 更新时间:2023年11月04日 09:59:18   作者:葒脃坧頭  
这篇文章主要介绍了redis5.0以上基于密码认证的集群cluster方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

本篇基于redis密码认证的集群cluster搭建。

以三主三从进行测试,redis选用5.0以上的版本。

1、环境描述

服务器:centos7.9
redis:5.0.3
服务端口:6379,6378,6377,6376,6375,6374

2、下载安装包

wget http://download.redis.io/releases/redis-5.0.3.tar.gz

3、安装redis

yum install gcc -y
tar xvf redis-5.0.3.tar.gz
cd redis-5.0.3
make && make install

4、修改配置文件

拷贝6份同样的配置文件
mv redis.conf redis6379.conf
echo 'redis6378.conf redis6377.conf redis6376.conf redis6375.conf redis6374.conf' | xargs -n 1 cp redis6379.conf

redis6379.conf修改:

69 #bind 127.0.0.1                       #注释掉此行
88 protected-mode no                     #关闭保护模式
136 daemonize yes                        #后台启动
158 pidfile /var/run/redis_6379.pid      #启动进程文件
171 logfile "6379.log"                   #方便查看日志
253 dbfilename dump6379.rdb              #数据文件
507 requirepass foobared                 #密码认证
293 masterauth foobared                  #主从切换时需要认证的主库密码
以下是集群配置:
699 appendonly yes                       #开启AOF模式
838 cluster-enabled yes                  #开启 Redis Cluster
846 cluster-config-file nodes-6379.conf  #集群配置文件,每个容器配置改唯一就行
852 cluster-node-timeout 5000            #集群中的节点能够失联的最大时间,超过这个时间,该节点就会被认为故障

redis6378.conf修改:

69 #bind 127.0.0.1                       #注释掉此行
88 protected-mode no                     #关闭保护模式
136 daemonize yes                        #后台启动
158 pidfile /var/run/redis_6378.pid      #启动进程文件
171 logfile "6378.log"                   #方便查看日志
253 dbfilename dump6378.rdb              #数据文件
507 requirepass foobared                 #密码认证
293 masterauth foobared                  #主从切换时需要认证的主库密码
以下是集群配置:
699 appendonly yes                       #开启AOF模式
838 cluster-enabled yes                  #开启 Redis Cluster
846 cluster-config-file nodes-6378.conf  #集群配置文件,每个容器配置改唯一就行
852 cluster-node-timeout 5000            #集群中的节点能够失联的最大时间,超过这个时间,该节点就会被认为故障

redis6377.conf修改:

69 #bind 127.0.0.1                       #注释掉此行
88 protected-mode no                     #关闭保护模式
136 daemonize yes                        #后台启动
158 pidfile /var/run/redis_6377.pid      #启动进程文件
171 logfile "6377.log"                   #方便查看日志
253 dbfilename dump6377.rdb              #数据文件
507 requirepass foobared                 #密码认证
293 masterauth foobared                  #主从切换时需要认证的主库密码
以下是集群配置:
699 appendonly yes                       #开启AOF模式
838 cluster-enabled yes                  #开启 Redis Cluster
846 cluster-config-file nodes-6377.conf  #集群配置文件,每个容器配置改唯一就行
852 cluster-node-timeout 5000            #集群中的节点能够失联的最大时间,超过这个时间,该节点就会被认为故障

redis6376.conf修改:

69 #bind 127.0.0.1                       #注释掉此行
88 protected-mode no                     #关闭保护模式
136 daemonize yes                        #后台启动
158 pidfile /var/run/redis_6376.pid      #启动进程文件
171 logfile "6376.log"                   #方便查看日志
253 dbfilename dump6376.rdb              #数据文件
507 requirepass foobared                 #密码认证
293 masterauth foobared                  #主从切换时需要认证的主库密码
以下是集群配置:
699 appendonly yes                       #开启AOF模式
838 cluster-enabled yes                  #开启 Redis Cluster
846 cluster-config-file nodes-6376.conf  #集群配置文件,每个容器配置改唯一就行
852 cluster-node-timeout 5000            #集群中的节点能够失联的最大时间,超过这个时间,该节点就会被认为故障

redis6375.conf修改:

69 #bind 127.0.0.1                       #注释掉此行
88 protected-mode no                     #关闭保护模式
136 daemonize yes                        #后台启动
158 pidfile /var/run/redis_6375.pid      #启动进程文件
171 logfile "6375.log"                   #方便查看日志
253 dbfilename dump6375.rdb              #数据文件
507 requirepass foobared                 #密码认证
293 masterauth foobared                  #主从切换时需要认证的主库密码
以下是集群配置:
699 appendonly yes                       #开启AOF模式
838 cluster-enabled yes                  #开启 Redis Cluster
846 cluster-config-file nodes-6375.conf  #集群配置文件,每个容器配置改唯一就行
852 cluster-node-timeout 5000            #集群中的节点能够失联的最大时间,超过这个时间,该节点就会被认为故障

redis6374.conf修改:

69 #bind 127.0.0.1                       #注释掉此行
88 protected-mode no                     #关闭保护模式
136 daemonize yes                        #后台启动
158 pidfile /var/run/redis_6374.pid      #启动进程文件
171 logfile "6374.log"                   #方便查看日志
253 dbfilename dump6374.rdb              #数据文件
507 requirepass foobared                 #密码认证
293 masterauth foobared                  #主从切换时需要认证的主库密码
以下是集群配置:
699 appendonly yes                       #开启AOF模式
838 cluster-enabled yes                  #开启 Redis Cluster
846 cluster-config-file nodes-6374.conf  #集群配置文件,每个容器配置改唯一就行
852 cluster-node-timeout 5000            #集群中的节点能够失联的最大时间,超过这个时间,该节点就会被认为故障

说明:每个配置文件pidfile,logfile,dbfilename,cluster-config-file不同,其余配置均相同。

5、启动服务

在redis解压目录下依次启动
redis-server redis6379.conf
redis-server redis6378.conf
redis-server redis6377.conf
redis-server redis6376.conf
redis-server redis6375.conf
redis-server redis6374.conf
[root@iZuf612i9bshiuw3zzlfe9Z redis-5.0.3]# ps -aux |grep redis
root     16956  0.0  0.1 153980  2840 ?        Ssl  09:36   0:00 redis-server *:6379 [cluster]
root     16965  0.0  0.1 153980  2844 ?        Ssl  09:36   0:00 redis-server *:6378 [cluster]
root     16972  0.0  0.1 153980  2848 ?        Ssl  09:36   0:00 redis-server *:6377 [cluster]
root     16980  0.0  0.1 153980  2848 ?        Ssl  09:36   0:00 redis-server *:6376 [cluster]
root     16994  0.0  0.1 153980  2848 ?        Ssl  09:36   0:00 redis-server *:6375 [cluster]
root     17003  0.0  0.1 153980  2852 ?        Ssl  09:36   0:00 redis-server *:6374 [cluster]
root     17015  0.0  0.0 112808   964 pts/0    S+   09:36   0:00 grep --color=auto redis

6、创建集群

redis-cli --cluster create  127.0.0.1:6379 127.0.0.1:6378 127.0.0.1:6377 127.0.0.1:6376 127.0.0.1:6375 127.0.0.1:6374 --cluster-replicas 1 -a foobared

集群创建

集群创建

7、数据验证

#登录
redis-cli -p 端口-a foobared -c

说明:-c的目的是为解决“(error) MOVED 5798”报错 

[root@iZuf612i9bshiuw3zzlfe9Z redis-5.0.3]# redis-cli -p 6379 -a foobared
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set name mike
(error) MOVED 5798 127.0.0.1:6378
127.0.0.1:6379> exit
[root@iZuf612i9bshiuw3zzlfe9Z redis-5.0.3]# redis-cli -p 6379 -a foobared -c
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set name mike
-> Redirected to slot [5798] located at 127.0.0.1:6378

OK

《数据验证》验证如下:

集群数据验证

《主从切换验证》验证如下:

6374为6378的从,现在停掉6378进行测试 

切换之前:

切换之后:

集群主从切换

到此,redis集群基于5.0以上版本密码认证搭建。基于docker的redis集群的搭建可参考:基于docker的redis集群搭建

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python中使用redis用法详解

    python中使用redis用法详解

    Redis拥有丰富的数据结构,拥有事务功能,保证命令的原子性。由于是内存数据库,读写非常高速,可达10w/s的评率,所以一般应用于数据变化快、实时通讯、缓存等。这篇文章给大家讲解一下Python如何使用Redis,并进行相关的实战操作。
    2022-12-12
  • Win10配置redis服务实现过程详解

    Win10配置redis服务实现过程详解

    这篇文章主要介绍了Win10配置redis服务实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Redis慢查询的具体使用

    Redis慢查询的具体使用

    慢查询顾名思义就是比较慢的查询,但是究竟是哪里慢呢?本文详细的介绍了Redis慢查询的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-06-06
  • Redis migrate数据迁移工具的使用教程

    Redis migrate数据迁移工具的使用教程

    这篇文章主要给大家介绍了关于Redis migrate数据迁移工具的使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者使用Redis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • Redis RDB与AOF持久化方式详细讲解

    Redis RDB与AOF持久化方式详细讲解

    Redis是基于内存的数据结构服务器,保存了大量的键值对数据,所以持久化到磁盘是非常必要的,Redis提供了两种持久化的方式,分别是RDB和AOF。下面我们看下这两种持久化方式的具体实现原理
    2022-11-11
  • 一文带你了解Redis怎么启动以及使用

    一文带你了解Redis怎么启动以及使用

    对于Redis我们一般会使用到三种启动方式:直接启动、指定配置文件启动、开机自启动,下面这篇文章主要给大家介绍了关于Redis怎么启动以及使用的相关资料,需要的朋友可以参考下
    2023-04-04
  • 关于Redis最常见的十道面试题总结大全

    关于Redis最常见的十道面试题总结大全

    Redis作为一个高性能的内存数据存储系统,具有快速读写、持久性、数据结构多样性等特点,广泛应用于各种应用场景,这篇文章主要给大家介绍了关于Redis最常见的十道面试题总结的相关资料,需要的朋友可以参考下
    2024-07-07
  • Redis的KEYS 命令千万不能乱用

    Redis的KEYS 命令千万不能乱用

    这篇文章主要介绍了Redis的KEYS 命令千万不能乱用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • redis中5种数据基础查询命令

    redis中5种数据基础查询命令

    本文主要介绍了redis中5种数据基础查询命令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Redis安装教程图解

    Redis安装教程图解

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。本文就教大家如何安装Redis,需要的朋友可以参考下
    2015-10-10

最新评论