栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

doker 搭建redis高可用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

doker 搭建redis高可用

1. 拉取redis镜像-
       docker pull redis:last
2.创建配置文件目录:
	  主库
	  mkdir -p /home/data/docker/redis_master/config 
	  #拉取redis.conf文件命令:
	  wget -c http://download.redis.io/redis-stable/redis.conf
	
	 从库1
	  mkdir p /home/data/docker/redis_sale_01/config 
	  #拉取redis.conf文件命令:
	  wget -c http://download.redis.io/redis-stable/redis.conf
	
	 从库2
	  mkdir p /home/data/docker/redis_sale_02/config 
	  #拉取redis.conf文件命令:
	  wget -c http://download.redis.io/redis-stable/redis.conf
	  
	 修改redis.conf节点的配置文件
	 将bind 127.0.0.1注释掉 或改为0.0.0.0 允许外部访问
	 protected-mode no #修改为 no,默认为yes 开启保护模式
	 daemonize no #关闭守护进程方式启动
	 requirepass 123 #开启密码校验
	 port 端口号
	 masterauth 123 #master节点密码
	 replicaof 192.168.1.23 6379  #配置master ip和port(从库才需要配置)
3.启动容器
	docker run -d -p 3389:3389 -v /home/data/docker/redis_master/config/redis.conf:/usr/local/etc/redis/redis.conf -v /home/data/docker/redis_master/config/data:/data --name redis_master redis redis-server /usr/local/etc/redis/redis.conf 
	docker run -d -p 19200:19200 -v /home/data/docker/redis_sale_01/config/redis.conf:/usr/local/etc/redis/redis.conf -v /home/data/docker/redis_sale_01/config/data:/data --name redis_sale_01 redis redis-server /usr/local/etc/redis/redis.conf 
	docker run -d -p 19300:19300 -v /home/data/docker/redis_sale_02/config/redis.conf:/usr/local/etc/redis/redis.conf -v /home/data/docker/redis_sale_02/config/data:/data --name redis_sale_02 redis redis-server /usr/local/etc/redis/redis.conf 
	
	run:创建一个新的容器并运行一个命令
	–name:给启动的容器起名
	-v:挂载目录 将当前宿主机的conf文件挂载到容器conf文件
	-d:后台运行容器,并返回容器ID;
	-p:指定端口映射,格式为:主机(宿主)端口:容器端口
	 最后以配置文件方式启动redis
	
	判断是否成功
	 docker exec -it redis_master /bin/bash 进入容器 
	 redis-cli -h 127.0.0.1 -p 19300
	 auth rdis密码
	 role--->查看当前信息
4.配置哨兵 建议配置单数 一般为3个 集群
	新建目录 mkdir p /home/data/docker/sentinel  //这里只模拟一个,其他两个复制就行
	获取 wget -c http://download.redis.io/redis-stable/sentinel.conf
	
	修改sentinel.conf配置文件
	sentinel monitor mymaster 39.104.83.26(主库的ip) 3389(主库的端口) 1(多少数量成功)
	
	sentinel auth-pass mymaster(master名称 每个哨兵必须一样) 123456(redis密码)
	
	sentinel deny-scripts-reconfig yes
	
	replica-read-only no(是否只允许可读)
	
	sentinel auth-pass mymaster 123456     #连接master密码(如果主库配置了密码 就必须配置)
	
	启动哨兵
	docker run -p 35672:35672 --restart=always --name sentinel-1 -v /home/data/docker/sentinel/sentinel.conf:/etc/redis/sentinel.conf -v /home/data/docker/sentinel/sentinel.conf-data:/data -d redis redis-sentinel /etc/redis/sentinel.conf
	
	测试停掉主库 看下从库中 有没有变为主库
	
	恢复主库  主库变为从库 添加到新主机的从库中
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020434.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号