TongRDS2214手动部署版指引(by lqw+sy)

文章目录

    • 前言
    • 准备工作
    • 单机版
    • 集群版
    • 哨兵版
    • 多个中心节点配置

前言

由于一些特殊原因(例如服务器没有联网,没有办法直接更新和下载unzip指令,从而导致控制台版本安装节点之后,会报file not found的错误,或者使用不了rds的控制台等等因素),有时需要用到手动部署来部署RDS,而RDS手动部署版对于刚接触的新手来说相对会比较麻烦,所以开一个帖子作为指引。

准备工作

1.安装jdk,配置好jdk环境变量。

2.准备好安装包和授权文件,其中TongRDS-2.2.1.4.MC.tar.gz为中心节点,TongRDS-2.2.1.4.Node.tar.gz为服务节点。
在这里插入图片描述
这两个安装包解压后,会得到以下两个目录。
在这里插入图片描述
其中pmemdb就是服务节点,pcenter就是中心节点。

3.确定用哪种模式的rds服务。本次涉及到三种模式的rds服务:单机版,集群版和哨兵版。

4.单机版只需要一个中心节点和一个服务节点(最低配置)。

5.集群版需要一个中心节点和一个分片(分片里至少两个服务节点,一个主节点一个从节点),可配置多个中心节点和多个分片,本次示范一个中心节点三个分片的配置。

6.哨兵版需要一个中心节点,一个哨兵节点和两个服务节点(最低配置),可配置多个中心节点和哨兵节点,服务节点,本次示范一个中心节点,三个哨兵节点三个服务节点,其中哨兵节点可以用服务节点进行配置。
7.如需配置密码和多个中心节点,会单独起一个章节来说,先尝试不设置密码和配置多个中心节点的情况下运行成功再去配置。

单机版

单机版需要一个中心节点和一个服务节点,其中TongRDS-2.2.1.4.MC.tar.gz为中心节点,TongRDS-2.2.1.4.Node.tar.gz为服务节点。

找一个目录解压以下两个安装包,一般解压后会得到以下两个目录:
在这里插入图片描述

tar -zvxf TongRDS-2.2.1.4.MC.tar.gz
tar -zvxf TongRDS-2.2.1.4.Node.tar.gz

其中pmemdb就是服务节点,pcenter就是中心节点。

将授权文件放入到pcenter下:
在这里插入图片描述

进入到pcenter里,修改中心节点配置文件(pcenter/etc/cluster.properties)
在这里插入图片描述

改成这样(需要检查对应服务器的6200端口是否被占用,是的话改成其他端口)
在这里插入图片描述
其中webservice.node0=服务器ip

WebService.type=default
WebService.nodes=1
WebService.node0=192.168.10.7:6200

检查一下pcenter/etc/sync.properties(单节点的话使用默认配置也行,主要是检查端口有没有冲突,默认用的6300)
在这里插入图片描述
修改pmemdb下的dynamic.xml配置文件,这里的port要跟上图pcenter/etc/sync.properties里的端口一致:
在这里插入图片描述
在这里插入图片描述
host为服务器ip,port建议用6300,除非端口占用。

检查一下pmemdb/etc/cfg.xml,看看里面的端口是否被占用(例如6379是redis连接端口),以及是否和pcenter的cluster.properties对应。

在这里插入图片描述
cluster.properties对应的部分:
在这里插入图片描述

pcenter/bin 下面是启动中心节点的脚本, StartCenter.sh 和 StopCenter.sh 为linux 下启停脚本(如果没有执行权限,可使用 chmod +x 命令赋执行权限,这两个脚本不能后台运行,所以建议接下来使用后台启动脚本)。
在这里插入图片描述

 sh RestartCenter.sh

启动服务节点使用 pmemdb/bin 目录下的 StartServer.sh 脚本,在 bin 目录下执行此脚本。因为使用中心节点管理授权问题,node 节点可以不单独引入自己的(这个脚本不能后台运行,所以建议接下来使用后台启动脚本)。

     sh RestartServer.sh

启动后,可以查看安装目录的logs下的日志文件,并且使用脚本连接上6379(redis连接端口,配置在pmemdb的cfg.xml下)
使用pmemdb/bin/Client.sh客户端连接,验证是否成功:

./Client.sh -p -r 6379

