主从搭建

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. Activiti获取当前活动(任务)的出口(动态生成提交按钮)

    1.设置出口变量 当一个任务有一个或多个出口时,可以在出口连线出设置判断条件如图: 2.根据任务Id获取出口集合 public List<String> getOutGoingTransN ...

  2. 消费kafka的消息,并将其SparkStreaming结果保存到mysql

    将数据保存到mysql,需要用到jdbc.为了提高保存速度,我写了一个连接池 1.保存到mysql的代码 package test05 import org.apache.log4j.{Level, ...

  3. windows系统exe文件图标变成了白色无图标

    转载:https://blog.csdn.net/whatday/article/details/52658412   在命令提示符下输入下列命令即可恢复.   按键 “WIN+R” 输入即可cmd ...

  4. Metrics介绍和Spring的集成(转)

    转自:http://blog.csdn.net/smallnest/article/details/38491507 http://colobu.com/2014/08/08/Metrics-and- ...

  5. icomoon字体图标引用代码

    1.第一步在样式里声明字体:告诉别人我们自己定义的字体. @font-face{ /*声明字体 引用字体*/ font-family:'icomoon'; src:url('fonts/icomoon ...

  6. PHP实现上传视频的功能

    首先前台HTML表单代码如下: <html> <head> <meta http-equiv="Content-Type" content=" ...

  7. leetcode-168周赛-1297-子串的最大出现次数

    题目描述: 自己的提交: class Solution: def maxFreq(self, s: str, maxLetters: int, minSize: int, maxSize: int) ...

  8. 谷歌浏览器srcoll时,控制台一直报错

    如果是使用betheme-child主题,在wp后台去掉这个srcoll插件 目录是wp后台的Betheme——Theme Options——Addons & Plugins——Addons— ...

  9. Delphi ResourceString的用法

    在Delphi编程的那段“古老”的日子里(就是在版本4之前),在程序中使用字符串有两个基本的方法.你可以使用字符串将它们嵌入到源程序中,例如: MessageDlg( 'Leave your stin ...

  10. vscode开发vue项目保存时自动执行lint进行修复

    vscode下载eslint插件 vscode进行设置 找到settings.json 在里面写入如下内容进行保存 {     "eslint.autoFixOnSave": tr ...