主从搭建

redis的主从搭建非常简单,打开配置文件6379.conf,只需要将主节点的protected-mode设置为no,然后在从节点配置中加入:slaveof <masterip> <masterport>,启动即可

集群

redis集群的TCP端口

每个redis集群节点都需要两个TCP端口,用户端口和集群间节点通信的端口,如6379和16379,集群间节点通信端口为用户端口加上10000

redis集群数据分片

redis集群数据分片是通过哈希槽来实现的,redis集群中有16384个哈希槽,

redis集群的主从模式

为了提高集群的可用性,通常会为集群中每个节点都配置一个从节点,这样在集群中任务节点down机之后,从节点会顶替原来的主节点成为新的主节点,保证集群的正常运行

集群的一致性保证

redis集群无法保证强一致性。某些情况下,redis集群会丢失客户端提交的写操作。丢失的原因:
1、redis采用异步复制。
当接收到用户的写请求之后,redis会开启一个异步线程将写请求异步同步到集群中的其他节点上,并立即返回处理结果。因为返回给用户处理结果的时候异步同步数据并没有完成,如果一个节点在完成同步的时候down机,并没有将数据复制到从节点上,就会导致数据的不一致 2、某个节点down机之后迟迟没有选举出主节点,会导致同步到该节点上的数据丢失。如果主节点down机,该节点拒绝提供写服务

redis集群搭建

1、创建目录:mkdir /usr/local/redis-cluster
2、创建集群节点:mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data
3、将已经安装好的redis实例的src目录下的运行脚本考到bin目录下:cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin
4、复制一个redis实例到9001:cp /usr/local/redis/* 9001
5、进入9001并修改redis.conf文件:
port 9001
daemonize yes
bind 192.168.40.130
dir /usr/local/redis-cluster/9001/data/
pidfile /var/run/redis_9001.pid
cluster-enabled yes
cluster-config-file nodes9001.conf
cluster-node-timeout 15000
appendonly yes 6、将该实例复制到其他的文件夹下并修改配置
7、启动6个节点
/usr/local/bin/redis-server /usr/local/redis-cluster/9001/redis.conf
/usr/local/bin/redis-server /usr/local/redis-cluster/9002/redis.conf
/usr/local/bin/redis-server /usr/local/redis-cluster/9003/redis.conf
/usr/local/bin/redis-server /usr/local/redis-cluster/9004/redis.conf
/usr/local/bin/redis-server /usr/local/redis-cluster/9005/redis.conf
/usr/local/bin/redis-server /usr/local/redis-cluster/9006/redis.conf
8、安装集群所需软件:
yum install ruby
yum install rubygems
gem install redis
9、创建集群:
/usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 192.168.119.131:9001 192.168.119.131:9002 192.168.119.131:9003 192.168.119.131:9004 192.168.119.131:9005 192.168.119.131:9006
10、随便连上一个节点测试:
/usr/local/redis-cluster/bin/redis-cli -c -h 192.168.119.131 -p 9001
cluster info
cluster nodes
11、搭建完成

redis主从和集群搭建的更多相关文章

  1. Redis主从&哨兵集群搭建

    主从集群 在搭建主从集群前,我们先把Redis安装起来: #解压Redis压缩包 [root@master lf]# tar -zxvf redis-6.2.1.tar.gz -- #安装gcc [r ...

  2. redis主从与集群搭建

    redis搭建主从 条件:yum安装(3.2.1)与编译安装(5.0.0)都可以 环境:我这里在同一台主机上搭建,当然也可以两台. 1) 复制redis.conf的主配置文件并命令为slave.con ...

  3. Redis 3.0 集群搭建

    Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...

  4. redis主从、集群、哨兵

    redis的主从.集群.哨兵 参考: https://blog.csdn.net/robertohuang/article/details/70741575 https://blog.csdn.net ...

  5. Redis 5.0 集群搭建

    Redis 5.0 集群搭建 单机版的 Redis 搭建 https://www.jianshu.com/p/b68e68bbd725 /usr/local/目录 mkdir redis-cluste ...

  6. 【Redis学习专题】- Redis主从+哨兵集群部署

    集群版本: redis-4.0.14 集群节点: 节点角色 IP redis-master 10.100.8.21 redis-slave1 10.100.8.22 redis-slave2 10.1 ...

  7. Redis进阶实践之十一 Redis的Cluster集群搭建

    一.引言      本文档只对Redis的Cluster集群做简单的介绍,并没有对分布式系统的详细概念做深入的探讨.本文只是提供了有关如何设置集群.测试和操作集群的说明,而不涉及Redis集群规范中涵 ...

  8. linux Redis 5.0集群搭建

    文档结构如下: Redis cluster 是redis的分布式解决方案,在3.0版本正式推出后,有效的解决了redis分布式方面的需求:当遇到单机内存,并发,流量等瓶颈是,可以采用cluster架构 ...

  9. Redis操作及集群搭建以及高可用配置

    NoSQL - Redis 缓存技术 Redis功能介绍 数据类型丰富 支持持久化 多种内存分配及回收策略 支持弱事务 支持高可用 支持分布式分片集群 企业缓存产品介绍 Memcached: 优点:高 ...

随机推荐

  1. JQ实现仿淘宝条件筛选

    首先看下效果: Js代码: <script type="text/javascript"> $(".search_qxxx > ul > li & ...

  2. ionic node-sass安装或编译失败:MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”

    错误原因:缺少windows构建插件 解决方法:npm install --global --production windows-build-tools  (如果目录在C盘下,需要管理员权限运行,全 ...

  3. ArrayList的几种初始化方法

    1.使用Arrays.asList方法 ArrayList<Object> obj = new ArrayList<Object>(Arrays.asList(Object o ...

  4. testprns printername [printcapname]

    描述 此程序是samba套件的一部分. testprns是个非常简单的测试程序,用于检查smbd作为服务提供的打印机名是否合法. 在这里“Valid”的意思就是“在printcap中可以找到该打印机” ...

  5. Android 5.1 预制输入法

    Android修改默认输入法为讯飞方法如下: 首先将讯飞输入法apk预制到系统app中: 在firefly-rk3288_android5.1_git_20180126/out/target/prod ...

  6. Spring事务管理-传播行为-隔离级别

    事务是逻辑上的一组操作,这组操作要么全部成功,要么全部失败. 事务的特性:ACID 原子性:事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生 一致性:事务前后数据的完整性约束保持一致 ...

  7. python入门学习一

    本文用来记录学习python过程中所遇到的不同的或者记忆不清的一些定义. 注释 注释用# #此处是注释 n = 123 f = 456 不转义 Python中r‘  ’表示字符串默认不转义 print ...

  8. spark编写UDF和UDAF

    UDF: 一.编写udf类,在其中定义udf函数 package spark._sql.UDF import org.apache.spark.sql.functions._ /** * AUTHOR ...

  9. VS2017编译64位CloudCompare

    需求:编译一个支持读写las点云的CC,然后再开发CC插件实现业务功能. 编译环境: 1.Windows 10 2.Visual Studio 2017 Community 3.Qt 5.9.4 开源 ...

  10. 关系型数据库---MYSQL---系统学习

    1.概述 1.1 mysql数据库是一种  客户端/服务器体系  的 数据库系统: 服务器部分 在启动运行后没有人机界面,所以终端用户  无法直接使用MySQL: 对MySQL数据库进行访问.操作  ...