最近在开始准备做毕设。楼主实习的公司为传统行业,技术太老了。。只能自己慢慢找资料摸索新东西,打算用spring boot+spring cloud+redis+es+mysql+docker做个web游戏后端服务。。打算使用docker来部署环境部署完es和mysql准备部署redis。。研究了一下docker的安装部署redis集群。。查了些资料不靠谱,退而求其次还是用普通安装包的方式来部署,而网上的redis集群部署版本老旧 而且很麻烦坑也很多,研究了一天,部署成功了。。将该方法记录下来给大家分享。

我的项目由于自己比较穷只有一台笔记本,还好配置还行。。自己装了个VM ware workstation 然后装了三个centos7 ,每个分配4G内存,关闭了防火墙和selinux 而且配置的网络环境为nat转发,并且改了静态ip三台的ip分别为:192.168.153.128,192.168.153.129,192.168.153.130保证三台机子可以互相ping通,并且跟宿主机可以ping通,同一网段不用再废话了。。

下面正文开始:

首先,我的构思是三台虚拟机,三主三从,每个机子部署一个主master还有一个备的slaver,然后把三个机子整合为一个cluster。

架构:

一.安装redis

1.下载redis

打开redis官网 https://redis.io/  下载最新版

1.cd /usr/local/src

2. wget http://download.redis.io/releases/redis-5.0.2.tar.gz

2.编译安装redis

需要先安装gcc编译器

yum -y install gcc

解压redis包  然后编译安装

tar -zxvf  redis-5.0.2.tar.gz

cd redis-5.0.2

make && make install

同样的操作去给另外两条机器安装redis

二. 创建节点

1. 我选择在/usr/local下创建了一个redis-cluster文件夹用于存放redis节点的配置文件(redis.conf)

mkdir /usr/local/redis-cluster

cd /usr/local/redis-cluster

mkdir 9000 9001

cp /usr/local/redis-5.0.2/redis.conf /usr/local/redis-cluster/9000

cp /usr/local/redis-5.0.2/redis.conf /usr/local/redis-cluster/9001

2.修改配置文件(9000和9001文件夹下各一个配置文件 都需要修改,9001参照9000的配置只需要把端口改了)

daemonize    yes                     //守护线程 ,后台运行redis
pidfile  /var/run/redis_9000.pid      
port  9000                             //每个节点的端口号
cluster-enabled  yes                   //开启集群模式
cluster-config-file  nodes_9000.conf   //集群节点的配置
cluster-node-timeout  5000         //节点请求超时时间
appendonly  yes                  //aof日志每一个操作都记录模式

bind 0.0.0.0                //开启网络,保证其他网络可以访问该机子

三. 分发该配置到另外两台机器

我选择了使用scp命令进行文件的分发。。真的很好用。

scp -r /usr/local/redis-cluster 192.168.153.129:/usr/local

然后输入root密码。

scp -r /usr/local/redis-cluster 192.168.153.130:/usr/local

然后输入root密码。

四. 启动每台机器上的两个节点

cd /usr/loacl/src/

redis-server /usr/local/redis-cluster/9000/redis.conf

redis-server /usr/local/redis-cluster/9001/redis.conf

同样的操作去另外两条机器启动剩下的四个节点。

五. 创建集群

redis5.0真心舒服 集群创建方式改为了C编写的redis-cli创建,不用再安装麻烦的ruby(需要安装一些库,而且cenos7 yum -y install ruby 默认安装的ruby版本是2.0 而gem install redis 需要的ruby最低2.2上网看了些资料 真的懒得折腾了  5.0 !!!舒服!!!)了。

cd /usr/local/src/redis-5.0.2

redis-cli --cluster create 192.168.153.128:9000  192.168.153.129:9000 192.168.153.130:9000 192.168.153.128:9001  192.168.153.129:9001 192.168.153.130:9001 --cluster-replicas 1           //创建集群,--cluster-replicas 1 指定从库数量1

//创建顺序三个主,三个从,前面三个是主后面三个是从

启动后,可看到成功信息,如下:

[root@hadoop01 local]# redis-cli --cluster create 192.168.153.128:9000 192.168.153.129:9000 192.168.153.130:9000 192.168.153.128:9001 192.168.153.129:9001 192.168.153.130:9001 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.153.129:9001 to 192.168.153.128:9000
Adding replica 192.168.153.128:9001 to 192.168.153.129:9000
Adding replica 192.168.153.130:9001 to 192.168.153.130:9000
>>> Trying to optimize slaves allocation for anti-affinity
[OK] Perfect anti-affinity obtained!
M: 274618a39848cd3e7c8fb0476703ac663eb4f098 192.168.153.128:9000
   slots:[0-5460] (5461 slots) master
M: b6eef47101d34c6f6905ea65467186051374f38d 192.168.153.129:9000
   slots:[5461-10922] (5462 slots) master
M: 76123e02af1a85ce730e12431a8fdc8aa28a0b2c 192.168.153.130:9000
   slots:[10923-16383] (5461 slots) master
S: 90734168c2e428ad1cfd70ce2b9506708b6f548b 192.168.153.128:9001
   replicates b6eef47101d34c6f6905ea65467186051374f38d
S: 3c17d33fd0270a711e3e00c1d95f4aa16ec2cc88 192.168.153.129:9001
   replicates 76123e02af1a85ce730e12431a8fdc8aa28a0b2c
