首页 > 数据库 >docker方式安装redis集群

docker方式安装redis集群

时间:2024-08-01 16:39:28浏览次数:8  
标签:127.0 0.1 redis 集群 conf docker data

创建一个 Redis 集群,你需要按照一定的步骤来配置 Docker 容器和 Redis 实例。以下是详细的步骤来帮助你完成这个过程,并创建一个包含六台服务器的 Redis 集群。

准备工作
确保你已经安装了 Docker 和 Docker Compose(可选但推荐)。

创建 Redis 集群

  1. 创建目录结构
    在主机上创建必要的目录用于存储数据和配置文件。

bash
深色版本
mkdir -p /data/redis/{node1,node2,node3,node4,node5,node6}/data
2. 创建基本的 redis.conf 文件
创建一个基本的 redis.conf 文件,这个文件将被复制到每个节点中并根据需要修改。

cat > /data/redis/redis.conf <<EOF
port 6379
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.18.115.139
cluster-announce-port 6379
cluster-announce-bus-port 16379
#appendonly yes
requirepass S@ssw0rd!
masterauth S@ssw0rd!
dir /data
save 300 1
save 60 10
save 10 10000
dbfilename dump.rdb
rdbcompression yes
EOF
docker run --name redis-node1 -p 6379:6379 -v /data/redis/node1/data:/data -v /data/redis/redis.conf:/usr/local/etc/redis/redis.conf redis:7.4.0 redis-server /usr/local/etc/redis/redis.conf

... (重复上述命令启动其他节点)

  1. 修改配置文件
    对于每个节点,你需要修改 redis.conf 文件中的 cluster-announce-ip 和 cluster-announce-port 设置,以正确地广播它们自己的 IP 地址和端口。

bash
深色版本
sed -i 's/bind 0.0.0.0/bind 0.0.0.0\ncluster-announce-ip 127.0.0.1\ncluster-announce-port 6379/g' /data/redis/redis.conf

... (重复上述命令修改其他节点的配置)

如果你在 Docker 容器内部修改配置,需要使用 docker exec 命令。

  1. 创建集群
    使用 redis-trib.rb 脚本创建集群。你需要在 Docker 容器内运行此脚本,或者将脚本拷贝到宿主机上执行。

在宿主机上创建集群

docker exec -it redis-node1 redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

或者从 Docker 容器内部执行

docker run --rm --net=host redis:7.4.0 redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
7. 验证集群状态
检查集群的状态是否正常。

docker exec -it redis-node1 redis-cli -c -h 127.0.0.1 -p 6379
INFO cluster
这将显示集群的信息,包括每个槽的状态等。

标签:127.0,0.1,redis,集群,conf,docker,data
From: https://www.cnblogs.com/dinghc/p/18336968

相关文章

  • redis集群搭建,哨兵集群搭建
    一、首先创建redis文件夹,下载redis源码(通过yum下载无法指定文件夹,比较乱)[root@dxhredis]#mkdir/redis[root@dxhredis]#cd/redis/[root@dxhredis]#wgethttp://download.redis.io/releases/redis-6.2.6.tar.gz二、解压源码,并下载工具进行编译[root@dxhredis]#ta......
  • centos在线安装部署2024年最新的docker版本
    1.yum包更新到最新sudoyumupdate-y2.安装依赖软件包sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm23.添加阿里的镜像,下载镜像速度比较快sudoyum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-c......
  • wsl ubuntu20.4 安装docker
    docker网站被禁处理办法sudocurl-fsSLhttps://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg-o/etc/apt/keyrings/docker.ascsudochmoda+r/etc/apt/keyrings/docker.ascecho\"deb[arch=$(dpkg--print-architecture)signed-by=/etc/apt/keyrings/docker.......
  • MongoDB两地三中心集群架构设计、全球多写集群架构设计
    文章目录高级集群架构设计两地三中心集群架构设计容灾级别两地三中心方案:复制集跨中心部署两地三中心部署的考量点两地三中心复制集搭建环境准备整体架构配置域名解析启动5个MongoDB实例初始化复制集配置选举优先级启动持续写脚本(每2秒写一条记录)测试结果总结全球多......
  • MongoDB复制集/集群搭建详解
    文章目录复制集介绍三节点复制集模式Pss模式PSA模式典型三节点复制集环境搭建注意事项搭建配置复制集复制集状态查询复制集常用命令安全认证创建用户创建keyFile文件启动mongod复制集连接方式复制集成员角色属性成员角色配置隐藏节点配置延时节点添加投票节点移除复制......
  • 制作java代码 Dockerfile
    DockerfileFROMmaven:3.6.2-jdk-8-slimASbuilderCOPYdigit/digit-life-service/build/WORKDIR/build/RUN--mount=type=cache,target=/root/.m2mvncleaninstall-Ptest-Dmaven.test.skip=trueFROMopenjdk:8-slimWORKDIR/appsCOPY--from=builder/bui......
  • Win11系统Docker部署Blazor程序
    1.开发环境Windows11家庭版,默认支持WSL22.Docker安装安装DockerDesktop需要启用Win11的Linux子系统和虚拟机。以管理员身份运行命令行程序,执行如下命令:启用适用于Linux的Windows子系统dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsyst......
  • kubeasz 制作k8s 集群离线安装包
    转载:kubeasz制作k8s集群离线安装包kubeasz制作k8s集群离线安装包大家好,欢迎来到运维有术本文介绍了,利用ezdown制作kubeasz离线部署k8s集群所需的离线安装包。使用kubeasz离线安装k8s集群需要下载四个部分:kubeasz项目代码二进制文件(k8s、etcd、container......
  • Docker网络版安装
    一:准备工作通过uname-r命令查看你当前的内核版本Docker要求CentOS系统的内核版本在3.10以上,查看本页面的前提条件来验证你的CentOS版本是否支持Docker。二:部署安装1:使用root权限登录Centos。确保yum包更新到最新。yum-yupdate2:卸载旧版本(如果安装过旧......
  • Redis-入门
    Redis的10大数据类型这里的数据类型说的是value的数据类型1.字符串Stringstring是redis最基本的类型一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象string类型是Redis最基本的数据类,一个redis中字符......