TLQ-CN10.0.2.0 (TongLINK/Q-CN 集群)部署指引 (by lqw)
文章目录
- 安装准备
- 虚拟机部署
- 部署zk集群
- 安装zk集群
- 启动zk集群
- 初始化元数据(zk)
- 关闭zk集群
- 部署BookKeeper集群
- 安装BookKeeper集群
- 初始化元数据(bk)
- 启动BookKeeper
- 停止 BookKeeper
- 部署Brokers集群
- 安装Brokers集群
- 启动 broker
- 停止 broker
- zk集群可用性测试(需要把上面的zk+bk+broker安装完再测)
安装准备
虚拟机部署
1.准备相关安装包

2.jdk版本要求17或以上。
部署zk集群
安装zk集群
每台服务器关闭防火墙后,解压安装包(以安装在home为例):
cd /home
tar -zvxf install_TLQ-CN-ALL_10.0.2.0.tar.gz
mv TLQ-CN zk
## 如果想要用普通用户安装,保险起见可以设置一下属组,其中这里的tlqcn就是普通用户,也就是本次使用的安装用户
chown -R tlqcn:tlqcn /home/zk
cd /home/zk/conf
vi zookeeper.conf
主要是配置以下内容:

dataDir=/home/zk/data
dataLogDir=/home/zk/logs
server.1=192.168.10.119:2888:3888;2181
server.2=192.168.10.120:2888:3888;2181
server.3=192.168.10.121:2888:3888;2181

如果 Zookeeper 与 BookKeeper 在同一台虚拟机上部署,metricsProvider.httpPort=自定义端口号,不要使用 8000

之后每台服务器或者虚拟机上新建刚刚配置的logs目录和data目录,新建myid,如下所示:
#节点 1:
echo 1 >/home/zk/data/myid
#节点 2:
echo 2 >/home/zk/data/myid
#节点 3:
echo 3 >/home/zk/data/myid
启动zk集群
弄好后分别在 3 个节点所在服务器的/home/zk 目录下运行以下命令启动 Zookeeper 节点:
cd /home/zk
bin/tong-daemon start zookeeper

启动后可以看看 这个日志文件有没有报错信息:

如果遇到这种报错(尤其是用jdk17的时候):

可以在conf目录的pulsar_env.sh和bkenv.sh里增加这一段代码:
if [[ $JAVA_MAJOR_VERSION -ge 17 ]]; thenZGC_OPTS="-XX:+UseZGC"
elseZGC_OPTS=""
fi


如果遇到这种报错:

确认以下几点即可
1.各个节点之间是否能telnet通对应的端口(日志里提示的是3888)
2.执行以下指令确认节点正常运行:
cd /home/zk
bin/tong zookeeper-shell
ls /
如下所示即为正常,可以ctrl +c退出。

原因:
集群里zk节点启动的时候,是会有启动的快慢的区别的,先启动的zk节点去识别其他节点的时候,如果没识别到,也会有这种报错,之后会重连进行识别。
如需停止 Zookeeper 节点,分别在 3 个节点所在机器的/home/zk 目录下运行以下命令停止 Zookeeper 节点:
cd /home/zk
bin/tong-daemon stop zookeeper
初始化元数据(zk)
在任意一台已部署 Zookeeper 的服务器上,进入/home/zk 目录,执行以下命令,初始化元数据:
bin/tong initialize-cluster-metadata \
--cluster tlq-cn \
--metadata-store zk:192.168.10.119:2181,192.168.10.120:2181,192.168.10.121:2181 \
--configuration-metadata-store zk:192.168.10.119:2181,192.168.10.120:2181,192.168.10.121:2181 \
--web-service-url http://192.168.10.119:8080,192.168.10.120:8080,192.168.10.121:8080 \
--broker-service-url pulsar://192.168.10.119:6650,192.168.10.120:6650,192.168.10.121:6650

