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. [Git] 003 初识 Git 与 GitHub 之加入文件 第二弹

    在 GitHub 的 UI 界面使用 Git 往仓库里加文件 第二弹 1. 选择已有的文件,点击右侧的 edit 2. 在文件中继续写入文字 小发现:我只写到第 6 行,commit 后再点进去,发现 ...

  2. 问题 A: 组合数

    问题 A: 组合数 时间限制: 1 Sec  内存限制: 128 MB提交: 1975  解决: 150[提交] [状态] [命题人:jsu_admin] 题目描述 求组合数C(N,M),以及C(N, ...

  3. Nodejs中request出现ESOCKETTIMEDOUT解决方案

    做需求的时候,使用Nodejs的request批量请求某一个接口,由于接口超时,出现 ESOCKETTIMEDOUT,程序中断 为了让程序遇到 ESOCKETTIMEDOUT 之后能够继续执行下去,需 ...

  4. Untiy3D的游戏物体的实例和刚体的使用

    一,如下代码, GameObject b = GameObject.Instantiate(bullet, transform.position, transform.rotation) as Gam ...

  5. java操作mongodb工具类

    新建maven项目 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...

  6. 2018-2-13-win-10-UWP-标签

    title author date CreateTime categories win 10 UWP 标签 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:2 ...

  7. 2018-11-26-win10-UWP-Controls-by-function

    title author date CreateTime categories win10 UWP Controls by function lindexi 2018-11-26 20:0:6 +08 ...

  8. motd - 当日消息

    描述 (DESCRIPTION) 在 登录 系统 后, 执行 登录 shell 前, login(1) 显示 /etc/motd 中的 内容. "motd" 意思是 "m ...

  9. 在eclipse中添加和删除项目

    一. 将JAVA文件夹导入Eclipse中的方法: 方法一:直接将java文件夹复制,然后粘贴到项目下: 方法二:(1)打开Eclipse,点击项目的空白处,现在import: (2)现在Existi ...

  10. 通过进程id找到进程对应的容器并统计每个进程的内存占用写到excel里

    # coding=utf-8 import re import os import commands import json import psutil from pyExcelerator impo ...