当前位置: 首页 > news >正文

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 要加密的密碼(尽量别用符号)

相关文章:

  • 高考失利咨询复读,银河补习班客服开挂回复
  • TS_类型
  • [今日一水]论坛该如何选择
  • C++编程(八)多态
  • Java的全局异常处理代码
  • Qt入门教程(一):Qt使用的基本知识
  • SQL面试题练习 —— 查询前2大和前2小用户并有序拼接
  • Vue 与 React 区别
  • 选GPU运行
  • 大模型+多模态合规分析平台,筑牢金融服务安全屏障
  • React+TS 从零开始教程(4):useEffect
  • Qt中使用MySQL数据库详解,好用的模块类封装
  • 比较Java爬虫框架:哪个是最佳选择?
  • PostgreSQL 性能优化与调优(六)
  • Java核心知识(一):JVM
  • 【React系列】如何构建React应用程序
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Android开源项目规范总结
  • javascript从右向左截取指定位数字符的3种方法
  • Laravel Mix运行时关于es2015报错解决方案
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • mongo索引构建
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • passportjs 源码分析
  • PAT A1092
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue中实现单选
  • 闭包,sync使用细节
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 订阅Forge Viewer所有的事件
  • 翻译--Thinking in React
  • 后端_ThinkPHP5
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 王永庆:技术创新改变教育未来
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 整理一些计算机基础知识!
  • ​一些不规范的GTID使用场景
  • "无招胜有招"nbsp;史上最全的互…
  • #HarmonyOS:基础语法
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #数学建模# 线性规划问题的Matlab求解
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $forceUpdate()函数
  • (10)STL算法之搜索(二) 二分查找
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (九)One-Wire总线-DS18B20
  • (六)DockerCompose安装与配置
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (数位dp) 算法竞赛入门到进阶 书本题集