当前位置:网站首页>docker 部署redis集群
docker 部署redis集群
2022-08-04 21:33:00 【请你打开电视看看】
redis集群方案
- 哈希取余分区
- 一致性哈希算法分区
- 哈希槽分区
哈希槽分区
一个集群只能有16384个槽,编号0-16383(0-2^14-1)。这些槽会分配给集群中的所有主节点,分配策略没有要求。可以指定哪些编号的槽分配给哪个主节点。集群会记录节点和槽的对应关系。解决了节点和槽的关系后,接下来就需要对key求哈希值,然后对16384取余,余数是几key就落入对应的槽里。slot = CRC16(key) % 16384。以槽为单位移动数据,因为槽的数目是固定的,处理起来比较容易,这样数据移动问题就解决了。
三主三从集群搭建
创建六个redis容器实例
创建/config/redis/share/redis-node-1/redis.conf
修改配置文件
port 6381
appendonly yes
#bind *********
protected-mode no
cluster-enabled yes
cluster-config-file nodes-6381.conf
创建实例
docker run -d --name redis-node-1 --net host --privileged=true -v /usr/local/software/redis-cluster/config/redis-node-1/redis.conf:/etc/redis/conf/redis.conf -v /usr/local/software/redis-cluster/data/redis-node-1:/data redis:6.0.8 redis-server /etc/redis/conf/redis.conf
docker run -d --name redis-node-2 --net host --privileged=true -v /usr/local/software/redis-cluster/config/redis-node-2/redis.conf:/etc/redis/conf/redis.conf -v /usr/local/software/redis-cluster/data/redis-node-2:/data redis:6.0.8 redis-server /etc/redis/conf/redis.conf
docker run -d --name redis-node-3 --net host --privileged=true -v /usr/local/software/redis-cluster/config/redis-node-3/redis.conf:/etc/redis/conf/redis.conf -v /usr/local/software/redis-cluster/data/redis-node-3:/data redis:6.0.8 redis-server /etc/redis/conf/redis.conf
docker run -d --name redis-node-4 --net host --privileged=true -v /usr/local/software/redis-cluster/config/redis-node-4/redis.conf:/etc/redis/conf/redis.conf -v /usr/local/software/redis-cluster/data/redis-node-4:/data redis:6.0.8 redis-server /etc/redis/conf/redis.conf
docker run -d --name redis-node-5 --net host --privileged=true -v /usr/local/software/redis-cluster/config/redis-node-5/redis.conf:/etc/redis/conf/redis.conf -v /usr/local/software/redis-cluster/data/redis-node-5:/data redis:6.0.8 redis-server /etc/redis/conf/redis.conf
docker run -d --name redis-node-6 --net host --privileged=true -v /usr/local/software/redis-cluster/config/redis-node-6/redis.conf:/etc/redis/conf/redis.conf -v /usr/local/software/redis-cluster/data/redis-node-6:/data redis:6.0.8 redis-server /etc/redis/conf/redis.conf

docker run
创建并运行docker容器实例
–name redis-node-6
-p 宿主机端口:redis端口
容器名字
–net host
使用宿主机的IP和端口,默认
–privileged=true
获取宿主机root用户权限
-v /data/redis/share/redis-node-6:/data
容器卷,宿主机地址:docker内部地址
redis:6.0.8
redis镜像和版本号
–cluster-enabled yes
开启redis集群
–appendonly yes
开启持久化
–port 6386
redis端口号
进入node1 创建构建主从关系
docker exec -it redis-node-1 /bin/bash
redis-cli --cluster create ip:6381 ip:6382 ip:6383 ip:6384 ip:6385 ip:6386 --cluster-replicas 1 -a 配置文件里设置的密码
查看集群状态
redis-cli -p 6381 -a 密码
cluster info
cluster nodes

验证主从关系
6381master节点新增key
docker exec -it redis-node-1 /bin/bash
# 防止路由实现 添加参数-c
redis-cli -p 6381 -a foobared -c
set nihao nihao

6385slave节点查看key
docker exec -it redis-node-5 /bin/bash
redis-cli -p 6385 -a foobared -c
get nihao

边栏推荐
- PowerCLi 导入License到vCenter 7
- Pinduoduo open platform order information query interface [pdd.order.basic.list.get order basic information list query interface (according to transaction time)] code docking tutorial
- Win11如何设置软件快捷方式?
- 经验分享|盘点企业进行知识管理时的困惑类型
- DSPE-PEG-Aldehyde,DSPE-PEG-CHO,磷脂-聚乙二醇-醛基一种疏水18碳磷脂
- AtCoder Beginner Contest 262 D - I Hate Non-integer Number
- jekyll adds a flowchart to the blog
- UDP communication
- 【线性代数02】AX=b的2种解释和矩阵乘法的5种视角
- stm32mp157系统移植 | 移植ST官方5.10内核到小熊派开发板
猜你喜欢
![[Teach you to use the serial port idle interrupt of the STM32HAL library]](/img/9e/88a11727e1452315edc2c8ac74690e.png)
[Teach you to use the serial port idle interrupt of the STM32HAL library]

数电快速入门(一)(BCD码和三种基本逻辑运算的介绍)

Zynq Fpga图像处理之AXI接口应用——axi_lite接口使用

大势所趋之下的nft拍卖,未来艺术品的新赋能

NFT宝典:你需要知道NFT的术语和定义

ue unreal 虚幻 高分辨率无缩放 编辑器字太小 调整编辑器整体缩放

Re24:读论文 IOT-Match Explainable Legal Case Matching via Inverse Optimal Transport-based Rationale Ext

Codeforces Round #811 (Div. 3)

mysql基础

1319_STM32F103串口BootLoader移植
随机推荐
实战:10 种实现延迟任务的方法,附代码!
零基础都能拿捏的七夕浪漫代码,快去表白或去制造惊喜吧
AtCoder Beginner Contest 262 D - I Hate Non-integer Number
Driving point cloud format changes bring efficiency improvement
PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning Code Analysis
《剑指offer》刷题分类
PCBA scheme design - kitchen voice scale chip scheme
27.降维
y87.第五章 分布式链路追踪系统 -- 分布式链路追踪系统起源(一)
What does Xinchuang mean?Which industries are involved?Why develop Xinchuang?
PowerCLi batch configuration of NTP
Unknown point cloud structure file conversion requirements
数电快速入门(五)(编码器的介绍以及通用编码器74LS148和74LS147的介绍)
[QT] Implementation of callback function
Spss-一元回归实操
多个平台显示IP属地,必须大力推行互联网实名制
Named routes, the role of name in components
【分布式】分布式ID生成策略
8 年产品经验,我总结了这些持续高效研发实践经验 · 协同篇
[21 days learning challenge - kernel notes] (2), based in the device tree

