Docker 搭建redis 集群

1. 搭建

  • 下载redis 镜像
  • 编写redis 配置
  • 创建redis 容器
  • 创建redis cluster 集群

2. 编写redis 配置文件

  1. 创建目录
[root@root ~]# mkdir -p /soft/redis/redis-cluster
  1. 目录下 编写 redis-cluster.tmpl
port ${
    
    PORT}
requirepass root
masterauth root
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip 192.168.220.133
cluster-announce-port ${
    
    PORT}
cluster-announce-bus-port 1${
    
    PORT}

# 2. 第二胎虚拟机改下ip
 
  1. 执行端口文件
# 1. 第一台linux
for port in `seq 6371 6373`; do \
mkdir -p ${
    
    port}/conf \
&& PORT=${
    
    port} envsubst < redis-cluster.tmpl > ${
    
    port}/conf/redis.conf \
&& mkdir -p ${
    
    port}/data; \
done

# 2. 第二台 虚拟机
for port in `seq 6374 6376`; do \
mkdir -p ${
    
    port}/conf \
&& PORT=${
    
    port} envsubst < redis-cluster.tmpl > ${
    
    port}/conf/redis.conf \
&& mkdir -p ${
    
    port}/data; \
done

在这里插入图片描述

3 . 创建redis 容器

将主机6371-6376 之间的端口和 redis 容器映射,已经主机目录进行挂载 并指定网路模式 为 host

# 1. 机器1
for port in $(seq 6371 6373); do \
docker run -di --restart always --name redis-${
    
    port} --net host \
-v /soft/redis/redis-cluster/${
    
    port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /soft/redis/redis-cluster/${
    
    port}/data:/data \
redis redis-server /usr/local/etc/redis/redis.conf; \
done

# 2. 机器2
for port in $(seq 6374 6376); do \
docker run -di --restart always --name redis-${
    
    port} --net host \
-v /soft/redis/redis-cluster/${
    
    port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /soft/redis/redis-cluster/${
    
    port}/data:/data \
redis redis-server /usr/local/etc/redis/redis.conf; \
done

4. 创建redis 集群

随便进入一个redis 容器节点 并进入 /usr/local/bin 目录

# 1. 进入容器
docker exec -it redis-6374 bash

# 2 . 进入目录
cd /usr/local/bin

# 3. 执行集群指令
redis-cli -a root --cluster create 192.168.220.132:6371 192.168.220.132:6372 192.168.220.132:6373 192.168.220.133:6374 192.168.220.133:6375 192.168.220.133:6376 --cluster-replicas 1

# 4. 检查集群状态
redis-cli -a root --cluster check 192.168.220.132:6371

# 5. 集群模式设置 -c -a 用户
redis-cli -c -p 6374 -a root 

  • 创建OK
    在这里插入图片描述

在这里插入图片描述

  • 报错需要停止防火墙
systemctl disable firewalld
systemctl stop firewalld
  • 检查集群状态
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_16183731/article/details/121298466
今日推荐