0
点赞
收藏
分享

微信扫一扫

Redis源码解析:Redis主从,哨兵集群搭建


Redis源码解析:Redis主从,哨兵集群搭建_数据库

单机Redis搭建

CenOs6.9安装Redis5.0.10

wget http://download.redis.io/releases/redis-5.0.10.tar.gz
tar -xvf redis-5.0.10.tar.gz
cd redis-5.0.10
make

执行如下命令即可启动Redis服务(使用的是默认配置)

cd

也可以指定配置文件启动

./redis-server ../redis.conf

一些常用的配置如下。后续会逐渐介绍各种配置

# 设置后台启动
daemonize yes

# 设置外网访问(注释掉bind 127.0.0.1,protected-mode值设为no)
#bind 127.0.0.1

使用测试客户端程序redis-cli和redis服务交互

cd

关闭redis

通过源码方式安装的方式,进入src目录

./redis-cli -h 127.0.0.1 -p 6379 shutdown

如果还是不行

kill

一些常用的命令如下

命令

作用

redis-server

启动服务

redis-cli

访问到redis的控制台

redis-benchmark

性能测试的工具

redis-check-aof

aof文件检测的工具

redis-check-rdb

rdb文件检查工具

redis-sentinel

sentinel服务器配置

强大的info命令

信息类型

解释

Server

服务端运行的信息

Clients

客户端相关的信息

Memory

服务端运行内存统计数据

Persistence

持久化信息

Stats

通用统计信息

Replication

主从复制相关信息

CPU

cpu使用情况

Cluster

集群信息

Keyspace

键值对统计数量信息

// 获取所有的信息
127.0.0.1:6379> info

// 获取内存相关信息
127.0.0.1:6379> info memory

// 获取cpu相关信息
127.0.0.1:6379>

主从集群搭建

复制主节点的redis.conf并修改如下内容,启动3个从节点,端口分别为6380和6381

redis_6380.conf

port 6380
replicaof 127.0.0.1 6379

redis_6381.conf

port 6381
replicaof 127.0.0.1 6379

redis_6382.conf

port 6382
replicaof 127.0.0.1 6379

启动2个从节点

./redis-server ../redis-6380.conf

./redis-server ../redis-6381.conf

./redis-server ../redis-6382.conf

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=42,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=42,lag=0
master_replid:73683678c2d0327297f1b1d7c8942ad114eaf5b3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:42
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:42

执行info replication可以看到2个slave已经连接到master了

哨兵集群搭建

sentinel.conf相关的配置如下,修改端口启动3个sentinel实例即可,端口分别为26379,26380和26381

# 设置后台启动
daemonize yes

# 设置启动端口
port 26379

# 设置master地址和端口
# quorum有2个作用,1.判断master主观下线 2.成为领头sentinel需要的票数
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel monitor mymaster 127.0.0.1 6379 2

# 在30000毫秒之内master没有响应,则认为是sdown(主观下线)
sentinel down-after-milliseconds mymaster 30000

启动

./redis-sentinel ../sentinel.conf

./redis-sentinel ../sentinel-26380.conf

./redis-sentinel ../sentinel-26381.conf

参考博客

Redis实战各语言版本代码
[1]https://github.com/josiahcarlson/redis-in-action
redis主从哨兵配置
[4]https://mp.weixin.qq.com/s/q79ji-cgfUMo7H0p254QRg


举报

相关推荐

0 条评论