Redis【第二篇】集群搭建
第一步:准备
1.安装包
ruby-2.4.0.tar.gz
rubygems-2.6.10.tgz
zlib-1.2.11.tar.gz
redis-3.3.2.gem
2. 架构:
名称 | IP | 端口 | 节点属性 |
redisA | 192.168.6.128 | 6379 | 主节点 |
redisB | 192.168.6.128 | 9379 | 从节点 |
redisC | 192.168.6.129 | 6379 | 主节点 |
redisD | 192.168.6.129 | 9379 | 从节点 |
redisE | 192.168.6.130 | 6379 | 主节点 |
redisF | 192.168.6.130 | 9379 | 从节点 |
2. 实例 redis 安装
参照 Redis【第一篇】安装 来安装架构中的实例。
第二步:安装Ruby
1. 版本
ruby-2.4.0
2. 安装
# tar zxvf ruby-2.4.0.tar.gz # cd ruby-2.4.0 # ./configure prefix=/usr/local/ruby # make # make install
3. 设置环境变量
# echo 'export PATH="$PATH:/usr/local/ruby/bin"' >> /etc/profile # source /etc/profile
4. 测试
# ruby -v
第三步:安装 rubygems
1. 版本
rubygems-2.6.10
2. 安装
# tar zxvf rubygems-2.6.10.tgz # cd rubygems-2.6.10 # ruby setup.rb
3. 测试
# gem -v
第四步:安装zlib
1. 版本
zlib-1.2.11.tar.gz
2. 安装
# tar zxvf zlib-1.2.11.tar.gz # cd zlib-1.2.11 # ./configure --prefix=/usr/local/zlib # make # make install
第五步:安装 ruby-zlib
1. 版本
为 ruby-2.4.0 包中的文件。
2. 安装
# cd ruby-2.4.0/ext/zlib # ruby ./extconf.rb --with-zlib-dir=/usr/local/zlib # make # make install
返回信息:
第六步:安装 redis-3.3.2.gem
1. 版本
redis-3.3.2.gem
2. 安装
gem install -l redis-3.3.2.gem
返回信息:
第七步:启动
1. 分别修改各个 redis 的配置文件
# cp redis.conf redis-cluster.conf # vi redis-cluster.conf
编辑配置文件:
1)更改的内容:
daemonize no 更改为 daemonize yes logfile "" 更改为 logfile "/root/redisA/logs/redis.log" # 需要创建 logs 目录 dir ./ 更改为 dir /root/redisA/data #需要创建 data 目录 appendonly no 更改为 appendonly yes
2)去掉注释的内容
# cluster-enabled yes # cluster-config-file nodes-6379.conf # cluster-node-timeout 15000 # cluster-slave-validity-factor 10 # cluster-migration-barrier 1 # cluster-require-full-coverage yes
2. 分别启动各个 redis 服务
# ./src/redis-server redis-cluster.conf
第八步:测试
1. 查看进程
# ps -ef|grep redis|grep -v grep
2. 查看日志
第九步:建立集群
1. 执行命令
# ./src/redis-trib.rb create --replicas 1 192.168.6.128:6379 192.168.6.128:9379 192.168.6.129:6379 192.168.6.129:9379 192.168.6.130:6379 192.168.6.130:9379
--replicas 1 表示每个主节点下有一个从节点。
默认是前三个为主节点,后三个为从节点。
默认情况下不能从 slaves 读取数据,但建立连接后,执行一次命令 READONLY,该 slaves 即可读取数据。
2. 返回信息
>>> Creating cluster Connecting to node 192.168.6.128:6379: OK Connecting to node 192.168.6.128:9379: OK Connecting to node 192.168.6.129:6379: OK Connecting to node 192.168.6.129:9379: OK Connecting to node 192.168.6.130:6379: OK Connecting to node 192.168.6.130:9379: OK >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 192.168.6.128:6379 192.168.6.129:6379 192.168.6.130:6379 Adding replica 192.168.6.129:9379 to 192.168.6.128:6379 Adding replica 192.168.6.128:9379 to 192.168.6.129:6379 Adding replica 192.168.6.130:9379 to 192.168.6.130:6379 M: 31f6b90cfe190d94f39bef42449bdb7efe1b85b0 192.168.6.128:6379slots:0-5460 (5461 slots) master S: 02c6f0321ebbaf52fe42dd372e5daf179ca77853 192.168.6.128:9379replicates 90fec8236d68d9e89262a1ae101056fa1da6df25 M: 90fec8236d68d9e89262a1ae101056fa1da6df25 192.168.6.129:6379slots:5461-10922 (5462 slots) master S: 5cf4bd75f93514e1895f8bb5bb7042ae23f277e7 192.168.6.129:9379replicates 31f6b90cfe190d94f39bef42449bdb7efe1b85b0 M: 82889edd96156daa109e84868ceda24a0272ee82 192.168.6.130:6379slots:10923-16383 (5461 slots) master S: 9e238a85863ea02fc534fc870db4f47fd79b9ef6 192.168.6.130:9379replicates 82889edd96156daa109e84868ceda24a0272ee82 Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join..... >>> Performing Cluster Check (using node 192.168.6.128:6379) M: 31f6b90cfe190d94f39bef42449bdb7efe1b85b0 192.168.6.128:6379slots:0-5460 (5461 slots) master1 additional replica(s) M: 90fec8236d68d9e89262a1ae101056fa1da6df25 192.168.6.129:6379slots:5461-10922 (5462 slots) master1 additional replica(s) S: 5cf4bd75f93514e1895f8bb5bb7042ae23f277e7 192.168.6.129:9379slots: (0 slots) slavereplicates 31f6b90cfe190d94f39bef42449bdb7efe1b85b0 S: 9e238a85863ea02fc534fc870db4f47fd79b9ef6 192.168.6.130:9379slots: (0 slots) slavereplicates 82889edd96156daa109e84868ceda24a0272ee82 M: 82889edd96156daa109e84868ceda24a0272ee82 192.168.6.130:6379slots:10923-16383 (5461 slots) master1 additional replica(s) S: 02c6f0321ebbaf52fe42dd372e5daf179ca77853 192.168.6.128:9379slots: (0 slots) slavereplicates 90fec8236d68d9e89262a1ae101056fa1da6df25 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
集群创建成功!
第十步:测试
1. 客户端连接
# ./src/redis-cli -c -h 192.168.6.128 -p 6379
连接成功则返回:
2. 存取数据
1)连接192.168.6.128的6379端口,并存入数据
2)连接192.168.6.130的9379端口,并读取数据
此时,redis 的三主三从集群已搭建成功!
转载于:https://www.cnblogs.com/RUReady/p/6439763.html
Redis【第二篇】集群搭建相关推荐
- Redis HA篇 +集群搭建
说明:本文为面向Redis集群搭建的指导手册 标签:Redis集群.Redis高可用.Redis分布式.Redis 4.0.2 注意:文中删去了不需要的多余部分,让初学者一目了然一学就会 温馨提示:如 ...
- Redis 多服务器集群搭建
Redis 多服务器集群搭建 近期,想到之前使用的Redis集群测试使用的是单服务器上的伪集群,重温<Redis深度历险-核心原理与应用实践>的案例,觉得还是搭建一下多服务器集群来玩一玩会 ...
- 超详细的 Redis Cluster 官方集群搭建指南
转载自 超详细的 Redis Cluster 官方集群搭建指南 今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集 ...
- 【❤️万字长文总结❤️】一篇学会Redis高可用✔集群✔搭建详细教程
大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:今天总结一下Redis集群高可用的搭建流程 [惊喜推荐+优质资源 ...
- redis安装、集群搭建等
1 Redis介绍 1.1 什么是NoSql 为了解决高并发.高可扩展.高可用.大数据存储问题而产生的数据库解决方案,就是NoSql数据库. NoSQL,泛指非关系型的数据库,NoSQL即Not-On ...
- 超详细的 Redis Cluster 官方集群搭建指南,适用于 redis 5.x, 6.x
今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 旧版本使用 redis-trib.rb ruby 脚本安装集群,5.0版本redis-cli 已经自带 ...
- redis高可用集群搭建
上篇博客记录了哨兵模式的集群搭建,今天搭建高可用的redis集群以及两种集群架构的对比. 搭建集群(参考redis官方文档) 1.在redis目录中创建cluster目录,cluster下分别创建存放 ...
- 基于 Docker 的 Redis 高可用集群搭建(redis-sentinel)
前言 之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动升级为主库的,也就是说,该redis主从集群并非是高可用的. ...
- redis入门及其集群搭建、哨兵模式
一.Nosql概述 1.为什么要用Nosql 1.1 单机 MySQL 的美好时代 来源博客(https://www.cnblogs.com/lukelook/p/11135209.html) 在90 ...
- redis主从复制和集群搭建
redis主从复制 准备两台服务器,两台服务器可以互相ping通,可以新建两个虚拟机,然后配置网络,此处不在演示 准备两台虚拟机之后,两台虚拟机安装redis,gcc编译之后我们开始配置redis集群 ...
最新文章
- kafka 怎么样连接图形化界面_图形化编程有多简单,点亮LED不到一分钟
- ElasticSearch 动态映射与静态映射_08
- 【Flink】Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型
- Python折半查找(二分查找)
- php中echo和print的区别
- win7上安装mysql数据库_mysql-windows系统安装mysql数据库
- qq微信电脑客户端 for mac v1.0.0.6 官方版
- Python应用(四)其他功能(一)python将ppt导出高清图片
- java使用freemarker模版下载成Excel文件
- 1一9数字行书写法_1一9数字行书写法
- 苹果系统安装Java开发环境JDK
- python--我的大花莽【turtle画】
- vi复制粘贴(转贴+自己总结)
- 2020.10.21--PS--梦幻柔焦、中途曝光、制作素描照片
- 【vue下载】vue 点击下载图片直接打开问题解决
- vue--es6转es5打包
- c语言中因式分解的题目,因式分解练习题加答案解析-200道.doc
- 信号处理之卷积神经网络结构
- 谈一谈场景文本图片的超分辨
- Ubuntu 18.04换国内源 中科大源 阿里源 163源 清华源