redis主从、哨兵、集群环境搭建

8 篇文章 0 订阅
4 篇文章 0 订阅

redis主从复制模式配置

系统环境:Ubuntu
节点个数:3个,一主两从
机器有限,用端口来区分各个节点模拟多台服务器

  • 创建节点并启动
    1、首先可以先从redis自带的redis.conf文件拷贝过来,我将三个节点的配置文件都放在/usr/local/redis/conf/ms中;
    2、对这些配置文件进行简单的设置(三个端口分别为:6380、6381、6382)
    3、启动节点
    通过终端启动:./bin/redis-server ./conf/ms/redis6380.conf
    ps:这里有个小坑,之前为了方便下载了redis-server的命令,导致下载的命令与配置文件命令版本不匹配,导致启动不成功…https://blog.csdn.net/u014374031/article/details/54587091

配置文件简单模板:

#redis6380.conf配置
include /usr/local/redis/conf/redis.conf
pidfile /var/run/redis_6380.pid
port 6380
dbfilename dump6380.rdb
  • 建立各个节点之间的关系
    1、查看节点的主从关系:info replication
    2、建立关系,在要作为从节点的命令行输入:slaveof localhost 6380
#为建立关系
role:master
connected_slaves:0
master_replid:0079f518a38bda147f9519eafc5772c235df51f9
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
# 从节点信息
role:slave
master_host:localhost
master_port:6380
master_link_status:up
master_last_io_seconds_ago:8
master_sync_in_progress:0
slave_repl_offset:112
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:968d69cc857fad34a46af0fb9938d44b14aff92f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:112
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:57
repl_backlog_histlen:56
# 主节点信息
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6381,state=online,offset=294,lag=1
slave1:ip=127.0.0.1,port=6382,state=online,offset=294,lag=1
master_replid:968d69cc857fad34a46af0fb9938d44b14aff92f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:294
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:294

redis配置哨兵

将从节点转化为主节点命令:slaveof no one

1、设置哨兵配置文件(sentinel.conf),放在/usr/local/redis
2、运行该配置文件:./bin/redis-sentinel sentinel.conf
3、配置优先级越小越优先,0为没有机会上位:slave-priority 100
ps:replic-priority替换了slave-priority

#sentinel.conf
#监控节点的ip port 
#1代表决策数量
sentinel monitor mymaster 127.0.0.1 6380 1

Redis配置集群

节点个数:三主三从
先创建一个放置配置文件的文件夹:usr/local/redis/conf/cluster
环境需要:ruby、redis.gem
https://blog.csdn.net/henryhu712/article/details/89224467
在Ubuntu安装高版本gem

  • 建立配置文件进行配置
include /usr/local/redis/conf/redis.conf
pidfile "/var/run/redis_6380.pid"
port 6380
dbfilename "dump6380.rdb"
cluster-enable yes
cluster-config-file nodes-6380.conf
cluster-node-timeout 15000
  • 启动所有节点(cluster)
/bin/redis-server conf/cluster/redis6381.conf

进程状态

root@fangxiong-virtual-machine:/usr/local/redis# ps -ef|grep redis
root      45850      1  0 13:53 ?        00:00:27 ./bin/redis-sentinel *:26379 [sentinel]
root      50665      1  0 16:20 ?        00:00:00 ./bin/redis-server 127.0.0.1:6380 [cluster]   
root      50687      1  0 16:23 ?        00:00:00 ./bin/redis-server 127.0.0.1:6381 [cluster]   
root      50697      1  0 16:23 ?        00:00:00 ./bin/redis-server 127.0.0.1:6382 [cluster]   
root      50702      1  0 16:23 ?        00:00:00 ./bin/redis-server 127.0.0.1:6390 [cluster]   
root      50708      1  0 16:23 ?        00:00:00 ./bin/redis-server 127.0.0.1:6391 [cluster]   
root      50713      1  0 16:23 ?        00:00:00 ./bin/redis-server 127.0.0.1:6392 [cluster]   
  • 将节点合体
#先到源码目录:
cd usr/local/redis-5.0.4/src
#合体代码 注意末尾有 --cluster-replicas 1
./redis-cli --cluster create 192.168.225.128:6380 192.168.225.128:6381 192.168.225.128:6382 192.168.225.128:6390 192.168.225.128:6391 192.168.225.128:6392 --cluster-replicas 1
  • 查看集群分区信息:cluster nodes
#节点分配信息
127.0.0.1:6380> cluster nodes
9877eaaf81ec3542702e024d2cf4e2c1af403dfe 192.168.225.128:6382@16382 master - 0 1555580291000 3 connected 10923-16383
c5d32ac74f5c4bb5f0c4f053e80d8b6ea3dbe2a9 192.168.225.128:6381@16381 master - 0 1555580289575 2 connected 5461-10922
c40b254beb302c3e46f83b6fcbb841145301355a 192.168.225.128:6392@16392 slave c5d32ac74f5c4bb5f0c4f053e80d8b6ea3dbe2a9 0 1555580294611 6 connected
c217ddaca4cb308668e1c90ed0c3521d950fd41c 192.168.225.128:6391@16391 slave 860692c99ae238cbd96e8c38cc3bb66392d9832e 0 1555580293603 5 connected
8e2ffa9737d463e59dff9ceec0a1bc4fd067a890 192.168.225.128:6390@16390 slave 9877eaaf81ec3542702e024d2cf4e2c1af403dfe 0 1555580293000 4 connected
860692c99ae238cbd96e8c38cc3bb66392d9832e 192.168.225.128:6380@16380 myself,master - 0 1555580294000 1 connected 0-5460

ps:

过程参考:
http://www.manongjc.com/article/24880.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值