东方通 TongRDS V2 配置与开机自启指南及 Spring Boot 集成

东方通 TongRDS V2 配置与开机自启指南及 Spring Boot 集成

文章目录

  • 东方通 TongRDS V2 配置与开机自启指南及 Spring Boot 集成
      • 一 简述
      • 二 配置 cfg.xml
        • 1 启用密码访问
        • 2 Spring Boot 连接 TongRDS
      • 三 配置 TongRDS 开机自启
        • 1 配置 RdsCenter
          • 1)设置 RdsCenter.service 执行权限
          • 2)新增 RdsCenter.service
          • 3)启动 RdsCenter 服务
        • 2 配置 RdsNode
          • 1)设置 RdsNode.service 执行权限
          • 2)新增 RdsNode.service
          • 3 启动 RdsNode 服务
      • 四 检查日志
      • 五 其他启动方式
        • 1 启动 RDS 服务节点
        • 2 启动中心节点
      • 六 查看端口

本文详细介绍了如何配置和管理东方通 TongRDS V2,这是一个兼容 Redis 协议的高性能缓存系统。首先,通过修改 cfg.xml 配置文件来启用密码保护,确保安全性。然后,提供了如何在 Spring Boot 项目中连接 TongRDS 的示例配置。接着,文章展示了如何通过 systemd 配置 RdsCenter 和 RdsNode 服务实现开机自动启动,并详细讲解了各个服务的启停与日志检查。最后,用户可以通过端口检查命令确保服务正常运行。这篇指南适合需要在国产信创环境下部署和管理 TongRDS 的开发者与运维人员。

预备课

Docker 安装与配置:从入门到部署

Docker 安装与配置 Redis 实践指南

一 简述

TongRDS V2 是一个高性能的缓存系统,兼容 Redis 协议。它支持分布式部署,能够处理大规模数据和高并发访问,提供类似 Redis 的键值对存储和数据操作方式。TongRDS V2 保留了 Redis 的核心特性,如快速读写、数据持久化等,同时通过优化提升了系统的可扩展性和稳定性,非常适合对性能要求高的缓存场景。当前测试环境:

操作系统CPU 架构
麒麟 V10c86

二 配置 cfg.xml

通过修改 pmemdb/etc/cfg.xml 文件中的配置,启用密码访问功能。

1 启用密码访问
<?xml version="2.0" encoding="UTF-8"?>
<Server><Common><!-- 运行时模式,默认为debug --><RuntimeModel>debug</RuntimeModel><!-- 数据转储次数,默认10 --><DataDump>${Server.Common.DataDump:10}</DataDump><!-- 是否追加数据转储,默认false --><DataDumpAppending>${Server.Common.DataDumpAppending:false}</DataDumpAppending><!-- 启动等待时间,默认5秒 --><StartWaiting>${Server.Common.StartWaiting:5}</StartWaiting><!-- 服务类型,默认WebSession --><Service>${Server.Common.Service:WebSession}</Service><!-- 最大键长度,默认1m --><MaxKeyLength>${Server.Common.MaxKeyLength:1m}</MaxKeyLength><!-- 最大值长度,默认10m --><MaxValueLength>${Server.Common.MaxValueLength:10m}</MaxValueLength></Common><Log><!-- 日志级别可以是 nothing, error, warn, info, debug, dump --><!-- 默认是 error --><Level>${Server.Log.Level:error}</Level><!-- 日志保留天数,默认30天 --><BackDates>${Server.Log.BackDates:30}</BackDates></Log><Listen><!-- 监听端口,默认6200 --><Port>6200</Port><!-- 线程数,默认8 --><Threads>8</Threads><!-- 最大连接数,默认1000 --><MaxConnections>${Server.Listen.MaxConnections:1000}</MaxConnections><!-- backlog值,默认1024 --><Backlog>1024</Backlog><!-- 安全模式:0 = telnet,1 = SSL,2 = password,3 = SSL + password,默认是1 --><Secure>${Server.Listen.Secure:2}</Secure><!-- 连接密码,默认32位随机字符串 --><Password>${Server.Listen.Password:一串默认长度的32位字符串}</Password><!-- Redis的明文密码选项,默认true --><RedisPlainPassword>true</RedisPlainPassword><!-- Redis服务端口,默认6379 --><RedisPort>6379</RedisPort><!-- Redis密码,可填写你喜欢的明文密码 --><RedisPassword>这里填写你喜欢的明文密码</RedisPassword></Listen><!-- 可访问的Tables数,默认1 --><Tables>1</Tables><TableTemplate><!-- 块数,默认4 --><Blocks>${Server.TableTemplate.Blocks:4}</Blocks><!-- 行数,默认0 --><Rows>${Server.TableTemplate.Rows:0}</Rows><!-- 键格式,默认bytes2,最大长度100 --><Key>bytes2, 100</Key><!-- 值格式,默认variable,最大长度0 --><Value>variable, 0</Value><!-- 索引数,默认0 --><Indexes>0</Indexes><Sync><!-- 列表同步次数,默认1 --><ListNumbers>${Server.TableTemplate.Sync.ListNumbers:1}</ListNumbers><!-- 列表长度,默认10000 --><ListLength>${Server.TableTemplate.Sync.ListLength:10000}</ListLength></Sync></TableTemplate>
</Server>
2 Spring Boot 连接 TongRDS

