Docker单机部署redis集群,
环境:CentOs7
安装docker、docker-compose (docker安装方法、compose安装方法)
配置信息
ip:192.168.204.10
集群端口:6381、6382、6383、6384、6385、6386
1.创建redis文件夹
mkidr -p /usr/docker/redis-cluster/ #方便管理
mkdir redis-6381
mkdir redis-6382
mkdir redis-6383
mkdir redis-6384
mkdir redis-6385
mkdir redis-6386
2.将redis.conf拷贝到6381-6386相应的文件夹中,修改redis.conf配置
vi redis-6381/redis.conf
cluster-enabled yes ##开启集群模式
cluster-config-file nodes.conf ##集群配置文件
cluster-node-timeout 5000 #集群节点多少时间未响应视为该节点丢失
appendonly yes ##开启AOF模式
port 6381 ##redis监听端口
protected-mode no ##默认yes 允许本地访问
————————————————————————————————————————————————————————————————————————
vi redis-6382/redis.conf
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6382
protected-mode no
————————————————————————————————————————————————————————————————————————
vi redis-6383/redis.conf
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6383
protected-mode no
————————————————————————————————————————————————————————————————————————
vi redis-6384/redis.conf
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6384
protected-mode no
————————————————————————————————————————————————————————————————————————
vi redis-6385/redis.conf
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6385
protected-mode no
————————————————————————————————————————————————————————————————————————
vi redis-6386/redis.conf
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
port 6386
protected-mode no
3.编写docker-compose.yml文件
[root@broker1 redis-cluster]# vim docker-compose.yml
version: '3'
services:
redis-1:
container_name: redis-1
image: redis
ports:
- 6381:6381
- 16381:16381
volumes:
- /usr/docker/redis-cluster/redis-6381/data:/data
- /usr/docker/redis-cluster/redis-6381/redis.conf:/etc/redis/redis.conf
entrypoint:
- redis-server
- /etc/redis/redis.conf
redis-2:
container_name: redis-2
image: redis
ports:
- 6382:6382
- 16382:16382
volumes:
- /usr/docker/redis-cluster/redis-6382/data:/redis/data
- /usr/docker/redis-cluster/redis-6382/redis.conf:/etc/redis/redis.conf
entrypoint:
- redis-server
- /etc/redis/redis.conf
redis-3:
container_name: redis-3
image: redis
ports:
- 6383:6383
- 16383:16383
volumes:
- /usr/docker/redis-cluster/redis-6383/data:/data
- /usr/docker/redis-cluster/redis-6383/redis.conf:/etc/redis/redis.conf
entrypoint:
- redis-server
- /etc/redis/redis.conf
redis-4:
container_name: redis-4
image: redis
ports:
- 6384:6384
- 16384:16384
volumes:
- /usr/docker/redis-cluster/redis-6384/data:/redis/data
- /usr/docker/redis-cluster/redis-6384/redis.conf:/etc/redis/redis.conf
entrypoint:
- redis-server
- /etc/redis/redis.conf
redis-5:
container_name: redis-5
image: redis
ports:
- 6385:6385
- 16385:16385
volumes:
- /usr/docker/redis-cluster/redis-6385/data:/redis/data
- /usr/docker/redis-cluster/redis-6385/redis.conf:/etc/redis/redis.conf
entrypoint:
- redis-server
- /etc/redis/redis.conf
redis-6:
container_name: redis-6
image: redis
ports:
- 6386:6386
- 16386:16386
volumes:
- /usr/docker/redis-cluster/redis-6386/data:/redis/data
- /usr/docker/redis-cluster/redis-6386/redis.conf:/etc/redis/redis.conf
entrypoint:
- redis-server
- /etc/redis/redis.conf
注释:
# 节点1 redis-1: #容器服务名 container_name: redis-1 #基础镜像 image: redis #端口映射 #第一个端口是客户端通信端口 第二个端口为集群总线端口 用于失败检测以及故障转移、选举等 偏移量总是10000 ports: - 6381:6381 - 16381:16381 #映射宿主机的数据卷 配置数据目录和配置文件目录 HOST:CONTAINER volumes: - /usr/docker/redis-cluster/redis-6381/data:/data - /usr/docker/redis-cluster/redis-6381/redis.conf:/etc/redis/redis.conf # 设置服务默认的启动程序 entrypoint: - redis-server - /etc/redis/redis.conf
4.执行compose
[root@broker1 redis-cluster]# docker-compose up -d
执行结果如下
5.查看容器状态
6.进入任意容器开启集群模式
[root@broker1 redis-6381]# docker exec -it redis-1 bash
root@3226cce0bd0f:/data# cd /usr/local/bin/
root@3226cce0bd0f:/usr/local/bin# redis-cli --cluster create 192.168.204.10:6381 \
> 192.168.204.10:6382 \
> 192.168.204.10:6383 \
> 192.168.204.10:6384 \
> 192.168.204.10:6385 \
> 192.168.204.10:6386 \
> --cluster-replicas 1
注:输入小写yes
出现如下结果开启成功
[OK] All nodes agree about slots configuration.>>>check for open slots. .-
>>>check slots coverage...[OK] All 16384 slots covered.
7.进入任意节点测试
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。