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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Flutter】列表流畅性优化

前言 在日常APP的开发中&#xff0c;列表是使用频率最高的&#xff0c;这里讲述在Flutter中优化列表的滑动速度与流畅度&#xff0c;以来提高用户的体验。 方案 1、使用ListView.builder代替ListView ListView.builder在创建列表的时候要比ListView更高效&#xff0c;因为L…

Pyramid 中混合认证策略

1. 问题背景 在一个使用 Pyramid 框架开发的应用程序中&#xff0c;需要同时处理 HTML 内容的显示和 JSON API 的请求。对于 HTML 内容&#xff0c;使用了 AuthTktAuthenticationPolicy 进行身份验证和 ACLAuthorizationPolicy 进行授权。当用户成功登录后&#xff0c;会在浏览…

sql拉链表

1、定义&#xff1a;维护历史状态以及最新数据的一种表 2、使用场景 1、有一些表的数据量很大&#xff0c;比如一张用户表&#xff0c;大约1亿条记录&#xff0c;50个字段&#xff0c;这种表 2.表中的部分字段会被update更新操作&#xff0c;如用户联系方式&#xff0c;产品的…

【哈尔滨二级等保测评需要测哪些指标】

为了保证系统的安全性、稳定性和遵从性&#xff0c;哈尔滨二级等保评估要求对评估指标进行全面的评估。下面就是对哈尔滨等保二级考核所需要的考核指标的具体说明&#xff0c;并按各个维度分点表达与总结&#xff1a; 一、物理安全要求 物理安全是信息系统的根本&#xff0c;…

kubeadm kubectl kubelet区别

kubeadm kubeadm 是一个方便易用的 Kubernetes 工具&#xff0c;能够部署生产级别的 Kubernetes 集群kubeadm 还具有了和 minikube 一样的易用性&#xff0c;只要很少的几条命令&#xff0c;如 init、join、upgrade、reset 就能够完成 Kubernetes 集群的管理维护工作&#xff…

简述设计模式-工厂模式

概述 工厂模式是为了提供创建对象的方式&#xff0c;无需制定要创建的具体类。 举个例子&#xff0c;假如我是甲方需要制造一辆车&#xff0c;我可以要油车&#xff0c;可以要电车&#xff0c;也可以油电混动车&#xff0c;如果没有工厂&#xff0c;我需要自己找到对应的制造…

免费可视化工具如何提升智慧物流管理效率

在现代智慧物流中&#xff0c;免费可视化工具正扮演着越来越重要的角色。这些工具通过数据的可视化展示&#xff0c;使物流管理更加高效、透明和智能化。免费可视化工具可以将复杂的物流数据转换为直观的图表和图形&#xff0c;帮助管理者实时监控和分析物流运作情况&#xff0…

贪心+后缀和,CF 1903C - Theofanis‘ Nightmare

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1903C - Theofanis Nightmare 二、解题报告 1、思路分析 我们任意一种分组其实都是若干个后缀和相加 比如我们分成了三组&#xff0c;第一组的数被加了一次&#xff0c;第二组的数被加了两次&#xff0c;第…

解锁IDEA中Git/SVN Issue Navigation功能:80%程序员都不懂的秘密武器~

文章目录 前言什么是 Git Issue Navigation&#xff1f;配置 Git Issue Navigation1. 打开设置2. 导航到 Issue Navigation 设置3. 添加新的 Issue Navigation 规则具体示例配置 使用 Git Issue Navigation在提交信息中使用 Issue ID实际导航到连接 优点1. 快速定位问题2. 提高…

消防认证-防火卷帘

一、消防认证 消防认证是指消防产品符合国家相关技术要求和标准&#xff0c;且通过了国家认证认可监督管理委员会审批&#xff0c;获得消防认证资质的认证机构颁发的证书&#xff0c;消防产品具有完好的防火功能&#xff0c;是住房和城乡建设领域验收的重要指标。 二、认证依据…