在 Spring Boot 项目中,TongRDS 与 Redis 的连接配置方式相同,可以复用相同的连接方法。

spring:redis:database: 0host: 192.168.0.1port: 6379password: 你的密码

三 配置 TongRDS 开机自启

1 配置 RdsCenter

参考 /pcenter/bin 中的 RdsCenter.service 配置修改。

1)设置 RdsCenter.service 执行权限
vim /etc/systemd/system/RdsCenter.service
sudo chmod +x /etc/systemd/system/RdsCenter.service
2)新增 RdsCenter.service
[Unit]
Description=RDS Center Service[Service]
Type=simple
ExecStart=/home/yourpath/pcenter/bin/StartCenter.sh
ExecStop=/bin/kill -SIGTERM $MAINPID
TimeoutSec=6
RestartSec=1
Restart=always[Install]
WantedBy=multi-user.target 

移动文件 RdsCenter.service

cp RdsCenter.service /etc/systemd/system/
# 修改为可执行权限
chmod +x /etc/systemd/system/RdsCenter.service
3)启动 RdsCenter 服务
sudo systemctl daemon-reload
sudo systemctl enable RdsCenter
sudo systemctl start RdsCenter
sudo systemctl stop RdsCenter
sudo systemctl status RdsCenter
2 配置 RdsNode

参考 pmemdb/bin 中的 RdsNode.service 配置修改。

1)设置 RdsNode.service 执行权限
vim /etc/systemd/system/RdsNode.service
sudo chmod +x /etc/systemd/system/RdsNode.service
2)新增 RdsNode.service
[Unit]
Description=RDS Node Service
After=RdsCenter.service[Service]
Type=simple
ExecStart=/home/yourpath/pmemdb/bin/StartServer.sh
ExecStop=/bin/kill -SIGTERM $MAINPID
TimeoutSec=15
RestartSec=3
Restart=always[Install]
WantedBy=multi-user.target

移动文件 RdsCenter.service

cp RdsNode.service /etc/systemd/system/
# 修改为可执行权限
chmod +x /etc/systemd/system/RdsNode.service
3 启动 RdsNode 服务
sudo systemctl daemon-reload
sudo systemctl enable RdsNode
sudo systemctl start RdsNode
sudo systemctl stop RdsNode
sudo systemctl status RdsNode

四 检查日志

使用 journalctl 检查更详细的日志输出,以便诊断问题的根本原因:

sudo journalctl -u RdsCenter.service -b -n 50
sudo journalctl -u RdsNode.service -b -n 50

五 其他启动方式

1 启动 RDS 服务节点
# 启动 RDS 服务节点,使用 pmemdb/bin 目录下的 StartServer.sh 脚本
./StartServer.sh
# 停止 RDS 服务节点,使用 pmemdb/bin 目录下执行 StopServer.sh 脚本
./StopServer.sh
# 以后台服务形式启动
nohup ./StartServer.sh > /dev/null 2>&1 &
2 启动中心节点
# 启动中心节点,使用 pcenter/bin 目录下的 StartCenter.sh 脚本
./StartCenter.sh
# 停止中心节点,使用 pcenter/bin 目录下执行 StopCenter.sh 脚本。
./StopCenter.sh
# 以后台服务形式启动
nohup ./StartCenter.sh > /dev/null 2>&1 &

