目录

摘要:

代码库地址:

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协议做主从复制记录相关推荐

  1. 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 ...

  2. 2022.04.15【单细胞】|Seurat安装,C++ compiler supports the long long type... no解决方法

    文章目录 项目场景 问题描述 原因分析 解决方案 总结 项目场景 最近学习单细胞转录组(scRNA)分析,这个分析需要提前安装R4.0还有Seurat等R包进行分析,同事在创建新环境后正常情况下都可以 ...

  3. vp视频结构化框架(2022/9/15更新)

    完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...

  4. Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)

    Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...

  5. Redis Cluster Gossip 协议详解

    Redis Cluster Gossip 协议 大家好,我是历小冰,今天来讲一下 Reids Cluster 的 Gossip 协议和集群操作,文章的思维导图如下所示. 集群模式和 Gossip 简介 ...

  6. raft协议 MySQL 切换_Raft 协议实战系列(二)—— 选主

    注:本文原创,转载请标明出处. 欢迎转发.关注微信公众号:Q的博客. 不定期发送干货,实践经验.系统总结.源码解读.技术原理. 本文目的 笔者期望通过系列文章帮助读者深入理解Raft协议并能付诸于工程 ...

  7. 实践案例丨基于Raft协议的分布式数据库系统应用

    摘要:简单介绍Raft协议的原理.以及存储节点(Pinetree)如何应用 Raft实现复制的一些工程实践经验. 1.引言 在华为分布式数据库的工程实践过程中,我们实现了一个计算存储分离. 底层存储基 ...

  8. raft协议_将Raft集成到JGroups中

    raft协议 几个月前,我在阅读有关Raft共识算法的有启发性的Diego Ongaro论文,并认为在Red Hat开源产品组合中拥有这样的选择将是很棒的. 过去,我多次与Paxos纠缠在一起,并认为 ...

  9. SpringCloud Alibaba(五)Nacos raft协议介绍

    前一章,我们了解了当Nacos客户端注册的节点为临时节点时,服务端的一致性协议使用的Distro协议,那么当我们的客户端注册节点为非临时节点的时候,他用的一致性协议是raft协议,下面,我们就来介绍一 ...

  10. raft协议(Replicated And Fault Tolerant)初探

    raft论文的英文版:https://raft.github.io/raft.pdf 来源: 别再怀疑自己的智商了,Raft协议本来就不好理解:https://zhuanlan.zhihu.com/p ...

最新文章

  1. 中山大学计算机学院运动会,喜讯!我院获2019中大校运会教工组团体第二名
  2. Visual SourceSafe简明培训教程
  3. 设计模式 — 行为型模式 — 模板方法模式
  4. cad卸载_30年CAD老师傅一步步教你怎么把CAD卸载得一干二净
  5. Ninja Blocks物联网平台简介
  6. JAVA数据库编程(JDBC技术)-入门笔记
  7. boost::mp11::mp_for_each相关用法的测试程序
  8. springboot自动配置的原理_SpringBoot自动配置原理
  9. Angular JS (2)
  10. protocol buffers使用说明
  11. 盈利靠涨价、广告满屏飞,共享充电宝入局容易做大难
  12. mongodb 3.4 集群搭建升级版 五台集群
  13. CentOS7安装Nmon(linux性能监控工具)
  14. SQL Server 2008 R2 里迁移系统数据库的方法
  15. ShotCut——视频处理剪辑神器
  16. [转]Redis几个认识误区
  17. xposed android id修改,Xposed模块开发:修改设备IMEI
  18. python初学者(四)---键值对
  19. GB/T19001—2008质量管理体系要求、标准、贯标(贯彻标准)
  20. ICMP协议解析与实战

热门文章

  1. 智慧城市顶层设计策略方案(ppt)
  2. VS2015+Qt5.8 联合配置
  3. CMSInitiatingOccupancyFraction计算释疑
  4. 心形函数表达式及合成思路
  5. 如何将MAPGIS中的文件转换为SHP格式,及坐标系问题
  6. MongoDB下载安装教程(Windows)
  7. 认识自己,曾经的选择,是否如愿?一位渗透测试工程师的自述感言!!!
  8. 21个2021年软件开发趋势预测
  9. 演示面阵激光雷达的工作原理
  10. OligoGreen染料|花菁类(Cyanine系列)-引物、Oligo核酸、多肽标记染料