redis搭建主从

条件:yum安装(3.2.1)与编译安装(5.0.0)都可以

环境:我这里在同一台主机上搭建,当然也可以两台。

1) 复制redis.conf的主配置文件并命令为slave.conf

2)配置slave.conf

bind 192.168.253.153(主节点ip一致)

slaveof 192.168.253.153   6379    (主节点的ip与端口)

port  6389 (自定义)

3)重启服务

redis-server  文件名(如果不在目录下,就需要带上目录)

4)测试

进入主从节点的redis数据库中,在主节点上添加等操作,如果从节点能够读出来,说明配置成功。

redis-cli  -p 6379 -h 192.168.253.10

redis-cli  -p 6389 -h 192.168.253.10            #配置的端口和ip

redis集群

环境:两台主机(一台3个主节点,一台三个从节点) 或者一台主机(3台主节点,3台从节点)

条件:编译安装,yum安装的如果时3.2版本或者更早之前很可能会行不通,报错:

Unrecognized option or bad number of args for: '--cluster'                #此错误原因为参数错误或者缺少redis cluster

我这里选择一台主机配置集群:

1)创建一个conf目录

mkdir conf

2)创建6个.conf结尾的文件

touch {7000,7001,7002,7003,7004,7005}.conf

3)添加配置内容

port        #绑定端口
bind 192.168.253.135 #绑定对外连接提供的ip
daemonize yes #开启守护进程
pidfile .pid #进程文件名
cluster-enabled yes #是否是集群
cluster-config-file 7000_node.conf #集群配置文件
cluster-node-timeout #集群连接超时时间
appendonly yes #数据持久化类型

不同配置文件之间只需更改:port  ;pidfile  ;cluster-config-file(如果是不同主机上配置,bind也需更改)

4)写一个执行脚本:

#!/bin/bash
for i in `seq `
do
redis-server $i.conf
done

bash a.sh来开启服务

ps -ef | grep redis 来查看是否开启服务

5)早版本需要安装ivm和ruby来做集群操作,现在我们只需要执行以下命令:

redis-cli --cluster create 192.168.253.153: 192.168.253.153: 192.168.253.153: 192.168.253.153: 192.168.253.153: 192.168.253.153: --cluster-replicas 

出现以下内容后yes确认接受。

6)测试

进入数据库:redis-cli  -p7000 -c -h 192.168.253.153

每一次更改等操作会跳转节点,主节点如果宕机,会由其他两个节点从从节点中选一个来顶替。

拓展:2)、3)、4)步可以通过以下脚本来实现:

#!/bin/bash
for i in `seq `
do
touch "$i".conf
echo -e " port "$i"\nbind 192.168.253.153\ndaemonize yes \npidfile "$i".pid\ncluster-enabled yes\ncluster-config-file "$i"_node.conf\ncluster-node-timeout 15000\nappendonly yes" > "$i".conf
redis-server "$i".conf
done

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

  1. redis主从和集群搭建

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

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

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

  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. Java-Lambda表达式第二篇认识Lambda表达式

    接上面的方法引用和构造器引用: 3>引用某类对象的实例方法 @FunctionalInterface public interface Cut{ String cut(String str,in ...

  2. js 判断是不是数字||判断字符串是不是数字(正则表达式)

    js使用正则表达式判断对象是不是数字,或者字符串是不是数字,或者是不是数字类型 //判断是不是一个数字 或者 一个字符串里全是数字 isNumber (value) { if (value === u ...

  3. linux内核的gpiolib详解

    #include <linux/init.h> // __init __exit #include <linux/module.h> // module_init module ...

  4. Django之视图(V)

    Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误, ...

  5. 一篇包含了react所有基本点的文章

    去年,我写了一本关于学习React.js的小书,原来是大约100页. 今年我要挑战自己,把它归纳为一篇文章. 本文不会涵盖什么是React,或者为什么要学习它. 相反,这是面向已经熟悉JavaScri ...

  6. HDU 1024 Max Sum Plus Plus (递推)

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. C# 反射实现动态加载程序集

    原文:https://blog.csdn.net/pengdayong77/article/details/47622235 在.Net 中,程序集(Assembly)中保存了元数据(MetaData ...

  8. 通过离线安装包解决了 from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /usr/local/python36/lib/python3.6/site-packages/cryptography-2.2.2-py3.6-linux-x86_64.egg/cryptography/hazmat/binding

    场景:内网服务器不能上外网(代理也不通!), 之前安装了PYTHON的几个安装包,但不是知道为什么无法使用PARAMIKO这个模块 在导入 from cryptography.hazmat.bindi ...

  9. 2018-10-2-win10-uwp-win2d-特效

    title author date CreateTime categories win10 uwp win2d 特效 lindexi 2018-10-02 21:20:46 +0800 2018-6- ...

  10. 占卜DIY

    题目地址 Code #include<iostream> #include<vector> #include<map> using namespace std; s ...