zoukankan      html  css  js  c++  java
  • docker搭建redis主从集群

    准备条件:安装好docker 下载好redis的镜像 最新版本即可

    创建三个目录用于存放持久化文件

        mkdir /usr/local/docker/redis/redis-6379/data
        mkdir /usr/local/docker/redis/redis-6380/data
        mkdir /usr/local/docker/redis/redis-6381/data
    

    下载好一份redis的配置文件分别拷贝到对应的目录中去

        cp redis.conf /usr/local/docker/redis/redis-6379/
        cp redis.conf /usr/local/docker/redis/redis-6380/
        cp redis.conf /usr/local/docker/redis/redis-6381/
    

    修改主从的配置文件 master配置文件:

        bind 0.0.0.0
        dir ./data
        appendonly yes
        requirepass 123456 #设置连接密码 集群安全认证
    
    	从节点要新增一个slaveof配置 以及master节点的ip:
    
        bind 0.0.0.0
        dir ./data
        appendonly yes
        slaveof  172.18.0.2 6379
        masterauth 123456
    

    创建一个网络 redis集群将会全部放在这个网络中去

    	docker network create --subnet=172.18.0.0/16 redis-ms
    

    将所有redis的docker内部ip固定来启动 同时挂载外部的redis.conf

    	docker run -p 6379:6379 --name redis-master  --net redis-ms --ip 172.18.0.2 -v /usr/local/docker/redis/redis-6379/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/redis-6379/data:/data -d redis redis-server /etc/redis/redis.conf
    
    	docker run -p 6380:6379 --name redis-slave1 --net redis-ms --ip 172.18.0.3 -v /usr/local/docker/redis/redis-6380/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/redis-6380/data:/data -d redis redis-server /etc/redis/redis.conf  
    
    	docker run -p 6381:6379 --name redis-slave2 --net redis-ms --ip 172.18.0.4 -v /usr/local/docker/redis/redis-6381/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/redis-6381/data:/data -d redis redis-server /etc/redis/redis.conf  
    

    分别连接三个redis进行主从同步测试

    [root@localhost ~]# redis-cli -p 6379 -a 123456
    127.0.0.1:6381> set key1 value1
    "value1"
    [root@localhost ~]# redis-cli -p 6381
    127.0.0.1:6381> get key1
    "value1"
    [root@localhost ~]# redis-cli -p 6380
    127.0.0.1:6381> get key1
    "value1"
    

    可以观察到同步完成

    进行主从压测

    docker exec -it redis-master redis-benchmark docker exec -it redis-master redis-benchmark 
    
  • 相关阅读:
    toj 2819 Travel
    toj 2807 Number Sort
    zoj 2818 Prairie dogs IV
    zoj 1276 Optimal Array Multiplication Sequence
    toj 2802 Tom's Game
    toj 2798 Farey Sequence
    toj 2815 Searching Problem
    toj 2806 Replace Words
    toj 2794 Bus
    css截取字符
  • 原文地址:https://www.cnblogs.com/blackmlik/p/14229982.html
Copyright © 2011-2022 走看看