S: 067da7a5d5e6b63b5617b18cf389ffa153b48c09 192.168.153.130:9001
   replicates 274618a39848cd3e7c8fb0476703ac663eb4f098
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.153.128:9000)
M: 274618a39848cd3e7c8fb0476703ac663eb4f098 192.168.153.128:9000
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: 76123e02af1a85ce730e12431a8fdc8aa28a0b2c 192.168.153.130:9000
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 3c17d33fd0270a711e3e00c1d95f4aa16ec2cc88 192.168.153.129:9001
   slots: (0 slots) slave
   replicates 76123e02af1a85ce730e12431a8fdc8aa28a0b2c
M: b6eef47101d34c6f6905ea65467186051374f38d 192.168.153.129:9000
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 067da7a5d5e6b63b5617b18cf389ffa153b48c09 192.168.153.130:9001
   slots: (0 slots) slave
   replicates 274618a39848cd3e7c8fb0476703ac663eb4f098
S: 90734168c2e428ad1cfd70ce2b9506708b6f548b 192.168.153.128:9001
   slots: (0 slots) slave
   replicates b6eef47101d34c6f6905ea65467186051374f38d
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

redis集群搭建完毕。

至此。。redis集群搭建完毕了。。然后就是jedis来连接redis集群了

不是本片内容重点。。就先省略了。

如果有什么错误的地方,可以在下面留言指出 。 关于原理这部分楼主是自己了解过之后才来进行本篇的实践。。网上原理有很多,靠谱的实践缺很少。。不要眼高手低了,就有点low了。。

centos7 搭建三主三从 redis5.0集群相关推荐

  1. redis5.0集群搭建(两台服务器)

    redis5.0集群搭建(两台服务器) 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-5.0.2 版本. 两台虚拟机都是 C ...

  2. Redis5.0+——集群搭建,水平扩容

    Redis集群 容量不够,redis如何进行扩容? 并发写操作,redis如何分摊? 使用redis集群:三个服务器均可作为集群入口,多个服务器之间可以相互请求 1.1前期准备 1.准备三台服务器,在 ...

  3. linux redis5.0 集群搭建

    一.下载 wget http://download.redis.io/releases/redis-5.0.0.tar.gz 二.解压.编译 #解押到 /usr/local/ 文件夹 tar -zxv ...

  4. *福音*阿里云redis5.0.*集群搭建及java代码测试详细(终于不用ruby了)

    redis 5.0版本 集群搭建不需要我们安装ruby就可以搭建成功,并且redis给我们提供了快速搭建脚本,执行utils/create-cluster/ 目录下的create-cluster脚本 ...

  5. Docker搭建3主3从Redis Cluster集群

    本文使用镜像由慕课网的神思者老师提供 本文使用镜像是已经配置好了的Redis镜像, 如果需要自定义可修改配置文件或用官方Redis镜像进行部署 1. 拉取配置好的Redis镜像 docker pull ...

  6. centos7 搭建redis 5.0.0 集群

    redis集群搭建 3台centos7虚拟机 centos7搭建redis5.0集群 2018-11-20 redis集群 文章目录 redis常用命令 redis集群搭建 redis分片 redis ...

  7. REDIS三主三从集群搭建笔记(redis版本5.0.8)

    mkdir -p /app/redis tar -zxvf redis-5.0.8.tar.gz -C /app/redis cd /app/redis/redis-5.0.8编译安装: make & ...

  8. redis搭建三主三从架构

    最近有在学redis,这次就模仿着搭建了一个.本来网上也有很多版本,不过按照百度出来的内容进行搭建总是有各种问题,磕磕碰碰总算搭建成功,在此记录一下,供大家了解,防止以后自己忘记. 一.系统环境 VM ...

  9. Redis三主三从集群搭建(三台机器)

    介绍 redis三种模式 一.主从模式 Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况.为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构. ...

最新文章

  1. winform 在指定目录下已经生成资源Image图片的方式
  2. 台式计算机风扇声音大怎么处理,如何解决电脑电源风扇声音大的问题?
  3. [会议分享]2020全球软件大会分享-PWA在项目中的最佳实践
  4. python对字符串数组进行排序、依据字符数_Python进行数据的排序以及字符串的操作...
  5. 分布式协议学习笔记(一) Raft 选举
  6. Java CyclicBarrier介绍
  7. 定时器_STM32通用定时器
  8. 易学笔记-系统分析师考试-第9章 系统规划/9.5 成本效益分析技术/9.5.3 投资回收期和投资回报率
  9. 【学习笔记】斯坦福大学公开课(机器学习) 之生成学习算法:朴素贝叶斯
  10. Windows 远程桌面连接命令
  11. Android kotlin和java反编译后的smali 有什么区别?
  12. 打造数智制造“新引擎”,用友U9 cloud助百得胜加速崛起
  13. Visual Studio 6.0下载地址
  14. 【如何使用高级语言在机器语言层面提高程序运行效率】
  15. Nodejs 服务端MVC架构
  16. 在不同操作系统上安装Python的详细教程
  17. 股票基本名词,你知道多少?
  18. 如何在自己电脑上配置开发深度学习项目(windows)
  19. 数据库驱动和JDBC
  20. java终结者改垫圈_邢窑终结者

热门文章

  1. 《数字图像处理》题库5:计算题 ①
  2. From Nand to Tetris Week1 超详细2021
  3. 《Adobe Premiere Pro CS5经典教程》——1.7 定制工作区
  4. oracle数据库字符集US7ASCII,在java中处理中文问题
  5. 为什么包装类型间的相等判断应该用 equals
  6. 2021 书单推荐 | 15 本高分 AI 书籍,统统免费读
  7. 搭建一个socks5代理 解决狗东对ip限制nolanjdc无法获取短信问题(搬运工unke原创)
  8. 11月赠书活动获奖读者
  9. Apache本地localhost访问正常通过IP访问提示You dont have permission to access
  10. SVN SSL错误解决