redis集群redis-cluster搭建
redis集群搭建--参考微信公众号(诗情画意程序员):https://mp.weixin.qq.com/s/s5eJE801TInHgb8bzCapJQ

这是来自redis官网的一段介绍,大概意思就是:
Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。它支持诸如字符串、散列、列表、集、带范围查询的排序集、位图、hyperloglogs、带半径查询和流的地理空间索引等数据结构。Redis具有内置的复制、Lua脚本、LRU清除、事务和不同级别的磁盘持久性,并通过Redis Sentinel和带有Redis集群的自动分区提供高可用性。
and so on ...
不过这不是今天的重点,今天的重点是redis的集群搭建。
搭建集群呢,先安装个单击版的
,其实呢安装挺简单。
redis的安装单机版:
redis是c语言开发的。安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yum install gcc-c++
将redis的安装包上传到Linux并解压缩。
进入redis源码目录进行编译。输入命令:make
编译完后进行安装,输入命令:make install PREFIX=/usr/local/redis
PREFIX指定redis的安装目录,我的安装在了/usr/local/redis

这时单击版的就已经安装好了,接下来启动一下:
在redis的安装目录直接启动:
输入命令:[root@localhost bin]# ./redis-server

出现这个界面表示启动成功。
可以通过查看redis进程:
输入命令:ps aux|grep redis

但是这是前台启动,退出后redis就关闭了,下面设置后台启动的方法。
把/root/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下

- 进入/usr/local/redis/bin目录下,修改redis.conf配置文件,将daemonize no 改为 yes,保存并退出

这时再次启动redis,但是要指定配置文件以后台启动
输入命令:[root@localhost bin]# ./redis-server redis.conf

可以看到并没有出现redis的启动图标,那是否启动成功了呢?这时我们查看一下redis进程。
输入命令:ps aux|grep redis

可以看到redis已经成功启动。
下面我们开始搭建集群版,下面是redis官网的一段截取。

更多的介绍请到redis官网查看。
由于redis-cluster采用投票容错的方式来判断该节点是否挂掉,投票容错简单点说就是投票超总数的一半即判定该节点挂掉,因此最少需要三个节点,但是由于redis-cluster要保证高可用,因此每个主节点需要一个备份机,也就是说至少需要六个节点。
这里在redis官网也提到了。

六个节点需要六台服务器,这里为了演示就先搭建一个伪分布式,操作步骤和在六台服务器上搭建完全一样。
集群环境搭建
步骤一
使用ruby脚本搭建集群,需要ruby的运行环境
安装ruby
yum install ruby
yum install rubygems

步骤二
安装ruby脚本运行所需的依赖包 redis-3.0.0.gem
[root@localhost wl]# gem install redis-3.0.0.gem
搭建redis集群
搭建伪分布式,需要6个redis的实例,分别运行在7001,7002,7003,7004,7005,7006端口
步骤一
创建6个redis实例,把之前的单机版复制6份就可以。
在/usr/local/下创建redis-cluster目录

将/usr/local/redis目录下的单机版复制6分到/usr/local/redis-cluster/

步骤二
每个实例运行在不同的端口。需要修改redis.conf配置文件。
配置文件中还需要把cluster-enabled yes前的注释去掉。
进入redis01目录下,打开redis.conf配置文件
修改端口号为7001,并把cluster-enabled yes前的注释去掉