在这里插入图片描述

集群版

集群版跟其他版本最大的区别在于是否有分片(下图圈起来的就是分片,每个分片的第一个ip就是分片里的主节点)。
在这里插入图片描述

请解压好一个中心节点,六个服务节点(也就是一个pcenter,六个pmemdb)。
本次案例三台服务器ip分别为:192.168.10.9,192.168.10.29,192.168.10.30,其中192.168.10.9为中心节点安装目录。

如果多个服务节点在同一个目录,每解压一个pmemdb,改一下名字,不然会被之后解压的覆盖的。
在这里插入图片描述
pcenter放入授权。
在这里插入图片描述
检查一下pcenter/etc/sync.properties(使用默认配置也行,主要是检查端口有没有冲突,默认用的6300)
在这里插入图片描述

到pcenter的安装目录的etc目录,找到cluster.propeities,修改成这样
在这里插入图片描述

WebSession.type=cluster
WebSession.shards=3
WebSession.shard0.nodes=192.168.10.9:6200,192.168.10.9:6201
WebSession.shard0.slots=0-4999
WebSession.shard1.nodes=192.168.10.29:6202,192.168.10.29:6203
WebSession.shard1.slots=5000-10000
WebSession.shard2.nodes=192.168.10.30:6204,192.168.10.30:6205
WebSession.shard2.slots=10001-16383

WebSession.type配成cluster,意思是配置成集群,WebSession.shards意思是要用几个分片,这里配了三个分片,下面的就是每个分片里,用了哪几个节点。

留意一下,cluster.properties里面这个websession跟每个pmemdb/etc/cfg.xml里的一致:
在这里插入图片描述

三台服务器分别进入到/pmemdb1/etc和/pmemdb2/etc目录下,对cfg.xml里边的配置文件进行编辑,三台机器六个服务节点对应的端口号概不能冲突,修改内容参考之前修改的cluster.propeities和下面的参考配置:

10.9服务节点1(示范,redis连接端口6379):
在这里插入图片描述

10.9服务节点2(示范,redis连接端口6380):
在这里插入图片描述
其余服务器的根据上面的进行参考和配置就行,主要注意同一台服务器里端口别被占用。

配置完后,每一个pmemdb的etc下的dynamic.xml配置一下中心节点的信息(参考一下:pcenter/etc/sync.properties里的端口,ip就不要配localhost了,用回pcenter所在服务器的ip)
在这里插入图片描述
在这里插入图片描述
配置完后,启动一下pcenter和pmemdb。

pcenter/bin 下面是启动中心节点的脚本, StartCenter.sh 和 StopCenter.sh 为linux 下启停脚本(如果没有执行权限,可使用 chmod +x 命令赋执行权限,这两个脚本不能后台运行,所以建议接下来使用后台启动脚本)。
在这里插入图片描述

 sh RestartCenter.sh

启动服务节点使用 pmemdb/bin 目录下的 StartServer.sh 脚本,在 bin 目录下执行此脚本。因为使用中心节点管理授权问题,node 节点可以不单独引入自己的(这个脚本不能后台运行,所以建议接下来使用后台启动脚本)。

     sh RestartServer.sh

启动后,可以查看安装目录的logs下的日志文件,并且使用脚本连接上6379(redis连接端口,配置在pmemdb的cfg.xml下)
使用pmemdb/bin/Client.sh客户端连接,验证是否成功:

./Client.sh -p -r 6379

在这里插入图片描述

另外集群模式跟其他模式不同的在于,还可以使用cluster nodes查看节点信息,如下图所示:
在这里插入图片描述

哨兵版

本次示范使用ip地址10.222.12.77,10.222.12.105,10.222.12.161作为示范,使用一个中心节点,三个服务节点作为服务节点,另外再使用三个服务节点作为哨兵节点进行配置(也就是需要一个pcenter,6个pmemdb,为了方便区分,哨兵节点的pmemdb会改名为pmemdb_shaobing)。

在这里插入图片描述

pcenter放入授权。
在这里插入图片描述
检查一下pcenter/etc/sync.properties(使用默认配置也行,主要是检查端口有没有冲突,默认用的6300)
在这里插入图片描述

到pcenter的安装目录的etc目录,找到cluster.propeities,修改成这样(其中77是主节点)

