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,一经查实,立即删除!

相关文章

1.什么是js?特点是什么?组成部分?

Js是一种直译式脚本语言&#xff0c;一种动态类型&#xff0c;弱类型&#xff0c;基于原型的高级语言。 直译式&#xff1a;js程序运行过程中直接编译成机器语言。 脚本语言&#xff1a;在程序运行过程中逐行进行解释说明&#xff0c;不需要预编译。 动态类型&#xff1a;js…

C++:静态函数的作用

在C中&#xff0c;静态函数&#xff08;static 函数&#xff09;的作用主要是限定该函数的可见性和链接性&#xff0c;而不是直接关联于函数的返回类型或参数列表&#xff08;尽管你提到了static int()这样的形式&#xff0c;这里的static是修饰函数本身的&#xff0c;而不是in…

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

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

javascript Reflect.has作用

JavaScript中的Reflect.has()方法用于检查一个属性是否存在于对象中。它的作用类似于 in 运算符&#xff0c;但是作为函数形式提供&#xff0c;更适合在某些需要函数调用的上下文中使用&#xff0c;尤其是在函数式编程风格中。Reflect.has()方法接收两个参数&#xff1a; targ…

采集网关iGR-1700产品组成与集成

采集网关iGR-1700作为国瑞iGR-IMS数据综合管理系统的一个重要组成部分&#xff0c;其产品组成与集成主要体现在以下几个方面&#xff1a; 一、产品组成 iGR-1700数据采集网关主要用于生产数据的采集。具体而言&#xff0c;它能够&#xff1a; 1. 自动化提取数据&#xff1a;…

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() 函数检测重复的行 返回元素为布尔类…

2025年大数据专业毕设必过选题

一、Hive数据仓库相关选题 基于hive的太原共享单车数据分析与实现&#xff08;难度系数&#xff1a;⭐⭐⭐&#xff09; 基于Hive的外汇交易数据分析与研究&#xff08;难度系数&#xff1a;⭐⭐&#xff09; 基于hive的垃圾分类大数据可视化&#xff08;难度系数&#xff1…

如何下载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

什么是浏览器指纹识别?

一段时间以来&#xff0c;网络隐私一直是一个持续存在的问题。如何保持匿名、保护数据并使其真正成为隐私&#xff1f;我们大多数人都使用 VPN 和代理网络来使我们的虚拟生活更加安全。这是一个不错的想法&#xff0c;但它真的有用吗&#xff1f; 是的&#xff0c;在一定程度上…

信息学奥赛初赛天天练-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;佰德将对可燃气体报警…

Linux 搭建 sftp 服务器详解

&#xff08;首发地址&#xff1a;学习日记 https://www.learndiary.com/2024/07/sftp/&#xff09; 朋友们&#xff0c;大家好。我是淘宝网“学习日记小店”从事 Linux 服务的 learndiary。今天给大家分享 Linux 搭建 sftp 服务器的一些经验&#xff0c;对其中初学者可能会犯…

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

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

主干网络篇 | YOLOv5/v7 更换骨干网络之 MobileNetV3 | 基于神经网络搜索的轻量级网络

主干网络篇 | YOLOv5/v7 更换骨干网络之 MobileNetV3 | 基于神经网络搜索的轻量级网络 1. 简介 近年来&#xff0c;深度卷积神经网络&#xff08;CNN&#xff09;在图像识别、目标检测等领域取得了巨大进展。然而&#xff0c;随着模型复杂度的不断提升&#xff0c;模型训练和…

贡献WebKit:成为开源Web引擎的建设者

&#x1f31f; 贡献WebKit&#xff1a;成为开源Web引擎的建设者 WebKit是一个开源的浏览器引擎&#xff0c;被用于多个流行的浏览器和应用程序中&#xff0c;包括Safari、Mail、App Store等。为WebKit贡献代码不仅是对开源社区的贡献&#xff0c;也是提升个人技术实力的绝佳机…

❤ Gitee平台的使用

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