TongRDS 2214 docker版指引(by lqw )

文章目录

    • 前言
    • 准备工作
    • 中心节点
    • 服务节点
    • 哨兵节点

前言

部署docker版本,建议先参考TongRDS2214手动部署版指引(by lqw+sy)
在本地手动部署了一套适合业务场景的rds 服务后,再通过dockerfile 打镜像。

准备工作

1.准备对应的安装包(其中mc的是中心节点的安装包,node是服务节点和哨兵节点安装包)。
在这里插入图片描述

2.已手动部署好对应的rds服务并测试过没有问题。
3.确认一下不同服务需要用到的中心节点和服务节点还有哨兵节点的个数。
例如单机版只需要一个中心节点,一个服务节点。
集群版需要一个中心节点,六个服务节点。
哨兵版需要一个中心节点,六个服务节点,其中有三个是作为服务节点,另外三个作为哨兵节点。
以此类推,然后根据本帖子里写的中心节点,服务节点,哨兵节点的指引打docker镜像。
4.安装前请确保当前磁盘的使用情况,避免因为磁盘空间不足导致安装失败。
在这里插入图片描述

df -h /opt

在这里插入图片描述
5.确认一下docker 的磁盘使用情况,如果用满了,自己百度搜一下怎么清理,清理前记得做好备份:

 docker system df

在这里插入图片描述
如果想要彻底清理出空间,包括清理掉镜像和容器,可以使用这个指令

docker system prune -a

中心节点

本次示范用的目录为/opt/rds/pcenter ,跟TongRDS2214手动部署版指引(by lqw+sy) 有点不一样,请注意区别。

停掉服务器本地的中心节点服务。
在这里插入图片描述

记得检查配置文件(etc下的cluster.properties)
在这里插入图片描述
授权文件也检查一下
在这里插入图片描述

下面是本次使用到的dockerfile,请命名为Dockerfile-tongcenter :

#根据自己想要用的系统来配,例如ubuntu或者centos,但是得用docker先pull
FROM centos
MAINTAINER TongRDS
#根据自己本地的jdk来配(jdk1.8.0_391需要放在跟dockerfile同一级目录)
COPY ./jdk1.8.0_391/ /opt/jdk1.8.0_391
#根据自己本地的jdk来配
ENV JAVA_HOME=/opt/jdk1.8.0_391
ENV PATH=${JAVA_HOME}/bin:$PATH
ENV TZ=Asia/Shanghai
#中心节点解压目录pcenter需要放在/opt/rds/pcenter,这个根据自己的情况来修改,最好授权也放在/opt/rds/pecenter(安装中心节点) 下
COPY ./pcenter/ /opt/pcenter
WORKDIR /opt/pcenter/bin
#6300是在中心节点的配置文件sync.properties里配的
EXPOSE 6300 8086 26379
ENTRYPOINT "./StartCenter.sh"

dockerfile,pcenter,jdk路径如下:
在这里插入图片描述

之后,cd到dockerfile所在的目录(这里是/opt/rds),执行以下指令:

docker build -f Dockerfile-tongcenter -t tongrds-center:2.2.C.1 .

在这里插入图片描述
接下来轮到生成容器和挂载相关文件(pot/rds/pcenter是宿主机挂载目录,也是手动部署的rds的中心节点的安装目录):

# 有需要可以在-d 后加--name 容器名
docker run -d -e CENTER_PLATFORM=native \-p 8086:8086 \-p 6300:6300 \-p 26379:26379 \-v /opt/rds/pcenter/etc/cluster.properties:/opt/pcenter/etc/cluster.properties \-v /opt/rds/pcenter/etc/active.properties:/opt/pcenter/etc/active.properties \-v /opt/rds/pcenter/etc/acl.properties:/opt/pcenter/etc/acl.properties \-v /opt/rds/pcenter/etc/config.properties:/opt/pcenter/etc/config.properties \-v /opt/rds/pcenter/etc/sync.properties:/opt/pcenter/etc/sync.properties \-v /opt/rds/pcenter/center.lic:/opt/pcenter/center.lic \tongrds-center:2.2.C.1

使用 docker ps -a 看看有没有对应容器,顺带看看CONTAINER ID
在这里插入图片描述
使用docker logs CONTAINER ID 看看日志:
在这里插入图片描述

使用以下指令進入容器内部,檢查是否配置文件已生效:

docker exec -it CONTAINER ID  /bin/bash # 退出的话则使用这个指令
exit

在这里插入图片描述

服务节点

本次示范用的目录为/opt/rds/pmemdb ,跟TongRDS2214手动部署版指引(by lqw+sy) 有点不一样,请注意区别。

关掉服务节点:
在这里插入图片描述
dockerfile和jdk还有pmemdb的目录如下图所示:
在这里插入图片描述

