2022-04-15 redis使用raft协议做主从复制记录
目录
摘要:
代码库地址:
redisraft:
redis主支[release版不支持redisraft模块]:
raft实现:
本地测试脚本:
运行redisraft:
目录结构:
5001目录启动脚本和配置:
最外层的run.sh
查看raft信息
摘要:
搭建redis的raft协议复制的主从模式
代码库地址:
redisraft:
https://github.com/RedisLabs/redisraft
redis主支[release版不支持redisraft模块]:
https://github.com/redis/redis
raft实现:
GitHub - willemt/raft: C implementation of the Raft Consensus protocol, BSD licensed
本地测试脚本:
redis-raft.tar.gz-Redis文档类资源-CSDN下载
运行redisraft:
目录结构:
root@localhost:~/work/redis/redis-raft# tree
.
├── 5001
│ ├── raftlog1.db
│ ├── raftlog1.db.idx
│ ├── raftlog1.db.meta
│ ├── redis.conf
│ ├── redis.log
│ └── run.sh
├── 5002
│ ├── raftlog1.db
│ ├── raftlog1.db.idx
│ ├── raftlog1.db.meta
│ ├── redis.conf
│ ├── redis.log
│ └── run.sh
├── 5003
│ ├── raftlog1.db
│ ├── raftlog1.db.idx
│ ├── raftlog1.db.meta
│ ├── redis.conf
│ ├── redis.log
│ └── run.sh
├── redisraft.so
└── run.sh3 directories, 20 files
5001目录启动脚本和配置:
#!/bin/bashhere=`pwd`redis-server \./redis.conf --dbfilename raft1.rdb \--loadmodule $here/../redisraft.so \raft-log-filename raftlog1.db addr localhost:5001 &
port 5001protected-mode nologfile "redis.log"
loglevel verbose
最外层的run.sh
#!/bin/bashpkill redis-serversleep 2scd 5001
rm raftlog* -rf
bash run.sh
cd -cd 5002
rm raftlog* -rf
bash run.sh
cd -cd 5003
rm raftlog* -rf
bash run.sh
cd -redis-cli -p 5001 raft.cluster initredis-cli -p 5002 RAFT.CLUSTER JOIN localhost:5001redis-cli -p 5003 RAFT.CLUSTER JOIN localhost:5001redis-cli --raw -p 5001 RAFT.INFO
查看raft信息
root@localhost:~/work/redis/redis-raft# redis-cli --raw -p 5001 RAFT.INFO
# RedisRaft
redisraft_version:255.255.255
redisraft_git_sha1:2984ef9a# Raft
dbid:e87a5515c950be76e364c18bce0565f4
node_id:182298372
state:up
role:leader
is_voting:yes
leader_id:182298372
current_term:1
num_nodes:3
num_voting_nodes:3
node1:id=614685419,state=connected,voting=yes,addr=localhost,port=5002,last_conn_secs=439,conn_errors=0,conn_oks=1
node2:id=59687008,state=connected,voting=yes,addr=localhost,port=5003,last_conn_secs=439,conn_errors=0,conn_oks=1# Log
log_entries:5
current_index:5
commit_index:5
last_applied_index:5
file_size:1731
cache_memory_size:1520
cache_entries:5
client_attached_entries:0
fsync_count:6
fsync_max_microseconds:2674
fsync_avg_microseconds:983# Snapshot
snapshot_in_progress:no
snapshots_loaded:0
snapshots_created:0# Clients
clients_in_multi_state:0
proxy_reqs:0
proxy_failed_reqs:0
proxy_failed_responses:0
proxy_outstanding_reqs:0
2022-04-15 redis使用raft协议做主从复制记录相关推荐
- BBC UK News(2022.04.15)
BBC UK News(2022.04.15) 目录 Harry and Meghan visit Queen on way to Invictus Games Sunken Russian wars ...
- 2022.04.15【单细胞】|Seurat安装,C++ compiler supports the long long type... no解决方法
文章目录 项目场景 问题描述 原因分析 解决方案 总结 项目场景 最近学习单细胞转录组(scRNA)分析,这个分析需要提前安装R4.0还有Seurat等R包进行分析,同事在创建新环境后正常情况下都可以 ...
- vp视频结构化框架(2022/9/15更新)
完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...
- Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)
Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...
- Redis Cluster Gossip 协议详解
Redis Cluster Gossip 协议 大家好,我是历小冰,今天来讲一下 Reids Cluster 的 Gossip 协议和集群操作,文章的思维导图如下所示. 集群模式和 Gossip 简介 ...
- raft协议 MySQL 切换_Raft 协议实战系列(二)—— 选主
注:本文原创,转载请标明出处. 欢迎转发.关注微信公众号:Q的博客. 不定期发送干货,实践经验.系统总结.源码解读.技术原理. 本文目的 笔者期望通过系列文章帮助读者深入理解Raft协议并能付诸于工程 ...
- 实践案例丨基于Raft协议的分布式数据库系统应用
摘要:简单介绍Raft协议的原理.以及存储节点(Pinetree)如何应用 Raft实现复制的一些工程实践经验. 1.引言 在华为分布式数据库的工程实践过程中,我们实现了一个计算存储分离. 底层存储基 ...
- raft协议_将Raft集成到JGroups中
raft协议 几个月前,我在阅读有关Raft共识算法的有启发性的Diego Ongaro论文,并认为在Red Hat开源产品组合中拥有这样的选择将是很棒的. 过去,我多次与Paxos纠缠在一起,并认为 ...
- SpringCloud Alibaba(五)Nacos raft协议介绍
前一章,我们了解了当Nacos客户端注册的节点为临时节点时,服务端的一致性协议使用的Distro协议,那么当我们的客户端注册节点为非临时节点的时候,他用的一致性协议是raft协议,下面,我们就来介绍一 ...
- raft协议(Replicated And Fault Tolerant)初探
raft论文的英文版:https://raft.github.io/raft.pdf 来源: 别再怀疑自己的智商了,Raft协议本来就不好理解:https://zhuanlan.zhihu.com/p ...
最新文章
- 中山大学计算机学院运动会,喜讯!我院获2019中大校运会教工组团体第二名
- Visual SourceSafe简明培训教程
- 设计模式 — 行为型模式 — 模板方法模式
- cad卸载_30年CAD老师傅一步步教你怎么把CAD卸载得一干二净
- Ninja Blocks物联网平台简介
- JAVA数据库编程(JDBC技术)-入门笔记
- boost::mp11::mp_for_each相关用法的测试程序
- springboot自动配置的原理_SpringBoot自动配置原理
- Angular JS (2)
- protocol buffers使用说明
- 盈利靠涨价、广告满屏飞,共享充电宝入局容易做大难
- mongodb 3.4 集群搭建升级版 五台集群
- CentOS7安装Nmon(linux性能监控工具)
- SQL Server 2008 R2 里迁移系统数据库的方法
- ShotCut——视频处理剪辑神器
- [转]Redis几个认识误区
- xposed android id修改,Xposed模块开发:修改设备IMEI
- python初学者(四)---键值对
- GB/T19001—2008质量管理体系要求、标准、贯标(贯彻标准)
- ICMP协议解析与实战