关闭zk集群
cd /home/zk
bin/tong-daemon stop zookeeper
部署BookKeeper集群
安装BookKeeper集群
执行以下指令:
cd /home
tar -zvxf install_TLQ-CN-ALL_10.0.2.0.tar.gz
mv TLQ-CN bk
cd /home/bk/conf
#每个节点都要编辑
vi bookkeeper.conf
#找到以下配置进行配置advertisedAddress=192.168.10.119
zkServers=192.168.10.119:2181,192.168.10.120:2181,192.168.10.121:2181
journalDirectory=/home/bk/data/journal
ledgerDirectories=/home/bk/data/ledgers
prometheusStatsHttpPort=7000
httpServerEnabled=false
licenseIps=192.168.10.118:8888
licensePublicKey=


其中licensePublicKey得通过license server控制台获取秘钥。
初始化元数据(bk)
之后在 3 个节点中的任意一个节点的/home/bk 目录下执行 bin/bookkeeper shell metaformat 初始化元数
据,遇到提示按“y”,只需执行一次。

输出结果:

启动BookKeeper
cd /home/bk
bin/tong-daemon start bookie

启动后可以分别在每个节点执行以下指令进行测试
bin/bookkeeper shell bookiesanity
如下图所示为测试成功:

停止 BookKeeper
cd /home/bk
bin/tong-daemon stop bookie
部署Brokers集群
安装Brokers集群
cd /home
tar -zvxf install_TLQ-CN-ALL_10.0.2.0.tar.gz
mv TLQ-CN broker
cd /home/broker/conf
vi broker.conf
#检查和配置以下内容metadataStoreUrl=zk:192.168.10.119:2181,192.168.10.120:2181,192.168.10.121:2181
configurationMetadataStoreUrl=zk:192.168.10.119:2181,192.168.10.120:2181,192.168.10.121:2181
brokerServicePort=6650
webServicePort=8080
advertisedAddress=192.168.10.121
clusterName=tlq-cn
licenseIps=192.168.10.118:8888
licensePublicKey=


启动 broker
cd /home/broker/
bin/tong-daemon start broke

检查节点(${clusterName}替换为配置文件里配置的集群名)
cd /home/brokerbin/tong-admin brokers list ${clusterName}


停止 broker
cd /home/broker
bin/tong-daemon stop broker
zk集群可用性测试(需要把上面的zk+bk+broker安装完再测)
cd /home/zk
vi conf/client.conf
#检查和配置以下内容
webServiceUrl=http://192.168.10.119:8080,192.168.10.120:8080,192.168.10.121:8080
brokerServiceUrl=pulsar://192.168.10.119:6650,192.168.10.120:6650,192.168.10.121:6650
保存后在bin目录执行
cd /home/zk
bin/tong-client produce \
persistent://public/default/test \
-n 1 \
-m "Hello Pulsar"

另启一个窗口,执行
cd /home/zk
bin/tong-client consume \
persistent://public/default/test \
-n 100 \
-s "consumer-test" \
-t "Exclusive"