dockerfile 參考(其中6200和6379是在etc/cfg.xml里配置的,注意一下,如果同一个docker需要装多个服务节点,这个端口不要重复,不然会有端口冲突的):

#根据自己想要用的系统来配,例如ubuntu或者centos,但是得用docker先pull
FROM centos
MAINTAINER TongRDS
#根据自己本地的jdk来配(jdk1.8.0_391需要放在跟dockerfile同一级目录)
COPY ./jdk1.8.0_391/ /opt/jdk1.8.0_391
#根据自己本地的jdk来配
ENV JAVA_HOME=/opt/jdk1.8.0_391
ENV PATH=${JAVA_HOME}/bin:$PATH
ENV TZ=Asia/Shanghai
COPY ./pmemdb/ /opt/pmemdb/
#这里的端口在配置文件里配置,需要保持一致
EXPOSE 6200 6379
WORKDIR /opt/pmemdb/bin
ENTRYPOINT "./StartServer.sh"

例如你在本地弄了两个pmemdb,其中一个是pmemdb2,pmemdb2可以参考这个dockerfile(前提是cfg.xml里配置了6201和6380,6380是redis连接端口)

#根据自己想要用的系统来配,例如ubuntu或者centos,但是得用docker先pull
FROM centos
MAINTAINER TongRDS
#根据自己本地的jdk来配(jdk1.8.0_391需要放在跟dockerfile同一级目录)
COPY ./jdk1.8.0_391/ /opt/jdk1.8.0_391
#根据自己本地的jdk来配
ENV JAVA_HOME=/opt/jdk1.8.0_391
ENV PATH=${JAVA_HOME}/bin:$PATH
ENV TZ=Asia/Shanghai
COPY ./pmemdb2/ /opt/pmemdb/
#这里的端口在配置文件里配置,需要保持一致
EXPOSE 6201 6380
WORKDIR /opt/pmemdb/bin
ENTRYPOINT "./StartServer.sh"

pmemdb的可以执行这个指令来打包镜像(cd到dockerfile所在目录执行)

docker build -f Dockerfile-tongnode -t tongrds-node:2.2.C.1 .

在这里插入图片描述
pmemdb2的可以执行这个指令来打包镜像(cd到dockerfile所在目录执行)

docker build -f Dockerfile-tongnode2 -t tongrds-node2:2.2.C.1 .

在这里插入图片描述

通过dockerfile打完镜像后,pmemdb的可以执行这个指令构建和启动对应容器并挂载相关配置文件:

    # 有需要可以在-d 后加--name 容器名docker run -d -p 6200:6200 -p 6379:6379 \-v /opt/rds/pmemdb/etc/cfg.xml:/opt/pmemdb/etc/cfg.xml \-v /opt/rds/pmemdb/etc/dynamic.xml:/opt/pmemdb/etc/dynamic.xml \-v /opt/rds/pmemdb/var:/opt/pmemdb/var \tongrds-node:2.2.C.1

通过dockerfile打完镜像后,pmemdb2的可以执行这个指令构建和启动对应容器并挂载相关配置文件:

   # 有需要可以在-d 后加--name 容器名docker run -d -p 6201:6201 -p 6380:6380 \-v /opt/rds/pmemdb2/etc/cfg.xml:/opt/pmemdb/etc/cfg.xml \-v /opt/rds/pmemdb2/etc/dynamic.xml:/opt/pmemdb/etc/dynamic.xml \-v /opt/rds/pmemdb2/var:/opt/pmemdb/var \tongrds-node2:2.2.C.1

如下图所示,先用docker ps -a 查看一下CONTAINER ID
在这里插入图片描述
使用docker logs CONTAINER ID 看看日志:
在这里插入图片描述

使用以下指令進入容器内部,檢查是否配置文件已生效:

docker exec -it CONTAINER ID  /bin/bash # 退出的话则使用这个指令
exit

进入到容器内部的时候,使用./Client.sh -r -p redis连接端口(cfg.xml里配置的,一般是6379),如下图所示:

在这里插入图片描述
输入cluster nodes,查看集群是否生效,另外还可以输入set 111 123456 这样的指令,回车后输入get 111 看是否能获取到信息。
在这里插入图片描述
备注:
如果是集群版或者哨兵版,有时会有这种提示,属于正常现象,这种需要到对应的节点进行操作
在这里插入图片描述

哨兵节点

本次示范用的目录为/opt/rds/pmemdb_shaobing ,跟TongRDS2214手动部署版指引(by lqw+sy) 有点不一样,请注意区别。

停掉哨兵节点的进程。

在这里插入图片描述

dockerfile 参考:

#根据自己想要用的系统来配,例如ubuntu或者centos,但是得用docker先pull
FROM centos
MAINTAINER TongRDS
#根据自己本地的jdk来配(jdk1.8.0_391需要放在跟dockerfile同一级目录)
COPY ./jdk1.8.0_391/ /opt/jdk1.8.0_391
#根据自己本地的jdk来配
ENV JAVA_HOME=/opt/jdk1.8.0_391
ENV PATH=${JAVA_HOME}/bin:$PATH
ENV TZ=Asia/Shanghai
COPY ./pmemdb_shaobing/ /opt/pmemdb/
#这里的端口在配置文件里配置,需要保持一致
EXPOSE 26379 26379
WORKDIR /opt/pmemdb/bin
ENTRYPOINT "./StartSentinel.sh"

备注:
哨兵节点本质跟服务节点的不同在于,启动的脚本不同,使用的端口不同:
在这里插入图片描述
目录文件如下所示:
在这里插入图片描述

确认dockerfile和哨兵节点都如上图所示进行方式后,cd到dockerfile所在目录,执行以下指令:

docker build -f Dockerfile-tongnode-sentinel -t tongrds-node-sentinel:2.2.C.1 .

在这里插入图片描述
之后执行以下指令,创建并运行容器:

 # 有需要可以在-d 后加--name 容器名
docker run -d -p 26379:26379 \-v /opt/rds/pmemdb_shaobing/etc/cfg.xml:/opt/pmemdb/etc/cfg.xml \-v /opt/rds/pmemdb_shaobing/etc/dynamic.xml:/opt/pmemdb/etc/dynamic.xml \-v /opt/rds/pmemdb_shaobing/etc/sentinel.xml:/opt/pmemdb/etc/sentinel.xml \tongrds-node-sentinel:2.2.C.1

使用docker logs CONTAINER ID 看看日志:
在这里插入图片描述
使用docker exec -it CONTAINER ID /bin/bash 進入到容器内部,輸入./Client.sh -r -p 26379(這個在sentinel.xml里查看) ,再依次输入SENTINEL masters ,SENTINEL slaves WebSession进行查看,跟手动部署版的操作是一样的:

在这里插入图片描述

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

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

相关文章

【亚马逊云】将Amazon EC2 日志数据传输到 CloudWatch 中

文章目录 1. 创建 CloudWatchLogs 策略2. 将 CloudWatchLogs 策略附加给IAM实体3. 将 IAM 角色附加到 EC2 实例4. 在 Amazon EC2 实例上安装和配置 CloudWatch Logs5. 在CloudWatch查看EC2日志6. 参考链接 实验目的:在运行的 EC2 Linux 实例上安装和配置 CloudWatch…

【Java--数据结构】栈:不仅仅是数据存储,它是编程的艺术

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 栈 栈的方法介绍 入栈push 出栈pop和 瞄一眼peek 判空isEmpty和判满isFull 模拟实现栈 push入栈 pop出栈和peek 测试 使用泛型实现栈 测试 使用链表实现栈&#xff08…

怎么减少pdf的MB,怎么减少pdf的大小

在数字化时代,pdf文件因其格式稳定、跨平台兼容性强等特点而广受欢迎。然而,随着内容的丰富,pdf文件的大小也日益增大,给文件传输和存储带来了不少困扰。本文将为你介绍多种减小pdf文件大小的方法,帮助你轻松应对这一问…

跳表的简单学习

跳表(SkipList)学习 1. 什么是跳表? 基于“空间换时间”思想,通过给链表建立索引,使得链表能够实现二分查找。 跳表是可以实现二分查找的有序链表。 2. 从单链表到跳表 对于一般的单链表,在其中进行查…

c语言指针超详解——入门篇

文章目录 前言1. 内存与地址内存编址 2. 指针变量和地址取地址操作符 &指针变量和解引用操作符 *指针变量解引用操作符指针变量的大小 3. 指针变量类型的意义指针的解引用指针-整数void* 指针 4. const 修饰指针const 修饰指针指向的变量const 修饰指针变量 5. 指针运算指针…

本地部署,AnimeGANv3: 将现实世界照片转化为动漫风格

目录 引言 技术背景 架构与原理 实验结果与分析 应用实例 本地部署 运行结果 Photo to Hayao Style Photo to Shinkai Style more suprise 支持多种风格 结论 参考文献 GitHub - TachibanaYoshino/AnimeGANv3: Use AnimeGANv3 to make your own animation works, …

智驭数据:深剖朴素贝叶斯算法及其实战疆域拓展

在浩瀚的数据海洋中,机器学习如同一艘智能航船,引领我们探索未知的知识岛屿。而在这艘船的诸多算法装备中,朴素贝叶斯(Naive Bayes)算法以其简洁高效、逻辑清晰的特点,成为了处理分类问题的一把利器。本文将…

