docker-安装redis集群

news2024/11/27 15:41:01

目录

1.服务器列表

2.安装docker

3.docker内网IP地址配置

4.docker安装redis集群

1.选择合适数据位置

2.循环生成redis配置目录

3.打开宿主机防火墙端口

4.循环生成redis容器

5.创建集群命令

6.命令行集群验证


1.服务器列表

服务器列表
nameip远程端口用户名/密码
centos_4g_04192.168.1.1122

2.安装docker

docker01-lunix安装docker_unix 安装docker_别浪呀的博客-CSDN博客

3.docker内网IP地址配置

为了给Docker中的容器分配固定的Docker内网IP地址,而且还跟其他现存的Docker容器IP不冲突,所以我们新创建一个Docker内网的网段。网络名字叫做mynet,网段是172.18.0.X,以后我们创建的容器都分配这个网段的IP。需要注意,172.18.0.1是网关的IP,我们不能用。

#添加自定义网络
docker network create --subnet=172.18.0.0/18 mynet
# 删除一个网络 Docker 预定义的网络不能被删除比如 bridge 网络。如果你想删除自定义的 Docker 网络,可以使用以下命令:docker network rm <network-name>
#删除自定义网络
docker network rm mynet
#添加redis网络
docker network create --subnet=172.19.0.0/18 redis-net
# 查看网络列表
docker network ls

 

# 扩展用于测试阶段,容器没有达到预期
# docker 停止所有容器
docker stop `docker ps -a -q`

docker ps -a -q 意思是列出所有容器(包括未运行的),只显示容器编号,其中
-a : 显示所有的容器,包括未运行的。
-q : 静默模式,只显示容器编号。

# 删除所有容器,将上面命令中的 stop 改为 rm 即可:
docker rm `docker ps -a -q`

# 删除所有镜像
docker rmi `docker ps -a -q`

4.docker安装redis集群

1.选择合适数据位置

#根据机器资源分配情况,选择合适位置
rm -rf /data/docker/redis/
mkdir -p /data/docker/redis/ 
vi /data/docker/redis/redis-cluster.tmpl



# 容器内启动端口 12400-12405
port 1${PORT}
# 服务器ip
# bind 192.168.1.11
# 集群端口
cluster-announce-port 1${PORT}
# 集群总线端口,用于集群之间进行通信
cluster-announce-bus-port 2${PORT}
#Redis支持集群
cluster-enabled yes
#每一个集群节点都有一个配置文件,这个文件是不能手动编辑的。确保每一个集群节点的配置文件不通
cluster-config-file nodes.conf
#集群节点的超时时间,单位:ms,超时后集群会认为该节点失败
cluster-node-timeout 5000
#开启aof模式持久化策略
appendonly yes
#淘汰策略
maxmemory-policy volatile-lru
#redis密码,可以根据实际需要调整,但整个集群各节点密码请保持统一
requirepass admin@1196869282

2.循环生成redis配置目录

for port in $(seq 2400 2405); \
do \
  mkdir -p /data/docker/redis/1${port}/conf  \
  && PORT=${port} envsubst < /data/docker/redis/redis-cluster.tmpl > /data/docker/redis/1${port}/conf/redis.conf \
  && mkdir -p /data/docker/redis/1${port}/{data,logs}; \
done

# 查看某一个生成的配置文件
cat /data/docker/redis/12400/conf/redis.conf

 

 

3.打开宿主机防火墙端口

#  12400-12405
firewall-cmd --zone=public --add-port=12400/tcp --permanent
firewall-cmd --zone=public --add-port=12401/tcp --permanent
firewall-cmd --zone=public --add-port=12402/tcp --permanent
firewall-cmd --zone=public --add-port=12402/tcp --permanent
firewall-cmd --zone=public --add-port=12403/tcp --permanent
firewall-cmd --zone=public --add-port=12404/tcp --permanent
firewall-cmd --zone=public --add-port=12405/tcp --permanent

firewall-cmd --zone=public --add-port=22400/tcp --permanent
firewall-cmd --zone=public --add-port=22401/tcp --permanent
firewall-cmd --zone=public --add-port=22402/tcp --permanent
firewall-cmd --zone=public --add-port=22403/tcp --permanent
firewall-cmd --zone=public --add-port=22404/tcp --permanent
firewall-cmd --zone=public --add-port=22405/tcp --permanent
firewall-cmd --reload

4.循环生成redis容器

第一次需要拉去镜像会慢一些 

 for port in $(seq 2400 2405);  \
