Docker下Redis集群安装配置怎么实现
一、所有机器拉去镜像docker pull redis 二、主从集群搭建2.1、redis.cong 文件
2.1.1、主节点:
bind 0.0.0.0protected-mode no
//redis配置访问密码
requirepass 123456
//主节点密码 哨兵模式下主节点宕机从新恢复变成从节点 需要密码
masterauth 123456
2.1.2、从节点:
bind 0.0.0.0protected-mode no
requirepass 123456
//主节点访问密码
masterauth 123456
//主节点信息
slaveof *.*.*.* 6379 2.2、创建本地映射文件夹,并将 redis.conf 放到 /usr/local/redis/conf 文件夹内# /usr/local/redis
cd /usr/locar/redis
mkdir conf
mkdir data 2.3、启动redisdocker run -p 6379:6379 --name redis \
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes
# 进入容器内部
docker exec -it redis bash
# 进入redis
redis-cli
# 校验密码
auth 123456
# 查看集群信息
info replication 三、开启哨兵模式3.1、sentinel.conf 配置文件#### 根据需要修改一下内容
# 让sentinel服务后台运行(docker的话需要设置为no,非docker运行设置为yes, 因为docker有个-d属性就是让在后台运行的)
daemonize no
# 修改日志文件的路径
logfile "
/data/sentinel.log"
# 修改监控的主redis服务器
# 最后一个2表示,两台机器判定主被动下线后,就进行failover(故障转移)
sentinel monitor mymaster *.*.*.*(公网ip) 6390 2
#超过5秒master还没有连接上,则认为master已经停止
sentinel down-after-milliseconds mymaster 5000
sentinel auth-pass mymaster 123456 3.2、创建本地映射文件夹,并将 sentinel.conf 放到 /usr/local/redis-sentinel/conf 文件夹内# /usr/local/redis
cd /usr/locar/redis-sentinel
mkdir conf
mkdir data 3.3、启动 redis-sentinel 进程docker run -d --name sentinel -p 26379:26379 \
-v /usr/local/redis-sentinel/conf/sentinel.conf:/etc/sentinel.conf \
-v /usr/local/redis-sentinel/data:/data redis redis-sentinel /etc/sentinel.conf 3.4、进入 redis-sentinel 容器内查看# 进入sentinel节点
docker exec -it sentinel redis-cli -p 26379
# 查看sentinel信息
info sentinel 3.5、服务测试
关闭 master 节点
多次执行"info replication"命令来观察执行二、主从集群搭建的2.4校验模块后信息发生的变化
或者监听哨兵配置的日志文件,可以实时看到其发生的变化
搭建一个Redis集群已经成为了现代应用程序的标配之一。它可以提供数据可用性和性能的极大提升。本文将介绍如何使用Docker安装和配置Redis集群。本文将分为以下三个部分:
1. Docker环境安装
2. Redis集群配置
3. Redis集群的测试和使用
Docker环境安装
Docker 是一个全平台容器化技术,它可以将应用程序和它所依赖的一个或多个库打包为容器。安装Docker非常容易,在Linux、Windows、MacOS等平台下都可安装。
我们建议使用最新的稳定版Docker,应尽可能使用适合操作系统和应用程序的最新版本。
Redis集群配置
在Docker上运行Redis集群需要大量的配置和调整。下面将介绍一些最基本的配置和原则,以便将Redis搭建成一个稳定可靠的集群。
步骤1:创建一个新的Redis集群。
运行以下命令在Docker上创建一个3个主节点和3个从节点的Redis集群。
docker run -it --rm -p 30001:6379 --name redis1 -e REDIS_CLUSTER_IP=0.0.0.0 --net redis-net redis:latest redis-server --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -it --rm -p 30002:6379 --name redis2 -e REDIS_CLUSTER_IP=0.0.0.0 --net redis-net redis:latest redis-server --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -it --rm -p 30003:6379 --name redis3 -e REDIS_CLUSTER_IP=0.0.0.0 --net redis-net redis:latest redis-server --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -it --rm -p 30004:6379 --name redis4 -e REDIS_CLUSTER_IP=0.0.0.0 --net redis-net redis:latest redis-server --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -it --rm -p 30005:6379 --name redis5 -e REDIS_CLUSTER_IP=0.0.0.0 --net redis-net redis:latest redis-server --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -it --rm -p 30006:6379 --name redis6 -e REDIS_CLUSTER_IP=0.0.0.0 --net redis-net redis:latest redis-server --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
注意,如果你在使用虚拟机、云服务器等环境,请确保Docker容器的IP地址和主机之间能够互通。
步骤2:添加Redis集群的节点信息。
在以上步骤完成后,Redis集群的各个节点之间仍然互相不知晓。为了让Redis集群知道它们之间的信息和关系,我们需要在其中一个节点上执行以下命令:
docker exec -it redis1 redis-cli --cluster create 172.18.0.2:6379 172.18.0.3:6379 172.18.0.4:6379 172.18.0.5:6379 172.18.0.6:6379 172.18.0.7:6379 --cluster-replicas 1
它会启动一个集群添加命令,创建一个Redis集群。要使用之前创建的6个节点,请单击运行此命令。在运行期间,您将看到节点在Redis集群中添加的输出信息。
步骤3:测试Redis集群。
现在可以测试你的Redis集群是否工作正常。你可以使用以下命令启动一个Redis客户端。
docker run -it --rm --net redis-net redis:latest redis-cli -c -p 30001
成功连接后,使用如下命令进行测试:
set a 1
set b 2
get a
get b
上述命令应该成功执行,并返回正确的结果。
结论
使用Docker安装和配置Redis集群非常容易。但是,它需要一些时间和配置才能使它正常工作。如果你采取以上的基本步骤,你将能够在几分钟内搭建一个可靠的Redis集群。尽早开始使用Redis集群,可以让你的应用程序运行更稳定,同时获得更好的性能体验。