美文网首页
01.搭建redis集群

01.搭建redis集群

作者: 鸡蛋挂面 | 来源:发表于2021-03-17 18:59 被阅读0次

一、主机规划

单主机多实例
主机IP地址:192.168.66.100、192.168.66.101、192.168.66.102
Linux版本:CentOS 7
redis版本:redis-5.0.7
安装方式:二进制安装
集群架构方式:三主三从

    master1:
        IP地址192.168.66.100  端口:6379
    master2:
        IP地址192.168.66.101  端口:6379
    master3:
        IP地址192.168.66.102  端口:6379

    node1:
        IP地址192.168.66.100  端口:6380
    node2:
        IP地址192.168.66.101  端口:6380
    node3:
        IP地址192.168.66.102  端口:6380

二、目录规划

redis源码包目录:

mkdir -p /opt/redis_cluster/src

redis安装目录:

mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}

redis数据目录:

mkdir -p /data/redis_cluster/redis_6379

三、安装部署

01.下载源码包

cd /opt/redis_cluster/src
wget http://download.redis.io/releases/redis-5.0.7.tar.gz   

02.解压编译安装

tar xf  redis-5.0.7.tar.gz -C /opt/redis_cluster/
ln -s /opt/redis_cluster/redis-5.0.7/ /opt/redis_cluster/redis
cd /opt/redis_cluster/redis
make && make install

03.编写主配置文件

vim /opt/redis_cluster/redis_6379/conf/redis_6379.conf
bind 192.168.66.100
port 6379
daemonize yes
pidfile "/opt/redis_cluster/redis_6379/pid/redis_6379.pid"
logfile "/opt/redis_cluster/redis_6379/logs/redis_6379.log"
dbfilename "redis_6379.rdb"
dir "/data/redis_cluster/redis_6379/"
save 900 1
save 300 10
save 60 10000
cluster-enabled yes
cluster-config-file nodes_6379.conf
cluster-node-timeout 15000

其他五个节点可以复制主配置文件,修改IP地址、端口号和数据目录即可

04.启动服务

redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf

05.查看节点信息

redis-cli  -c -h  192.168.66.100 -p 6379 cluster nodes
redis-cli --cluster info 192.168.66.100 6379
redis-cli --cluster check 192.168.66.100 6379

06.集群初始化

redis-cli -h master1 -p 6379 FLUSHALL
redis-cli -h master2 -p 6379 FLUSHALL
redis-cli -h master3 -p 6379 FLUSHALL
redis-cli -h node1 -p 6380 FLUSHALL
redis-cli -h node2 -p 6380 FLUSHALL
redis-cli -h node3 -p 6380 FLUSHALL
redis-cli -h master1 -p 6379 CLUSTER RESET
redis-cli -h master1 -p 6379 CLUSTER RESET
redis-cli -h master1 -p 6379 CLUSTER RESET
redis-cli -h node1 -p 6380 CLUSTER RESET
redis-cli -h node2 -p 6380 CLUSTER RESET
redis-cli -h node3 -p 6380 CLUSTER RESET

07.创建集群

redis-cli --cluster create 192.168.66.200:6379 192.168.66.201:6379 192.168.66.202:6379 192.168.66.200:6380 192.168.66.201:6380 192.168.66.202:6380 --cluster-replicas 1

集群关系拓扑图


image.png

08.写入数据测试

vim for.sh
for i in {1..10000}
  do
    redis-cli  -c -h  192.168.66.100 -p 6379 set k_${i} v_${i}
    sleep 1
  done
    bash for.sh

五、模拟故障转移

image.png

01.模拟数据写入

编写脚本

vim redis_write.sh
#!/bin/bash
for i in {1..10000}
  do
    redis-cli  -c -h  192.168.66.100 -p 6379 set k_${i} v_${i}
    sleep 1
  done

bash for.sh

02.模拟读取数据

vim redis_read.sh
#!/bin/bash
for i in {1..10000}
  do
    redis-cli  -c -h  192.168.66.200 -p 6379 get k_${i}
    sleep 1
  done

03.模拟故障转移

先执行写入脚本,等待10秒再执行读取脚本。
在数据能正常读写之后,先停掉其中的一个主节点,发现依然能够正常读取数据
接着再次停掉另一个主节点,数据也能正常读写

实验现象说明:在搭建了redis的分布式集群之后,如果其中的一台服务器(节点)发生了故障,架构会自动进行故障转移,不影响数据的读写

相关文章

网友评论

      本文标题:01.搭建redis集群

      本文链接:https://www.haomeiwen.com/subject/odmscltx.html