do \
    docker run -it -d --name redis-1${port} \
    -p 1${port}:1${port} -p 2${port}:2${port} \
    --net redis-net \
    -m 400m  \
    -e TZ=Asia/Shanghai --privileged=true \
    -v /data/docker/redis/1${port}/conf/redis.conf:/etc/redis/redis.conf \
    -v /data/docker/redis/1${port}/data:/data \
    redis:6.2.6 redis-server /etc/redis/redis.conf; \
done
# 查看运行的redis
docker ps

5.创建集群命令

# 进入一个容器内部
docker exec -it redis-12400 /bin/bash
 #-a之后为redis密码,ip\端口、密码请根据实际情况修改
 # 12400-12405
redis-cli --cluster create --cluster-replicas 1 -a admin@1196869282 \
192.168.1.11:12400 192.168.1.11:12401 192.168.1.11:12402 \
192.168.1.11:12403 192.168.1.11:12404 192.168.1.11:12405

# 输入yes等待即可

 

6.命令行集群验证

# 在容器内登录某一个redis
redis-cli -h 172.19.0.2 -p 12400 -a admin@1196869282
# 查看集群节点信息
cluster nodes

 

# 查看集群信息
cluster info

cluster_state 集群状态是 ok ,如果为 fail 则表示集群状态异常。
cluster_size 集群 Master 数量
cluster_know_nodes 集群 节点 数量

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/590772.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

One2Multi Graph Autoencoder for Multi-view Graph Clustering

One2Multi Graph Autoencoder for Multi-view Graph Clustering | Proceedings of The Web Conference 2020 (acm.org) 目录 Abstract 1 Introduction 2 Model 2.1 Overview 2.2 One2Multi Graph Convolutional Autoencoder Informative graph convolutional encoder M…

Eclipse教程 Ⅸ

今天继续来学习Eclipse 快速修复、Eclipse 浏览菜单、Eclipse 查找以及Eclipse 悬浮提示的内容&#xff01;老规矩&#xff0c;废话不多说&#xff0c;开始吧。 Eclipse 快速修复 使用快速修复 在 Eclipse 编辑器中当你输入字母时&#xff0c;编辑器会对你输入的内容进行错误…

PostgreSQL FDW