WebSession.type=sentinel
WebSession.nodes=3
WebSession.node0=10.222.12.77:6200
WebSession.node1=10.222.12.105:6200
WebSession.node2=10.222.12.161:6200

轮到pmemdb,每个pmemdb/etc/的cfg.xml都需检查以下两项内容(要和cluster.properties一致):
在这里插入图片描述

下图是cluster.properties的对应位置:
在这里插入图片描述
然后轮到每个pmemdb/etc/下的dynamic.xml(参考cluster.properties来配,其中center下配的是中心节点,endpoint下是cluster.properties里配的,要一致)

<?xml version="1.0" encoding="UTF-8"?><Server><Center><Password>454d51192b1704c60e19734ce6b38203</Password><EndPoint><Host>10.222.12.77</Host><Port>6300</Port></EndPoint></Center><Synchronize><EndPoint><Host>10.222.12.77</Host><Port>6200</Port></EndPoint><EndPoint><Host>10.222.12.105</Host><Port>6200</Port></EndPoint><EndPoint><Host>10.222.12.161</Host><Port>6200</Port></EndPoint></Synchronize>
</Server>

之后是每个pmemdb_shaobing/etc/下的sentinel.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server><Common><JmxUrl>localhost:29074</JmxUrl><MasterPolicy>node</MasterPolicy></Common><Log><!-- nothing, error, warn, info, debug, dump. ><    error is the default                      --><Level>warn</Level></Log><Listen><Port>26379</Port><Threads>4</Threads><!-- 0: telnet; 1: SSL; 2: password; 3: SSL + password. --><Secure>0</Secure><!-- <IsPlainPassword>true</IsPlainPassword>
--><!--        <Password>454d?51192b1704c60e19734ce6b38203</Password>--><!-- <Password>123</Password>
--></Listen><Center><Password>454d51192b1704c60e19734ce6b38203</Password><EndPoint><Host>10.222.12.77</Host><Port>6300</Port></EndPoint></Center><Sentinels><Sentinel><Host>10.222.12.77</Host><Port>26380</Port></Sentinel><Sentinel><Host>10.222.12.105</Host><Port>26379</Port>	</Sentinel><Sentinel><Host>10.222.12.161</Host><Port>26379</Port></Sentinel></Sentinels><Services><WebSession><!-- 0: telnet; 1: SSL; 2: password; 3: SSL + password. --><Secure>0</Secure><!--<IsPlainPassword>true</IsPlainPassword><Password>123</Password>
--><EndPoints>10.222.12.77:6379,10.222.12.105:6379,10.222.12.161:6379</EndPoints></WebSession></Services>
</Server>

备注:
1.sentinel.xml 的这两处要一致 (本次案例的77服务器里配的是26380,,其余用的都是26379)
在这里插入图片描述
在这里插入图片描述
endpoints里的端口需要跟cfg.xml上的一致
在这里插入图片描述
启动中心节点:

cd /opt/rds2214/pcenter/binsh RestartCenter.sh

查看中心节点安装目录logs目录日志
在这里插入图片描述
启动服务节点:

cd /opt/rds2214/pmemdb/bin
sh RestartServer.sh

查看服务节点安装目录logs目录下的日志文件和状态文件
在这里插入图片描述
在这里插入图片描述
启动哨兵节点

cd /opt/rds2214/pmemdb_shaobing/bin
sh RestartSentinel.sh

在这里插入图片描述
在这里插入图片描述
验证哨兵模式(26380是在每个pmemdb_shaobing/etc/下的sentinel.xml 下配的)
在这里插入图片描述

SENTINEL masters

查一下name是什么,如下图所示:
在这里插入图片描述
这里的 WebSession就是查出的name

#这里的 WebSession就是查出的name
SENTINEL slaves WebSession

在这里插入图片描述
在这里插入图片描述

多个中心节点配置

pmemdb/etc/dynamic.xml下進行配置:
在这里插入图片描述
设置密码

pmemdb/etc下的cfg.xml,找到这一块
在这里插入图片描述

修改成这样:

<Secure>2</Secure><Password>537cb0e6b7fbad3b75f2245e61b4d2e4</Password><RedisPort>6379</RedisPort><RedisPlainPassword>true</RedisPlainPassword><RedisPassword>123456</RedisPassword>

