TLQ-CN10.0.2.0 (TongLINK/Q-CN 集群)部署指引 (by lqw)

文章目录

安装准备

虚拟机部署

1.准备相关安装包

2.jdk版本要求17或以上。

部署zk集群

安装zk集群

每台服务器关闭防火墙后,解压安装包(以安装在home为例):

bash 复制代码
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

主要是配置以下内容:

bash 复制代码
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,如下所示:

bash 复制代码
#节点 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 节点:

bash 复制代码
cd /home/zk
bin/tong-daemon start zookeeper

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

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

可以在conf目录的pulsar_env.sh和bkenv.sh里增加这一段代码:

bash 复制代码
if [[ $JAVA_MAJOR_VERSION -ge 17 ]]; then
  ZGC_OPTS="-XX:+UseZGC"
else
  ZGC_OPTS=""
fi


如果遇到这种报错:

确认以下几点即可

1.各个节点之间是否能telnet通对应的端口(日志里提示的是3888)

2.执行以下指令确认节点正常运行:

bash 复制代码
cd /home/zk
bin/tong zookeeper-shell
ls /

如下所示即为正常,可以ctrl +c退出。

原因:

集群里zk节点启动的时候,是会有启动的快慢的区别的,先启动的zk节点去识别其他节点的时候,如果没识别到,也会有这种报错,之后会重连进行识别。

如需停止 Zookeeper 节点,分别在 3 个节点所在机器的/home/zk 目录下运行以下命令停止 Zookeeper 节点:

bash 复制代码
cd /home/zk
bin/tong-daemon stop zookeeper
初始化元数据(zk)

在任意一台已部署 Zookeeper 的服务器上,进入/home/zk 目录,执行以下命令,初始化元数据:

bash 复制代码
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集群
bash 复制代码
cd /home/zk
bin/tong-daemon stop zookeeper

部署BookKeeper集群

安装BookKeeper集群

执行以下指令:

bash 复制代码
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
bash 复制代码
cd /home/bk
bin/tong-daemon start bookie

启动后可以分别在每个节点执行以下指令进行测试

bash 复制代码
bin/bookkeeper shell bookiesanity

如下图所示为测试成功:

停止 BookKeeper
bash 复制代码
cd /home/bk
bin/tong-daemon stop bookie

部署Brokers集群

安装Brokers集群
bash 复制代码
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
bash 复制代码
cd /home/broker/
bin/tong-daemon start broke

检查节点(${clusterName}替换为配置文件里配置的集群名)

bash 复制代码
cd /home/broker
 bin/tong-admin brokers list ${clusterName}


停止 broker
bash 复制代码
cd /home/broker
bin/tong-daemon stop broker

zk集群可用性测试(需要把上面的zk+bk+broker安装完再测)

bash 复制代码
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目录执行

bash 复制代码
cd /home/zk
bin/tong-client produce \
persistent://public/default/test \
-n 1 \
-m "Hello Pulsar"

另启一个窗口,执行

bash 复制代码
cd /home/zk
bin/tong-client consume \
persistent://public/default/test \
-n 100 \
-s "consumer-test" \
-t "Exclusive"
相关推荐
阿俊-全栈开发5 小时前
LikeShop 单商户SaaS商城分销模块二开:佣金计算与结算逻辑实现
java·开发语言·微服务·likeshop·likeshop开源商城·likeshop多商户
Lsetea7 小时前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
wuminyu8 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
优化Henry8 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信
代码方舟8 小时前
数据科学风控实战:基于天远全能消金报告构建自动化信用评估网关
运维·人工智能·自动化
科力锐品牌君8 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
KaiwuDB8 小时前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
福建佰胜张工9 小时前
A5E00839230西门子工业核心配件详解:参数、安装调试与故障运维全攻略
运维·网络·安全·自动化
Lancker9 小时前
chnroute-linux — 中国大陆 IP 段每日自动更新 + 「仅允许国内访问」落地
linux·运维·tcp/ip
辻弋2019 小时前
【无标题】
大数据·服务器·前端·搜索引擎·开源软件