Redis安全认证集群环境快速搭建记录

一、环境需要

1、Centos7.5以上环境,关闭防火墙和SELinux,配置本地YUM源环境,服务器安装gcc,服务器之间时间保持一致。

列出测试环境服务器:

10.1.5.246    master1
10.1.5.245    node1
10.1.5.244    node2

2、源码软件包

redis-5.0.9.tar.gz

二、Redis集群安装

1、redis软件包,解压缩

tar -xvf redis-5.0.9.tar.gz
mv redis-5.0.9 redis

2、redis环境编译

cd redis
make

3、创建集群配置目录,端口7000-7005,每个节点2个实例目录,例如

mkdir -p  cluster/{7000,7001,7002,7003,7004,7005}

4、配置redis集群,配置如下信息

把配置文件写入到集群配置目录,端口设置根据不同目录配置不同端口和根据实例IP进行配置,

cluster/7000/redis.conf,其它节点请配置对应的IP和端口,如下是根据官网做了最小化配置

bind 10.1.5.244
port 7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
appendonly yes

requirepass password
masterauth password
daemonize yes
pidfile /var/run/redis_7000.pid
dir /root/redis/data/

 4、传输所有文件到其它节点

scp -r redis node1:/root
scp -r redis node2:/root

5、redis集群做为3主3从的模式启动,每个节点启动2个实例,每个实例对应一个端口,如下为master1节点

cd /root/redis/
./src/redis-server cluster/7000/redis.conf
./src/redis-server cluster/7001/redis.conf

6、创建集群并初始化

./src/redis-cli --cluster create 10.1.5.244:7000 10.1.5.244:7001 10.1.5.245:7002 10.1.5.245:7003 10.1.5.246:7004 10.1.5.246:7005 --cluster-replicas 1 -a "password"

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 10.1.5.245:7003 to 10.1.5.244:7000
Adding replica 10.1.5.246:7005 to 10.1.5.245:7002
Adding replica 10.1.5.244:7001 to 10.1.5.246:7004
M: 6c73973f5cc044695519bd554060ba64ba6d7839 10.1.5.244:7000
   slots:[0-5460] (5461 slots) master
S: cde810608f3e03394dd555d14be1f9f82cc333be 10.1.5.244:7001
   replicates 0c54068e698e8181933969bc41e5bea0b9a0ecb3
M: b09336e44261a0c6718d1fe36c7f695fbca230e8 10.1.5.245:7002
   slots:[5461-10922] (5462 slots) master
S: 325b4ae0b481b559d4200931e5701a11ed95b313 10.1.5.245:7003
   replicates 6c73973f5cc044695519bd554060ba64ba6d7839
M: 0c54068e698e8181933969bc41e5bea0b9a0ecb3 10.1.5.246:7004
   slots:[10923-16383] (5461 slots) master
S: 2c3e5e7f0a8a8daf604f375f8355324fab6c043a 10.1.5.246:7005
   replicates b09336e44261a0c6718d1fe36c7f695fbca230e8
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
.....
>>> Performing Cluster Check (using node 10.1.5.244:7000)
M: 6c73973f5cc044695519bd554060ba64ba6d7839 10.1.5.244:7000
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: 2c3e5e7f0a8a8daf604f375f8355324fab6c043a 10.1.5.246:7005
   slots: (0 slots) slave
   replicates b09336e44261a0c6718d1fe36c7f695fbca230e8
S: 325b4ae0b481b559d4200931e5701a11ed95b313 10.1.5.245:7003
   slots: (0 slots) slave
   replicates 6c73973f5cc044695519bd554060ba64ba6d7839
M: 0c54068e698e8181933969bc41e5bea0b9a0ecb3 10.1.5.246:7004
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: b09336e44261a0c6718d1fe36c7f695fbca230e8 10.1.5.245:7002
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: cde810608f3e03394dd555d14be1f9f82cc333be 10.1.5.244:7001
   slots: (0 slots) slave
   replicates 0c54068e698e8181933969bc41e5bea0b9a0ecb3
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

7、好了集群已经搭建完毕,可以通过命令行或者其它工具进行验证。

注:平时我们会遇到清理数据库信息的情况,由于redis的机制,无法一次性删除所有节点的数据,需要每个实例连接执行flushall操作清理所有实例的数据。

8、登录查看cluster nodes

./src/redis-cli -c -h 10.1.5.244 -p 7000 -a password

cluster nodes

set a 'a'

get a

9、关闭redis节点,查看数据是否可以获取

ps -ef|grep redis
[root@node2 ~]# ps -ef|grep redis
root      6386     1  0 11:29 ?        00:01:10 ./src/redis-server 10.1.5.244:7000 [cluster]
root      6487     1  0 13:31 ?        00:00:21 ./src/redis-server 10.1.5.244:7001 [cluster]
root      6555  6058  0 14:35 pts/0    00:00:00 grep --color=auto redis

kill -9 6386

10、redis客户端连接,查看是否能继续获取a值

./src/redis-cli -c -h 10.1.5.245 -p 7002 -a password

cluster nodes


get a

注:以上如果获取到a值,那么集群ha搭建成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值