其中537cb0e6b7fbad3b75f2245e61b4d2e4就是123456加密后的密码,加密脚本在bin目录下:
在这里插入图片描述

./sM4.sh encrypt 要加密的密碼(尽量别用符号)

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

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

相关文章

(PC+WAP)高端大气的装修装潢公司网站模板

(PCWAP)高端大气的装修装潢公司网站模板PbootCMS内核开发的网站模板&#xff0c;该模板适用于装修公司网站、装潢公司网站等企业&#xff0c;当然其他行业也可以做&#xff0c;只需要把文字图片换成其他行业的即可&#xff1b;(PCWAP)&#xff0c;同一个后台&#xff0c;数据即…

Pandas实战秘籍:轻松驾驭重复值与异常值的处理艺术,让数据清洗更高效!

1.导包 import numpy as np import pandas as pd2.删除重复行 def make_df(indexs,columns):data [[str(j)str(i) for j in columns] for i in indexs]df pd.DataFrame(datadata,indexindexs,columnscolumns)return df使用 duplicated() 函数检测重复的行 返回元素为布尔类…

如何下载huggingface仓库里某一个文件

如何下载huggingface仓库里某一个文件&#xff1a; https://huggingface.co/PixArt-alpha/PixArt-Sigma/tree/main 直接用命令&#xff1a; wget https://huggingface.co/PixArt-alpha/PixArt-Sigma/resolve/main/PixArt-Sigma-XL-2-2K-MS.pth

信息学奥赛初赛天天练-42-CSP-J2020基础题-变量地址、编译器、逻辑运算、逻辑与运算、逻辑或运算、冒泡排序、递归应用

PDF文档公众号回复关键字:20240702 2020 CSP-J 选择题 单项选择题&#xff08;共15题&#xff0c;每题2分&#xff0c;共计30分&#xff1a;每题有且仅有一个正确选项&#xff09; 1.在内存储器中每个存储单元都被赋予一个唯一的序号&#xff0c;称为&#xff08; &#xff0…

VUE项目安全漏洞扫描和修复

npm audit 1、npm audit是npm 6 新增的一个命令,可以允许开发人员分析复杂的代码并查明特定的漏洞。 2、npm audit名称执行&#xff0c;需要包package.json和package-lock.json文件。它是通过分析 package-lock.json 文件&#xff0c;继而扫描我们的包分析是否包含漏洞的。 …

Polygon链的对接及使用

Polygon&#xff08;前身为Matic Network&#xff09;是一个基于以太坊的侧链&#xff0c;旨在解决以太坊网络拥堵和高昂 gas 费的问题。Polygon 使用侧链技术将交易从以太坊主网转移到自己的侧链上&#xff0c;从而提高交易速度和降低 gas 费。北京木奇移动技术有限公司&#…

Python语言接入关键词搜索商品api疑点解析

接入关键词搜索商品API通常需要以下步骤&#xff1a; 了解API文档&#xff1a;首先&#xff0c;你需要阅读API的文档&#xff0c;了解API的基本功能、请求方式&#xff08;GET、POST等&#xff09;、请求参数、返回数据格式等信息。 安装必要的库&#xff1a;根据API的要求&am…

使用Python绘制动态螺旋线:旋转动画效果

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame绘制螺旋线函数主循环 完整代码 引言 螺旋线是一个具有美学和数学魅力的图形。通过编程&#xff0c;我们可以轻松创建动态旋转的螺旋线动画。在这篇博客中&#xff0c;我们将使用Python和Pygame库来实现…

精准检测,守护安全:可燃气体报警器检测范围探讨

随着工业化进程的加快&#xff0c;易燃易爆气体的使用日益普遍&#xff0c;其安全隐患也愈发凸显。可燃气体报警器作为一种重要的安全监测设备&#xff0c;能够在气体泄漏时及时发出警报&#xff0c;预防火灾和爆炸事故的发生。 在这篇文章中&#xff0c;佰德将对可燃气体报警…

FPGA工程师有前途吗 ?FPGA崛起之路

全球 FPGA 市场规模犹如滚雪球般逐年扩大。 根据Gartner Group预测&#xff0c;2020-2026年全球FPGA市场规模从55.85亿美元增至96.9亿美元&#xff0c;年均复合增长率为9.6%。 众多国际知名科技企业&#xff0c;如赛灵思、Lattice等&#xff0c;纷纷加大在 FPGA 研发和应用方…