【UE 网络】专用服务器和多个客户端加入游戏会话的过程,以及GameMode、PlayerController、Pawn的创建流程

目录 0 引言1 多人游戏会话1.1 Why&#xff1f;为什么要有这个1.2 How&#xff1f;怎么使用&#xff1f; 2 加入游戏会话的流程总结 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xff1a;【UE 网络】在网络…

西南交通大学【算法分析与设计实验1】

实验1.4 有向图拓扑排序 实验目的 &#xff08;1&#xff09;掌握算法的自然语言描述法&#xff0c;流程图绘制方法以及伪代码描述方法。 &#xff08;2&#xff09;理解算法的执行过程。 &#xff08;3&#xff09;掌握算法的编程实现方法、调试方法及测试方法。 实验任务…

AcWing 1256:扩展二叉树

【题目来源】https://www.acwing.com/problem/content/1258/【题目描述】 由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树&#xff0c;所以对二叉树做如下处理&#xff0c;将二叉树的空结点用 补齐&#xff0c;如图所示。 我们把这样处理后的二叉树称为原二叉树…

智谱AI: ChatGLM API的使用

一、获取API 1、打开网址&#xff1a;智谱AI开放平台 注册账号登录 2、登录&#xff0c;查看API key (注册后赠送100万token&#xff0c;实名认证后多赠送400万, 有效期一个) 二、安装及调用 安装质谱SDK pip install zhipuai调用方式 流式调用 from zhipuai import ZhipuA…

Vulkan学习——渲染3D模型

摘要&#xff1a;本文简要描述了Vulkan渲染一个3D模型需要做的事情&#xff0c;不会对太细节的内容进行深究。   关键字&#xff1a;Vulkan,Render,3D 源码 1 简介 1.1 Vulkan简介 Vulkan是一个低开销、跨平台的二维、三维图形与计算的应用程序接口&#xff08;API&#x…

鸿蒙开发Ability Kit(程序访问控制):【使用粘贴控件】

使用粘贴控件 粘贴控件是一种特殊的系统安全控件&#xff0c;它允许应用在用户的授权下无提示地读取剪贴板数据。 在应用集成粘贴控件后&#xff0c;用户点击该控件&#xff0c;应用读取剪贴板数据时不会弹窗提示。可以用于任何应用需要读取剪贴板的场景&#xff0c;避免弹窗…

基于MATLAB对线阵天线进行泰勒加权

相控阵天线——基于MATLAB对线阵进行泰勒加权 目录 前言 一、泰勒综合 二、单元间距的改变对泰勒阵列方向图的影响 三、单元数的改变对泰勒阵列激励分布的影响 四、副瓣电平SLL对泰勒阵列激励幅度的影响 五、副瓣电平SLL对泰勒阵列方向图的影响 六、泰勒阵列和切比雪夫阵…

Qt Creator13配置Android开发环境

QT Creator13是目前&#xff08;2024年&#xff09;最新版本&#xff0c;配置Android开发环境有一些不一样&#xff0c;走了一些弯路&#xff0c;记录如下。 1、安装JDK和SDK 下载安装JDK和SDK&#xff0c;建议安装在无空格和中文字符的目录下。 具体安装步骤不再赘述&#…

Python基础003

Python流程控制基础 1.条件语句 内置函数input a input("请输入一段内容&#xff1a;") print(a) print(type(a))代码执行的时候遇到input函数&#xff0c;就会等键盘输入结果&#xff0c;已回车为结束标志&#xff0c;也就时说输入回车后代码才会执行 2.顺序执行…

看完这篇文章你就知道什么是未来软件开发的方向了!即生成式AI在软件开发领域的革新=CodeFlying

从最早的UGC&#xff08;用户生成内容&#xff09;到PGC&#xff08;专业生成内容&#xff09;再到AIGC&#xff08;人工智能生成内容&#xff09;体现了web1.0→web2.0→web3.0的发展历程。 毫无疑问UGC已经成为了当前拥有群体数量最大的内容生产方式。 同时随着人工智能技术…