相关文章:
TLQ-CN10.0.2.0 (TongLINK/Q-CN 集群)部署指引 (by lqw)
文章目录 安装准备虚拟机部署部署zk集群安装zk集群启动zk集群初始化元数据(zk)关闭zk集群 部署BookKeeper集群安装BookKeeper集群初始化元数据(bk)启动BookKeeper停止 BookKeeper 部署Brokers集群安装Brokers集群启动 broker停止 …...
第 14 天:UE5 C++ 与蓝图(Blueprint)交互!
🎯 目标: ✅ 了解 C 与蓝图(Blueprint)交互的方式 ✅ 在 C 中调用蓝图函数 ✅ 让蓝图访问 C 变量和方法 ✅ 使用 UFUNCTION、UPROPERTY 进行蓝图暴露 ✅ 提高开发效率,让 C 和蓝图开发者高效协作 1️⃣ 为什么要让 C…...
小初高各学科教材,PDF电子版下载
链接:https://pan.quark.cn/s/7c2125f648e2 小初高中电子课本资料pdf合集 高中各科教材 (部分举例) - 语文:新人教版、旧人教版、苏教版等 - 数学:人教A版、沪教版、鄂教版等 - 英语:重大版、人教版…...
Trader Joe‘s EDI 需求分析
Trader Joes成立于1967年,总部位于美国加利福尼亚州,是一家独特的零售商,专注于提供高质量且价格合理的食品。公司经营范围涵盖了各类杂货、冷冻食品、健康食品以及独特的本地特色商品。 EDI需求分析 电子数据交换(EDIÿ…...
python class详解
在 Python 中,class 是用来创建新的数据类型,即对象的蓝图。类可以包含属性(变量)和方法(函数),它们定义了对象的状态和行为。以下是 Python 类的基本概念和用法的详细解释: 定义类…...
基于LVS负载均衡练习
对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势。 NAT模式,全称是网络地址转换模式。NAT模式下,负载均衡器(Director)会修改请求和响应的IP地址。客户端的请求先到达Director,Director将请…...
在 rtthread中,rt_list_entry (rt_container_of) 已知结构体成员的地址,反推出结构体的首地址
rt_list_entry (rt_container_of)宏定义: /*** rt_container_of - return the start address of struct type, while ptr is the* member of struct type.*/ #define rt_container_of(ptr, type, member) \((type *)((char *)(ptr) - (unsigned long)(&((type *…...
数组_二分查找
数组_二分查找 一、leetcode-572二、题解1.代码2.思考 一、leetcode-572 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则…...
VUE环境搭建
node.js安装 node npm – node Package Management 安装完成后,需要设置: npm config set prefix "D:\nodejs"注意:“D:\nodejs” 此处为自己安装的node.js路径。管理员身份运行 切换镜像源 npm config set registry https://r…...
MATLAB图像处理:Sobel、Roberts、Canny等边缘检测算子
边缘是图像中像素值剧烈变化的区域,反映了目标的轮廓、纹理等关键信息。边缘检测是图像分割、目标识别等任务的基础。本文将系统解析 六种经典边缘检测算子 的数学原理、实现方法及适用场景,并给出完整的MATLAB代码示例和对比分析。 1. 边缘检测基础 1…...
C++ 标准库常见容器
容器类型类型分类特点示例代码vector序列容器动态数组,支持随机访问,末尾操作效率高std::vector v {1, 2, 3}; v.push_back(4);deque序列容器双端队列,支持两端操作和随机访问std::deque d {1, 2, 3}; d.push_front(0);list序列容器双向链表…...
Ubuntu+Laravel+MQ+Supervisor队列系统搭建流程
1、安装MQ环境 sudo apt install -y rabbitmq-server sudo systemctl enable rabbitmq-server --now 2、进入laravel项目,安装MQ队列驱动 composer require vladimir-yuldashev/laravel-queue-rabbitmq 3、配置 .env QUEUE_CONNECTIONrabbitmq RABBITMQ_HOST12…...
力扣100. 相同的树(利用分解思想解决)
Problem: 100. 相同的树 文章目录 题目描述思路Code 题目描述 思路 题目要求判断两个二叉树是否完全相同,而此要求可以利用问题分解的思想解决,即判断当前节点的左右子树是否完全相同,而在二叉树问题分解的一般题目中均会带有返回值ÿ…...
全面了解HTTP(一)
全面了解HTTP(二)-CSDN博客 web及网络基础 使用HTTP协议访问web: HTTP: 网络基础TCP/IP 与HTTP关系密切的协议:IP,TCP,DNS 负责域名解析的DNS服务 各种协议与HTTP协议的关系 URI和URL 简单的HTTP协议 HTTP协议用于客户端和服…...
element-ui时间组件同一个月内选择/30天内选择
element-ui时间组件同一个月内选择/30天内选择 同一个月 <el-date-picker v-model"time" type"datetimerange"range-separator"至" start-placeholder"开始时间"value-format"timestamp" :picker-options"pickerO…...
NO.18十六届蓝桥杯备战|循环嵌套|乘法表|斐波那契|质数|水仙花数|(C++)
循环嵌套 循环嵌套的使⽤ while , do while , for ,这三种循环往往会嵌套在⼀起才能更好的解决问题,就是我们所说的:循环嵌套。这三种循环都可以任意嵌套使⽤ ⽐如: 写⼀个代码,打印⼀个乘法⼝…...
深入浅出Java反射:掌握动态编程的艺术
小程一言反射何为反射反射核心类反射的基本使用获取Class对象创建对象调用方法访问字段 示例程序应用场景优缺点分析优点缺点 注意 再深入一些反射与泛型反射与注解反射与动态代理反射与类加载器 结语 小程一言 本专栏是对Java知识点的总结。在学习Java的过程中,学习…...
大模型被偷家?CNN结合多模态!
2025深度学习发论文&模型涨点之—— CNN多模态 卷积神经网络是一种特殊类型的神经网络,其主要结构包括卷积层、池化层、全连接层和输出层。卷积层通过卷积操作学习图像的特征,池化层通过下采样操作减少参数数量,全连接层和输出层通过分类…...
UI自动化测试的优缺点?
优点 • 提高测试效率:可以快速地重复执行测试用例。例如,对于一个有大量表单需要验证的网页应用,自动化测试可以在短时间内完成多次输入检查,而手动测试则会花费大量时间。 • 保证测试一致性:每次执行测试的步骤和…...
在 Kubernetes (K8s) 环境中,备份 PostgreSQL 数据库
在 Kubernetes (K8s) 环境中,备份 PostgreSQL 数据库有一些特殊的考虑,因为数据库通常运行在容器中,并且数据存储在卷(如 PersistentVolume)中。你可以通过几种方式在外部备份 PostgreSQL 数据库,下面是一些…...
Hitboxer:游戏键位重映射终极解决方案,告别操作冲突困扰
Hitboxer:游戏键位重映射终极解决方案,告别操作冲突困扰 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏对战中,因为同时按下相反方向键而导致操作混乱&…...
C语言实战:辗转相除法实现分数约分
1. 从生活场景理解分数约分 记得小时候第一次学分数时,老师总让我们把分数化成最简形式。比如6/8要写成3/4,当时觉得这就像给分数"减肥"一样有趣。其实在编程世界里,我们也经常需要处理类似的"分数减肥"问题,…...
保姆级教程:用PCL的ProgressiveMorphologicalFilter搞定机载LiDAR点云地面提取(附完整代码)
从零实现机载LiDAR点云地面提取:PCL渐进形态学滤波实战指南 在三维地理信息处理中,机载LiDAR点云的地面点提取是生成数字高程模型(DEM)的关键步骤。面对包含建筑物、植被等复杂地物的城市场景点云数据,渐进形态学滤波&…...
如何用douyin-downloader一键批量下载抖音视频:免费高效完整指南
如何用douyin-downloader一键批量下载抖音视频:免费高效完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fall…...
探索Taotoken模型广场如何帮助开发者快速进行模型选型与测试
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 探索Taotoken模型广场如何帮助开发者快速进行模型选型与测试 对于需要集成大模型能力的开发者而言,面对市场上众多厂商…...
终极AI斗地主助手:DouZero_For_HappyDouDiZhu完整使用指南
终极AI斗地主助手:DouZero_For_HappyDouDiZhu完整使用指南 【免费下载链接】DouZero_For_HappyDouDiZhu 基于DouZero定制AI实战欢乐斗地主 项目地址: https://gitcode.com/gh_mirrors/do/DouZero_For_HappyDouDiZhu 还在为斗地主胜率低而烦恼吗?想…...
实测 Taotoken 多模型聚合服务的响应延迟与稳定性观感
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测 Taotoken 多模型聚合服务的响应延迟与稳定性观感 作为一名需要频繁调用大模型 API 的开发者,服务的响应速度和稳定…...
STM32新手避坑指南:正点原子、野火、慧净、小马飞控的Systick延时函数到底差在哪?
STM32开发板Systick延时函数深度对比:从原理到避坑实战 第一次接触STM32开发时,我对着四块不同品牌的开发板愣了半天——正点原子、野火、慧净、小马飞控,每家的例程里Systick延时函数实现都不一样。有的用72MHz时钟,有的用9MHz&a…...
5分钟学会像素艺术创作:Pixelorama智能精灵图切割让你的游戏开发效率翻倍
5分钟学会像素艺术创作:Pixelorama智能精灵图切割让你的游戏开发效率翻倍 【免费下载链接】Pixelorama Unleash your creativity with Pixelorama, a powerful and accessible open-source pixel art multitool. Whether you want to create sprites, tiles, animat…...
终极指南:4步让老旧Mac完美运行最新macOS系统
终极指南:4步让老旧Mac完美运行最新macOS系统 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为2011年的MacBook Pro或2012年的iMac无法…...