六 查看端口

TongRDS 启动时使用的端口较多,请检查端口配置,以便于设置防火墙规则。

netstat -lnpt

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

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

相关文章

100多种【基于YOLOv8/v10/v11的目标检测系统】目录(python+pyside6界面+系统源码+可训练的数据集+也完成的训练模型)

待更新(持续更新&#xff09;&#xff0c;早关注&#xff0c;不迷路............................................................................... 基于YOLOv8的车辆行人实时检测系统基于YOLOv10的车辆行人实时检测系统基于YOLOv11的车辆行人实时检测系统基于YOLOv8的农…

如何在UE5中创建加载屏幕(开场动画)?

第一步&#xff1a; 首先在虚幻商城安装好Async Loading Screen&#xff0c;并且在项目的插件中勾选好。 第二步&#xff1a; 确保准备好所需要的素材&#xff1a; 1&#xff09;开头的动画视频 2&#xff09;关卡加载图片 3&#xff09;准备至少两个关卡 第三步&#xff1a…

PythonExcel批量pingIP地址

问题&#xff1a; 作为一个电气工程师&#xff08;PLC&#xff09;&#xff0c;当设备掉线的时候&#xff0c;需要用ping工具来检查网线物理层是否可靠连接&#xff0c;当项目体量过大时&#xff0c;就不能一个手动输入命令了。 解决方案一&#xff1a; 使用CMD命令 for /L %…

Es全文检索

全文检索 将非结构化数据中的一部分信息提取出来&#xff0c;重新组织&#xff0c;使其变得有一定结构&#xff0c;然后对此有一定结构的数据进行搜索&#xff0c;从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息&#xff0c;我们称之索引。 …

二百六十八、Kettle——同步ClickHouse清洗数据到Hive的DWD层静态分区表中(每天一次)

一、目的 实时数仓用的是ClickHouse&#xff0c;为了避免Hive还要清洗数据&#xff0c;因此就直接把ClickHouse中清洗数据同步到Hive中就行 二、所需工具 ClickHouse&#xff1a;clickhouse-client-21.9.5.16 Kettle&#xff1a;kettle9.2 Hadoop&#xff1a;hadoop-3.1.3…

现代框架开发官网

一、项目背景 维护过 灵犀官网、企业邮官网、免费邮官网 均使用 jquery webpack多页面打包的方式 开发起来较为繁琐 新的官网项目&#xff0c;想使用现代前端框架&#xff0c;但SPA应用不利于SEO 使用SSR方案又依赖运维&#xff0c;增加维护和沟通成本 二、SSG vs 预渲染 S…

视频网站开发:Spring Boot框架的高效实现

5 系统实现 5.1用户信息管理 管理员管理用户信息&#xff0c;可以添加&#xff0c;修改&#xff0c;删除用户信息信息。下图就是用户信息管理页面。 图5.1 用户信息管理页面 5.2 视频分享管理 管理员管理视频分享&#xff0c;可以添加&#xff0c;修改&#xff0c;删除视频分…

linux线程 | 同步与互斥 | 全解析信号量、环形生产消费者模型

前言: 本节内容讲述linux下的线程的信号量&#xff0c; 我们在之前进程间通信那里学习过一部分信号量&#xff0c; 但是那个是systemV版本的信号量&#xff0c;是以进程间通信的视角谈的。 但是本篇内容会以线程的视角谈一谈信号量。 ps&#xff1a;本篇内容建议学习了生产者消…

Qml-Item的Id生效范围

Qml-Item的Id生效范围 前置声明 本实例在Qt6.5版本中做的验证同一个qml文件中&#xff0c;id是唯一的&#xff0c;即不同有两个相同id 的Item;当前qml文件中声明的id在当前文件中有效&#xff08;即如果其它组件中传入的id&#xff0c;与当前qml文件中id 相同&#xff0c;当前…

国庆旅游高峰期,如何利用可视化报表来展现景区、游客及消费数据

国庆黄金周&#xff0c;作为国内旅游市场的年度盛宴&#xff0c;总是吸引着无数游客的目光。今年&#xff0c;随着旅游市场的强劲复苏&#xff0c;各大景区又再次迎来游客流量的高峰。全国国内出游7.65亿人次&#xff0c;同比增长5.9%&#xff0c;国内游客出游总花费7008.17亿元…

Java | Leetcode Java题解之第485题最大连续1的个数

题目&#xff1a; 题解&#xff1a; class Solution {public int findMaxConsecutiveOnes(int[] nums) {int maxCount 0, count 0;int n nums.length;for (int i 0; i < n; i) {if (nums[i] 1) {count;} else {maxCount Math.max(maxCount, count);count 0;}}maxCou…

一起搭WPF架构之livechart的MVVM使用介绍

一起搭WPF架构之livechart使用介绍 前言ModelViewModelView界面设计界面后端 效果总结 前言 简单的架构搭建已经快接近尾声了&#xff0c;考虑设计使用图表的形式将SQLite数据库中的数据展示出来。前期已经介绍了livechart的安装&#xff0c;今天就详细介绍一下livechart的使用…

前三章例题【现代控制理论】

【现代控制理论-状态空间方程能观性分解】https://www.bilibili.com/video/BV1KU4y1N7jV?p17&vd_source3cc3c07b09206097d0d8b0aefdf07958

2024CSP-J模拟赛9————S12678

一&#xff0c;赛中得分 T1100T2100T350T440总分290 二&#xff0c;赛中概括 T1T2较快过&#xff0c;T3T4骗了90分&#xff08;意料之中&#xff0c;这么好骗分&#xff01;&#xff01;&#xff01;&#xff09;。 三&#xff0c;题目解析 涂格子(paint) 问题描述 现在有…

前端Socket互动小游戏开发体验分享

随着实时网络通信技术的不断发展&#xff0c;基于WebSocket的前端互动小游戏成为了一种非常流行的选择。WebSocket允许客户端和服务器之间进行双向通信&#xff0c;为游戏互动带来了更快的响应时间和更流畅的体验。本文将通过一个简单的互动小游戏来探讨前端如何利用WebSocket技…

LeetCode 19 - 删除链表的倒数第N个节点

题目描述 给你一个链表&#xff0c;删除链表的倒数第 N 个节点&#xff0c;并且返回链表的头结点。 例如&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]解题思路 我们可以使用双指针的方法来解决这个问题。主要思路是使用两个指针fsat和…

如何下载3GPP协议?

一、进入3GPP网页 https://www.3gpp.org/ 二、点击“Specifications &Technologies” 三、点击“FTP Server” 网址&#xff1a; https://www.3gpp.org/specifications-technologies 四、找到“latest”&#xff0c;查看最新版 网址&#xff1a; https://www.3gpp.org/ftp…

Python 多线程学习与使用

Python 多线程学习与使用 目录 引言&#xff1a;为什么需要多线程&#xff1f;Python中的线程基础 2.1 什么是线程&#xff1f; 2.2 Python的threading模块 2.3 创建和启动线程线程同步与互斥 3.1 竞态条件 3.2 锁&#xff08;Lock&#xff09; 3.3 可重入锁&#xff08;RLoc…

【jQuery】jQuery 处理 Ajax 以及解决跨域问题的方式

文章目录 HTTP原生创建 AjaxjQuery 处理 Ajax$.ajax()$().load()$.get()$.post() 跨域CORSJSONPiframeweb sockets HTTP 超文本传输协议&#xff08;HTTP&#xff0c;HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计 HTTP 最初的目的是为了提供一种发…

计算机网络易混知识点

1.以太网采用曼彻斯特编码&#xff1b;以太网帧最短为64B&#xff0c;其中14个B首部(目的MAC-6B&#xff0c;源MAC-6B&#xff0c;类型-2B)4B尾部 2.OSI协议中&#xff0c;每一层为上一层提供服务&#xff0c;为下一层提供接口 3.帧序号的比特数表示的是发送窗口的大小&#…