其他5个做相同的设置,注意端口不一样。
步骤三
启动每个redis实例
使用ruby脚本搭建集群,需要使用redis-trib.rb,此文件在源码src目录下。
进入src目录,将redis-trib.rb复制到/usr/local/redis-cluster目录下
cp redis-trib.rb /usr/local/redis-cluster
进入/usr/local/redis-cluster目录执行命令:
./redis-trib.rb create --replicas 1 192.168.25.131:7001 192.168.25.131:7002 192.168.25.131:7003 192.168.25.131:7004 192.168.25.131:7005 192.168.25.131:7006
到此redis集群就搭建完成了,这时启动一下。
逐个启动太费事,编写个脚本
在redis-cluster目录下创建一个.sh的脚本,
创建完成后修改文件的权限
chmod u+x start_redis.sh
运行文件 sh start_redis.sh,启动redis集群
查看后台进程 ps aux|grep redis
可以看到redis集群成功启动。
redis集群redis-cluster搭建的更多相关文章
- 超详细,多图文介绍redis集群方式并搭建redis伪集群
超详细,多图文介绍redis集群方式并搭建redis伪集群 超多图文,对新手友好度极好.敲命令的过程中,难免会敲错,但为了截好一张合适的图,一旦出现一点问题,为了好的演示效果,就要从头开始敲.且看且珍 ...
- redis集群环境的搭建和错误分析
redis集群环境的搭建和错误分析 redis集群时,出现的几个异常问题 09 redis集群的搭建 以及遇到的问题
- 一文轻松搞懂redis集群原理及搭建与使用
今天早上由于zookeeper和redis集群不在同一虚拟机导致出了点很小错误(人为),所以这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. 笔主这里使用的是Centos7.如果 ...
- Redis | 一文轻松搞懂redis集群原理及搭建与使用
转载:https://juejin.im/post/5ad54d76f265da23970759d3 作者:SnailClimb 这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. ...
- Redis集群--Redis集群之哨兵模式
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 搭建R ...
- JAVAEE——宜立方商城06:Redis安装、数据类型和持久化方案、Redis集群分析与搭建、实现缓存和同步
1. 学习计划 1.首页轮播图展示 2.Redis服务器搭建 3.向业务逻辑中添加缓存. 4.使用redis做缓存 5.缓存同步. 2. 首页轮播图动态展示 2.1. 功能分析 根据分类id查询内容列 ...
- redis集群离线安装环境搭建过程
本文是继上次redis集群重新整理的离线搭建环境,关于前期的redis集群准备工作参考我另一篇博客: http://www.cnblogs.com/qlqwjy/p/8566573.html 由于集群 ...
- 认识Redis集群——Redis Cluster
前言 Redis集群分三种模式:主从模式.sentinel模式.Redis Cluster.之前没有好好的全面理解Redis集群,特别是Redis Cluster,以为这就是redis集群的英文表达啊 ...
- Spring Boot集成Redis集群(Cluster模式)
目录 集成jedis 引入依赖 配置绑定 注册 获取redis客户端 使用 验证 集成spring-data-redis 引入依赖 配置绑定 注册 获取redis客户端 使用 验证 异常处理 同样的, ...
- Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义
回到目录 关于redis-sentinel出现的原因 Redis集群的主从模式有个最大的弊端,就是当主master挂了之前,它的slave从服务器无法提升为主,而在redis-sentinel出现之后 ...
随机推荐
- Windows 7原版映像中添加usb3.0驱动
最近用软碟通制作了一个win7原版映像,但是在装新系统的时候发现了一个问题,进入安装界面后,显示没有找到驱动器,但是明明是差了U盘的,通过“shift+f12”调出命令行窗口,输入disk list命 ...
- GP工作室——系统设计
团队作业第二次--系统设计 问题 答案 这个作业属于哪个课程 软件工程 这个作业要求在哪里 作业要求 团队名称 GP工作室 这个作业的目标 对项目软件进行更为详细的系统性设计 按照本游戏的设计要求,我 ...
- Java 设计模式之工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻 ...
- Docker底层架构之控制组
概述 控制组(cgroups)是 Linux 内核的一个特性,主要用来对共享资源进行隔离.限制.审计 等. 只有能控制分配到容器的资源,才能避免当多个容器同时运行时的对系统资源的竞争. 控制组技术最早 ...
- idea中使用Live Template自动生成方法所有参数打印
一 新建模板 二 设置代码模板 三 设置变量 表达式是支持groovy脚本的,所以这里写一个groovy脚本,生成给定格式的日志字符串,methodParameters()是idea内置的函数,获取方 ...
- Paper慢慢读 - AB实验人群定向 Double Machine Learning
Hetergeneous Treatment Effect旨在量化实验对不同人群的差异影响,进而通过人群定向/数值策略的方式进行差异化实验,或者对实验进行调整.Double Machine Learn ...
- Android之SimpleAdapter简单实例和SimpleAdapter参数说明
SimpleAdapter基本上认知了其参数含义 用起来就简单多了 SimpleAdapter的参数说明 第一个参数 表示访问整个android应用程序接口,基本上所有的组件都需要 第二个参数表示生 ...
- 函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别
函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别 首先,__thiscall是关于类的一种调用方式,它与其他调用方式的最大区别是: __thiscall ...
- Luogu P1330 封锁阳光大学 (黑白染色)
题意: 无向图,给一个顶点染色可以让他相邻的路不能通过,但是相邻顶点不能染色,求是否可以让所有的路不通,如果可以求最小染色数. 思路: 对于无向图中的每一个连通子图,都只有两种染色方法,或者染不了,直 ...
- Ansible: hosts文件拆分为inventory和定义inventory全局变量
前言 随着管理机器的增多,我们在使用Ansible的时候时常会遇到hosts文件过于冗长的问题,极其不便于管理,而将hosts文件拆分为inventory就可解决该问题:另外,hosts中的每个主机条 ...