❤ Gitee平台的使用

Gitee平台的使用 文章目录 Gitee平台的使用一、Gitee的注册1、注册2、添加邮箱 二、仓库的创建 和 团队成员的添加1、单击右上角的 **&#xff0b;** 号 、创建仓库2、如下填写即可 三、仓库克隆到本地1、安装好git 和 小乌龟&#xff08;TortoiseGit&#xff09;2、打开仓库 复…

强化学习的数学原理:最优贝尔曼公式

大纲 贝尔曼最优公式是贝尔曼公式的一个特殊情况&#xff0c;但其也非常重要。 本节课很重要的两个概念和一个工具&#xff1a; 工具不用多说&#xff0c;就是贝尔曼最优公式&#xff0c;概念则是 optimal state value&#xff08;最优状态价值&#xff09; 和 optimal polic…

【博主推荐】HTML5实现简洁好看的个人简历网页模板源码

文章目录 1.设计来源1.1 主界面1.2 关于我界面1.3 工作经验界面1.4 学习教育界面1.5 个人技能界面1.6 专业特长界面1.7 朋友评价界面1.8 获奖情况界面1.9 联系我界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c…

2024 年江西省研究生数学建模竞赛题目 A题交通信号灯管理---完整文章分享(仅供学习)

问题&#xff1a; 交通信号灯是指挥车辆通行的重要标志&#xff0c;由红灯、绿灯、黄灯组成。红灯停、绿灯行&#xff0c;而黄灯则起到警示作用。交通信号灯分为机动车信号灯、非机动车信号灯、人行横道信号 灯、方向指示灯等。一般情况下&#xff0c;十字路口有东西向和南北向…

【深度学习】图生图img3img论文原理,SD EDIT

https://arxiv.org/abs/2108.01073 摘要 引导图像合成技术使普通用户能够以最小的努力创建和编辑逼真的图像。关键挑战在于平衡对用户输入&#xff08;例如&#xff0c;手绘的彩色笔画&#xff09;的忠实度和合成图像的真实感。现有的基于GAN的方法试图通过使用条件GAN或GAN反…

webpack源码深入--- webpack的编译主流程

webpack5的编译主流程 根据watch选项调用compiler.watch或者是compiler.run()方法 try {const { compiler, watch, watchOptions } create();if (watch) {compiler.watch(watchOptions, callback);} else {compiler.run((err, stats) > {compiler.close(err2 > {callb…

【最新】2024年全球汽车零部件供应商百强榜,15家中企上榜!

6月23日&#xff0c;《美国汽车新闻》&#xff08;Automotive News&#xff09;重磅发布了2024年全球汽车零部件供应商百强榜。来自中国的动力电池企业宁德时代挤进了前四&#xff0c;中国企业一共上榜15家&#xff0c;较去年多了两家。国轩高科和三花零件为新进榜单的中企。 …

WPF自定义控件,实现含有箭头的文本或内容控件

文章目录 背景效果预览方案设计分析基本布局添加控件自定义属性添加属性值监听获取点数据 全部代码HorizontalLineContent.xamlHorizontalLineContent.xaml.csDirectionAlignment.csContentDirectionAlignment.cs 使用方法 背景 因为项目开发需要&#xff0c;要在WPF上绘制TCP…

【neo4j图数据库】入门实践篇

探索数据之间的奥秘&#xff1a;Neo4j图数据库引领新纪元 在数字化浪潮汹涌的今天&#xff0c;数据已成为企业最宝贵的资产之一。然而&#xff0c;随着数据量的爆炸性增长和数据关系的日益复杂&#xff0c;传统的关系型数据库在处理诸如社交网络、推荐系统、生物信息学等高度互…

代码随想录算法训练营第四十一天| 322. 零钱兑换、279.完全平方数、139.单词拆分

322. 零钱兑换 题目链接&#xff1a;322. 零钱兑换 文档讲解&#xff1a;代码随想录 状态&#xff1a;能想到凑足总额为j - coins[i]的最少个数为dp[j - coins[i]]&#xff0c;但没想到加上一个钱币coins[i]即dp[j - coins[i]] 1就是dp[j]&#xff08;考虑coins[i]&#xff09…