Linux_基于Docker搭建Redis集群
时间:2017年07月11日星期二
说明:基于Ubuntu16.04-64bit,开始本教程前,请确保您的Linux系统已安装Docker。
步骤一:Redis镜像安装
1、下载Redis镜像
镜像中心
推荐使用网易蜂巢的镜像中心
地址:https://c.163.com/hub#/m/home/
Redis镜像
docker pull hub.c.163.com/library/redis:latest
安装完成后,使用docker images
命令,查看是否安装成功
步骤二:Redis集群搭建
1、运行Redis镜像
分别使用以下命令启动3个Redis
docker run --name redis-6379 -p 6379:6379 -d hub.c.163.com/library/redis
docker run --name redis-6380 -p 6380:6379 -d hub.c.163.com/library/redis
docker run --name redis-6381 -p 6381:6379 -d hub.c.163.com/library/redis
使用docker ps
命令,查看是否启动成功
2、配置Redis集群
分别使用 docker inspect 容器ID
命令,查看3个Redis的Docker内网IP地址
在Networks栏,可以看见该容器的Docker内网IP地址。
三个Redis的内网IP地址如下
redis-6379:172.17.0.3:6379
redis-6380:172.17.0.4:6379
redis-6381:172.17.0.5:6379
进入Docker容器内部
使用redis-6379为主机,其余两台为从机
使用 docker exec -ti 容器ID /bin/bash 分别进入三个Redis容器
进入容器后,使用 redis-cli 命令,连接redis服务端
连接服务后,使用 info replication 查看当前机器的角色
未配置前,三台redis均为 master主机
使用上面的方法,分别进入 redis-6379、redis-6380、redis-6381容器内部,并连接redis服务端
分别在redis-6380和redis-6381使用 SLAVEOF 172.17.0.3 6379 命令
在redis-6379 使用 info replication 命令,验证主从关系是否配置成功
这样,redis的集群环境就搭建好了,本机测试无问题,这里就不演示了。为了保证redis集群的高可用,下面开始配置redis哨兵模式。
步骤三:Redis哨兵模式
1、配置Redis哨兵
Redis哨兵配置,有两种方案
方案一:基于现有的3台Redis容器服务,互相启动一个Redis哨兵
方案二:重新再启动3台Redis容器服务,分别启动一个Redis哨兵
方案二会额外的新增3个Redis容器服务,所以这里演示方案一
分别进入3台Redis容器内部,执行以下操作
首先,进入Docker容器内部
使用 docker exec -ti 容器ID /bin/bash 分别进入三个Redis容器
然后,编写Redis哨兵配置文件
使用 cd / 命令,进入根目录
使用 touch sentinel.conf命令,创建哨兵配置文件
使用 vim 命令编辑 sentinel.conf 文件,
添加以下内容 sentinel monitor host6379 172.17.0.3 6379 1
在进行编辑时,需要先按照vim,命令为 apt-get update、apt-get install vim –y
最后,启动Redis哨兵
使用 redis-sentinel /sentinel.conf 启动Redis哨兵监控
使用 ps –ef |grep redis 命令,可以看到redis-server和redis-sentinel正在运行
至此,哨兵模式配置完毕,按理说,不应在容器内部进行操作,但应个人能力有限,未找到其它的解决方案。有其它方式能够配置redis哨兵模式,欢迎指教!
步骤四:进行验证
1、验证
使用 docker ps 命令,查看正在运行的镜像
通过查看Redis哨兵日志,可以看到,redis哨兵正在监控
当我们把redis主机关掉时,可以看到,redis重新选举了新的主机
Linux_基于Docker搭建Redis集群相关推荐
- 基于Docker搭建Redis集群(主从集群)
最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得之前写的这篇 <基于Docker的Redis集群搭建> 文章一定是有问题了,所以我花了几分钟浏览之前的文章总结了下面几 ...
- 基于Docker的Redis集群简单搭建
环境:Docker + ( Redis:5.0.5 * 3 ) 1.拉取镜像 docker pull redis:5.0.5 2.创建Redis容器 创建三个 redis 容器: redis-node ...
- 基于docker搭建zookeeper集群、kafka集群(多台真机之间的集群)
基于docker搭建zookeeper集群.kafka集群---二(多台真机之间的集群) https://blog.csdn.net/diebiao6526/article/details/10143 ...
- docker搭建redis集群
#!/bin/bash #Author: 臆想的一只猫 #Created: 2022-04-06 17:42:33 #Description: 搭建redis集群function menu() {cl ...
- 使用docker搭建redis集群
使用docker搭建redis集群有两种,一种是单机多个docker容器,一种是多个机器的集群 基础知识 每个Redis集群中的节点都需要打开两个TCP连接.一个连接用于正常的给Client提供服务, ...
- 基于 twemproxy 搭建 redis 集群
概述 由于单台redis服务器的内存管理能力有限,使用过大内存redis服务器的性能急剧下降,且服务器发生故障将直接影响大面积业务.为了获取更好的缓存性能及扩展型,我们将需要搭建redis集群来满足需 ...
- 利用Docker搭建Redis集群
Redis集群搭建 运行Redis镜像 分别使用以下命令启动3个Redis docker run --name redis-6379 -p 6379:6379 -d hub.c.163.com/lib ...
- 在单机上通过docker搭建redis集群试验
一 Redis集群搭建 1.1 运行redis镜像 [root@centos-linux docker]# docker run -id --name=redis-6379 -p 6379:6379 ...
- mac os 开启redis_高并发大流量,总会想到它!来一起通过docker搭建redis集群
现在一般的项目都会用到redis做缓存,也不免有老铁没用过,我就一起说下吧. redis 官网 https://redis.io/ Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库.缓 ...
最新文章
- 人工神经网络能否驾驭生物神经元的“浓稠”程度?5到8层可能并非极限
- 常纪文:智慧城市有助于实现低碳绿色发展
- 3月12日云栖精选夜读:操作阿里云Kibana
- WPF 3D和光照学习1
- C++学习笔记:(一)面向对象 类与对象
- Spring实战第七章
- 【BZOJ】【1086】 【SCOI2005】王室联邦
- 详解JVM内存管理与垃圾回收机制5 - Java中的4种引用类型
- oracle常见等待事件,必看干货 | Oracle 常见的等待事件说明(下)
- nginx nodejs环境配置_Linux基本开发环境配置git,c++,nodejs,nginx
- POJ 1458 Common Subsequence
- C语言九九乘法表的五种输出形式(完整,左上,左下,右上,右下)
- java 重写或者覆父类方法的使用throws 抛出异常,为什么要小于父类父类,java面试点
- R语言 使用getGEO()直接进行差异表达分析并显示Entrez_id和Symbol_id
- 计算机显示器分辨率,电脑分辨率多少合适,详细教您电脑显示器分辨率怎么调整...
- 【一文读懂】python 中的 numpy.reshape(a, newshape, order=‘C‘) 详细说明及实例讲解
- [Ynoi2015]纵使日薄西山
- Java使用itextpdf生成PDF文件,用浏览器下载
- 云计算中的认证基础——AK
- 腾讯云直播-开启互动直播