一、FDW简单理解 FDW (foreign-data wrapper&#xff0c;外部数据包装器)&#xff0c;PostgreSQL FDW 是一种外部访问接口&#xff0c;它可以被用来访问存储在外部的数据&#xff0c;这些数据可以是外部的pg数据库&#xff0c;也可以oracle、mysql等数据库&#xff0c;甚至可以…

大气气溶胶期末复习笔记

大气气溶胶期末复习笔记 大气气溶胶 广义&#xff1a;指悬浮在大气中的各种固态和液态微粒与大气构成的混合体系 狭义&#xff1a;指大气中悬浮的各种固态粒子&#xff0c;简称气溶胶粒子 来源 直接注入 通过地表直接注入大气固体&#xff0c;液体物质的破碎过程中产生&…

筛质数—(埃氏筛欧拉筛)

埃氏筛&欧拉筛 埃氏筛欧拉筛 例题&#xff1a;AcWing 868. 筛质数 对欧拉筛的理解不是很深刻&#xff0c;写下自己的理解&#xff0c;加深一下理解&#xff0c;也方便后期忘记后再学习 埃氏筛 埃氏筛的主要思想是让质数x去筛掉x的所有合数&#xff0c;这个比较容易理解。…

机器学习知识经验分享之五:R语言安装

python语言用于深度学习较为广泛&#xff0c;R语言用于机器学习领域中的数据预测和数据处理算法较多&#xff0c;后续将更多分享机器学习数据预测相关知识的分享&#xff0c;有需要的朋友可持续关注&#xff0c;有疑问可以关注后私信留言。 目录 一、R语言介绍 二、R语言安装…

装饰器模式:实现类功能的动态扩展

一&#xff0c;简介 装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许在不修改原有类结构的情况下&#xff0c;给一个对象动态添加额外的职责。通常情况下&#xff0c;扩展一个类的功能我们首先会想到用继承方式来实现&#xff0c…

7步搞懂手写数字识别Mnist

大家好啊&#xff0c;我是董董灿。 图像识别有很多入门项目&#xff0c;其中Mnist 手写数字识别绝对是最受欢迎的。 该项目以数据集小、神经网络简单、任务简单为优势&#xff0c;并且集合了CNN网络中该有的东西&#xff0c;可谓麻雀虽小&#xff0c;五脏俱全。 非常适合新手…

Fourier分析入门——第12章——Fourier变换的性质

目录 第12章 Fourier变换的性质 12.1 引言 12.2 Fourier变换性质的相关定理 12.2.1 线性定理(Linearity) 12.2.2 伸缩性定理(Scaling) 12.2.3 时间/空间平移定理(Shift) 12.2.4 频移定理 12.2.5 调制定理(Modulation) 12.2.6 微分定理(Differentiation) 12.2.7 积分定…

冒泡排序详解(Bubble Sort)

本文已收录于专栏 《算法合集》 目录 一、简单释义1、算法概念2、算法目的3、算法思想4、算法性质 二、核心思想构建排序 三、图形展示宏观展示微观展示 四、算法实现实现思路代码实现客户端调用构造堆的方法元素交换的方法元素比较的方法 运行结果 五、算法描述1、问题描述2、…

数据库管理-第七十八期 记第一次数据库吐槽大会(20230530)

数据库管理 2023-05-30 第七十八期 记第一次数据库吐槽大会1 主席2 三六九等3 数据库吐槽大会总结 第七十八期 记第一次数据库吐槽大会 昨天晚上终于还是把Exadata X9M-2和之前用于展示RAC搭建及升级的那套库做好了ADG&#xff0c;这部分操作在整理后会在下个月发出来。因为之…

Python列表类型的使用

文章目录 Python中的列表类型一、列表的常用操作二、列表的增删改查三、列表常用的函数 Python中的列表类型 将各个元素用方括号&#xff08;[]&#xff09;括起来&#xff0c;用逗号&#xff08;,&#xff09;分隔开&#xff0c;这种形式的数据类型就是列表。各个元素的数据类…

HNU-电子测试平台与工具2-串口实验5次

计算机串口使用与测量 【实验属于电子测试平台与工具】 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 0.环境搭建 在实验开始之前,安装好Ubuntu 20.04操作系统。(这个没有难度) 但要提醒的是,这个ubuntu是xubuntu,而且虚拟硬盘只有10GB的大小…

智警杯1.4---excel可视化

视频要点&#xff1a; 首先就是有数据透视表 点击数据透视表&#xff0c;分析&#xff0c;字段项目&#xff0c; 切片器筛选 切片器&#xff08;我希望用什么对数据进行一个筛选&#xff09; 跟下拉列表有点像&#xff0c;只不过切片器仅仅之对于数据透视表 依旧需要用su…

HBase集群搭建

hbase 1.解压HBase安装包 先 下载HBase压缩包&#xff0c;并解压安装文件&#xff0c;示例代码如下&#xff1a; tar -zxvf hbase-2.0.1-bin.tar.gz2. 修改配置文件 编辑 conf目录下的 hbase-env.sh文件&#xff0c;示例代码如下&#xff1a; cd conf vi hbase-env.sh添加…

压缩感知入门③基于ADMM的全变分正则化的压缩感知重构算法

压缩感知系列博客&#xff1a;压缩感知入门①从零开始压缩感知压缩感知入门②信号的稀疏表示和约束等距性压缩感知入门③基于ADMM的全变分正则化的压缩感知重构算法 文章目录 1. Problem2. 仿真结果3. MATLAB算法4. 源码地址参考文献 1. Problem 信号压缩是是目前信息处理领域非…

Frame Pacing

Frame Pacing是每个游戏都要遇到的问题&#xff0c;这里面有很多细节值得探讨。 为什么需要做Frame Pacing&#xff1f; 从我们的游戏线程渲染一帧到最终屏幕上绘制出一帧不是一个概念&#xff0c;这种间会经历CPU&#xff0c;GPU&#xff0c;屏幕合成器等多个角色的协同工作&a…

【xv6操作系统】安装、运行与调试

一、构建、装入过程 1.编写“启动代码主体代码”&#xff08;在下载的xv6的原始代码上进行修改&#xff09; 2.源代码进行编译、链接生成系统镜像&#xff08;elf格式的目标文件&#xff09; 3.将系统镜像保存起来&#xff08;如保存到磁盘、flash或者网络服务器上&#xff…

上海斯歌K2 x 赛博威 | 战略合作深度交流暨签约仪式

2月16日&#xff0c;上海斯歌K2与赛博威进行了战略合作深度交流&#xff0c;并在赛博威广州科学城办公室举办战略合作签约仪式。 为满足客户在数智化建设过程中的多元化需求&#xff0c;上海斯歌K2与赛博威曾多次产生交集。凭借双方多年合作的良好基础&#xff0c;自2022年始&a…

【C++】右值引用和移动语义(详细解析)

文章目录 1.左值引用和右值引用左值引用右值引用 2.左值引用和右值引用的比较左值引用总结右值引用总结 3.右值引用的使用场景和意义知识点1知识点2知识点3知识点4总结 4.完美转发万能引用见识完美转发的使用完美转发的使用场景 1.左值引用和右值引用 传统的C语法中就有引用的…