软件测试——web单功能测试

工作职责: 1.负责产品系统测试,包括功能测试、性能测试、稳定性测试、用户场景测试、可靠性测试等。 2.负责测试相关文档的编写,包括测试计划、测试用例、测试报告等。 3.负责自动化测试框架、用例的维护。 岗位要求: 1.熟练…

集成excel工具:自定义导入回调监听器、自定义类型转换器、web中的读

文章目录 I 封装导入导出1.1 定义工具类1.2 自定义读回调监听器: 回调业务层处理导入数据1.3 定义文件导入上下文1.4 定义回调协议II 自定义转换器2.1 自定义枚举转换器2.2 日期转换器2.3 时间、日期、月份之间的互转2.4 LongConverterIII web中的读3.1 使用默认回调监听器3.2…

JavaSE——集合框架二(4/6)-Map集合的遍历方式(键找值,键值对,Lambda)、Map集合案例(需求与分析,问题解决)

目录 Map集合的遍历方式 键找值 键值对 Lambda Map集合案例 需求与分析 问题解决 Map集合的遍历方式 键找值 先获取Map集合全部的键,再通过遍历键来找值。 键值对 把“键值对”看成一个整体进行遍历(较为复杂) Lambda JDK 1.8 开…

构建GitLab代码私有仓库

构建代码私有仓库 公司代码仓库一般都放在git上,但为了安全一般都不会放在开放的git上,都会搭建自己的仓库,今天就记录一下git搭建的过程。以下安装过程以centos7为例: 步骤一:安装并配置依赖项,同时打开ht…

iPhone 16 Pro系列将标配潜望镜头:已开始生产,支持5倍变焦

ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 7月6日消息,据DigiTimes最新报道,苹果将在iPhone 16 Pro中引入iPhone 15 Pro Max同款5倍光学变焦四棱镜潜望镜头。 报道称,目前苹果已经将模组订单交至大立光电和玉…

带权重的随机选择算法

最终的结果是left的索引 代表大于等于target的最小索引, 用左边界的二分搜索原因是,如果没有目标值,left大于或者等于target class Solution {private int[] preSum;private Random randnew Random();public Solution(int[] w) {//写前缀和…

OpenGL笔记九之彩色三角形与重心插值算法

OpenGL笔记九之彩色三角形与重心插值算法 —— 2024-07-07 晚上 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记九之彩色三角形与重心插值算法1.运行3.main.cpp 1.运行 3.main.cpp 代码 #include <iostream>#define DEBUG//注意&#xff1a;glad…

推荐一款uniapp拖动验证码插件

插件地址&#xff1a;易盾验证码 - DCloud 插件市场 具体使用方式访问插件地址自行获取

2024.7.9.小组汇报postman分享会

文章目录 一、前言&#xff08;零&#xff09;安装&#xff08;一&#xff09;界面导航说明&#xff08;二&#xff09;发送第一个请求 二、基本功能&#xff08;一&#xff09;常见类型的接口请求(常见的接口有如下四种类型&#xff1a;1.查询参数的接口请求&#xff08;1&…

Java02--基础概念

一、注释 注释是在程序指定位置添加的说明性信息 简单理解&#xff0c;就是对代码的一种解释 1.单行注释 格式: //注释信息 2.多行注释 格式: /*注释信息*/ 3.文档注释 格式: /**注释信息*/ 注释使用的细节: 注释内容不会参与编译和运…

Linux 命令 —— top命令(查看进程资源占用)

文章目录 top 命令显示信息介绍top 命令使用 top 命令显示信息介绍 top 命令是 Linux/Unix 系统中常用的进程监控工具&#xff0c;可以实时动态显示系统中各个进程的资源占用情况&#xff0c;包括CPU、内存等。 进入 linux 系统&#xff0c;直接输入 top&#xff0c;回车&…

51单片机STC89C52RC——18.1 HC-SR04超声波测距

目的/效果 独立按键K1按下后开始测距&#xff0c;LCD显示距离&#xff08;mm&#xff09; 一&#xff0c;STC单片机模块 二&#xff0c;HC-SR04 超声波测距 2.1 HC-SR04 简介 HC-SR04超声波测距模块提供2cm~400cm的测距功能&#xff0c;精度达3mm。 2.2 时序 以上时序图表明…

HCIA学习笔记(6)-ACL+NAT

ACL&#xff1a;访问控制列表 访问控制-------在路由器的入或者出接口上&#xff0c;匹配流量&#xff0c;之后产生动作-----只有允许或拒绝 定义感兴趣流量------帮助其他策略去抓流量 匹配规则&#xff1a;至上而下&#xff0c;逐一匹配&#xff0c;上条匹配按照上条执行&…