• 以Docker方式安装Redis集群


    以 Redis-6.0.6 为例,先从仓库将镜像拉下来:

    docker pull redis:6.0.6

    Redis 的配置文件和数据文件不能放在镜像中,这里选择容器中的目录和宿主机上一致,这样更方便管理。以 /data/redis 为 Redis 的主目录,配置文件放在目录 /data/redis/conf,数据文件放在目录 /data/redis/data。

    注意,需将容器的网络模式设置为主机(host)模式,而不能是默认的网桥(Bridge)等模式。主机模式下,不有用宿主机和容器间的端口映射(即“-p”参数可省略了)。

    这里使用了进程监控脚本工具 process_monitor.sh 来自动拉起 Redis 容器,process_monitor.sh 带两个参数,第一个参数为被监控进程(包含目录)和匹配模式(为其中一个参数),第二个参数为拉起进程命令或脚本。

    在启动 Redis 窗口之前,需要创建好各目录和设置好配置文件。建议以公共配置文件 redis.conf 加端口定制配置文件 redis-PORT.conf 相结合方式,可直接基于 redis-6.0.6 源代码包提供的 redis.conf 修改。

    • Crontab设置:
    PMONITOR=/usr/local/bin/process_monitor.sh
    DOCKER=/bin/docker
    REDIS_HOME=/data/redis
    REDIS_SERVER=/usr/local/bin/redis-server
    PORT1=2020
    PORT2=2021
    PORT3=2022
    PORT4=2023
    PORT5=2024
    PORT6=2025
    
    # PORT1
    * * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT1" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT1 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT1.conf"
    
    # PORT2
    * * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT2" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT2 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT2.conf"
    
    # PORT3
    * * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT3" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT3 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT3.conf"
    
    # PORT4
    * * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT4" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT4 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT4.conf"
    
    # PORT5
    * * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT5" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT5 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT5.conf"
    
    # PORT6
    * * * * * $PMONITOR "$REDIS_SERVER 0.0.0.0:$PORT6" "$DOCKER run -d --rm --network=host -u=redis --name=redis-$PORT6 -v $REDIS_HOME:$REDIS_HOME redis:6.0.6 $REDIS_SERVER $REDIS_HOME/conf/redis-$PORT6.conf"
    
  • 相关阅读:
    c++中stl函数的使用
    java 中String类的常见方法和StringBuffer类的使用
    c++模板类和模板函数
    c++简单工厂类的设计模式
    Android自定义的button按钮
    c++基类与派生类之间的转换
    Unity和Android结合出现Unabled to convert class into dex format
    jz2240用tftp下载程序步骤
    解决jz2440不能ping同主机问题
    android中的事件传递机制
  • 原文地址:https://www.cnblogs.com/aquester/p/13606199.html
Copyright © 2020-2023  润新知