IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> redis高可用集群搭建 -> 正文阅读

[大数据]redis高可用集群搭建

上篇博客记录了哨兵模式的集群搭建,今天搭建高可用的redis集群以及两种集群架构的对比。

搭建集群(参考redis官方文档)

1、在redis目录中创建cluster目录,cluster下分别创建存放redis.conf配置文件的目录如图:

2、修改配置文件

redis官方认为redis集群最少需要如下配置

port 9001 #根据实际情况进行修改
cluster-enabled yes #表示开启集群模式
cluster-config-file nodes-9001.conf #这个文件永远不需要人为操作,redis集群启动时创建。 
cluster-node-timeout 5000
appendonly yes

而我还做了如下配置

pidfile /var/run/redis_9001.pid # 把pid进程号写入pidfile配置的文件 
dir /usr/soft/redis-5.0.3/cluster/9001/ #数据存放目录,每个节点都不同,否则可能会导致数据丢失
logfile "9001.log"

3、分别复制redis.conf配置文件到9001-9008目录,并根据端口不同修改不同的配置

4、通过redis-server命令分别启动6个redis服务,端口依次是9001-9006。

5、创建集群:

redis5使用redis-cli 命令;而redis3或者4用redis-trib.rb命令

redis-cli --cluster create  192.168.195.128:9001 192.168.195.128:9002\
192.168.195.128:9003 192.168.195.128:9004 192.168.195.128:9005 192.168.195.128:9006 \
--cluster-replicas 1 #表示一个master挂一个slave

最后如果创建成功,会出现

[OK] All 16384 slots covered

通过redis-cli -p 9001命令连接redis集群服务,并输入cluster nodes可以查看redis节点信息

集群操作

1、新增节点

新增节点有两种方式,一是让该节点成为主节点:

通过redis-server命令分别启动端口为9007和9008的redis服务,通过命令

src/redis-cli --cluster add-node 192.168.195.128:9007?192.168.195.128:9001新增端口为9007的服务加入集群,但此时9007是一个没有分配hash槽位的master,此时可以通过src/rediscli?‐‐cluster reshard 192.168.195.128:9001命令给9007服务分配hash槽位

另外,使用命令src/redis-cli --cluster add-node 192.168.195.128:9008?192.168.195.128:9001加入9008服务,通过redis-cli -p 9008连接9008redis服务键入

cluster replicate acb37630ec411432ace6913c6a0760974c094fd3

使9008成为9007的slave。最后集群如图:

当kill 9001节点然后重启 ,9001的从节点9004变为主节点

?

2、删除节点

移除9008节点

src/redis-cli --cluster del-node 192.168.195.128:9001 97ef5e2d9e7f0e69bd2d83194c7644986d136a34

移除9007节点,由于9007有hash槽位,所以移除节点比较麻烦,通过

src/redis-cli --cluster reshard 192.168.195.128:9007

迁移hash槽位,再删除9007节点(这里迁移hash槽位出现失败情况)

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:27:35  更:2022-03-16 22:30:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:37:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码