2025年腾讯消息队列CMQ部署与验证

腾讯消息队列CMQ部署与验证root node 66 cmq backserver grep oss config txt oss 172 16 66 198 172 16 67 224 oss 192 168 1 110 修改 IP 搜索修改 monitor 确定 barad IP

大家好,我是讯享网,很高兴认识大家。

[root@node_66 cmq_backserver]# grep oss config.txt

#oss=172.16.66.198 172.16.67.224

oss=192.168.1.110

腾讯消息队列CMQ部署与验证
讯享网

修改IP:

腾讯消息队列CMQ部署与验证

搜索修改monitor:

腾讯消息队列CMQ部署与验证

确定barad IP monitor的IP需要改为barad的IP

[root@node_66 cmq_backserver]# grep barad config.txt

barad=192.168.1.202

baradIp=192.168.1.202

腾讯消息队列CMQ部署与验证

完成结果:

=====

腾讯消息队列CMQ部署与验证

CMQ使用:

======

新建仓库:

新建仓库使用的是access节点IP grep access config.txt

http://[ip]/cmq-manager/zone

[root@node_66 simple_demo]# grep access /opt/tmp/cmq_backserver/config.txt

access=192.168.1.160 192.168.1.202

腾讯消息队列CMQ部署与验证

腾讯消息队列CMQ部署与验证

创建结果:

腾讯消息队列CMQ部署与验证

两个主题仓库,操作一样,端口不变,ip用另一个access节点的ip

创建集群:

=====

腾讯消息队列CMQ部署与验证

腾讯消息队列CMQ部署与验证

配置结果

腾讯消息队列CMQ部署与验证

向 queue添加节点

===========

添加节点首先添加前置机

192.168.1.66

腾讯消息队列CMQ部署与验证

向topoc添加节点

==========

腾讯消息队列CMQ部署与验证

初始化推送节点

=======

腾讯消息队列CMQ部署与验证

初始化推送节点使用 pushServer ip

[root@node_66 simple_demo]# grep pushServer /opt/tmp/cmq_backserver/config.txt

pushServer=192.168.1.160

端口 50012

[这个图丢了 方法一样的 过滤出来改为初始化节点IP接可以了]

腾讯消息队列CMQ部署与验证

添加接入层注册access [也是pushserver节点IP]

==================================

添加队列

[root@node_66 simple_demo]# grep pushServer /opt/tmp/cmq_backserver/config.txt

pushServer=192.168.1.160

腾讯消息队列CMQ部署与验证

[root@node_66 simple_demo]# grep access /opt/tmp/cmq_backserver/config.txt

access=192.168.1.160 192.168.1.202

腾讯消息队列CMQ部署与验证

添加主题:

腾讯消息队列CMQ部署与验证

添加完成后如图:

腾讯消息队列CMQ部署与验证

添加节点后 出现版本号才算成功

添加完成后,直到 出现版本号 才算注册成功,多在运营端刷新一下会发现版本号出现,这个版本号可能需要10-30分钟出现,基于服务器配置

信令服务器添加

=======

腾讯消息队列CMQ部署与验证

创建队列:

=====

http://IP/cmq/index

腾讯消息队列CMQ部署与验证

腾讯消息队列CMQ部署与验证

进入 SDK 目录

=========

#先得到nameserver ip

[root@node_66 simple_demo]# grep nameserver /opt/tmp/cmq_backserver/config.txt

nameserverVip=192.168.1.202

#解压python_sdk_private.tar.gz文件,然后进入解压的 sdk/simple_demo/ 目录下,修改cmq_sample_queue.py 文件

[root@node_66 opt]# cd /root/v1.0.0/SDK/

[root@node_66 SDK]# tar xf python_sdk_private.tar.gz

[root@node_66 simple_demo]# cd /root/v1.0.0/SDK/sdk/simple_demo

#替换为nameserver的IP 这个IP通过网页上的信令服务器管理中看到的 namserver ip地址

[root@node_66 simple_demo]#

sed -i “s/^nameserver =.*/nameserver = ‘http://192.168.1.202’/” /root/v1.0.0/SDK/sdk/simple_demo/cmq_sample_queue.py

腾讯消息队列CMQ部署与验证

执行以下命令替换创建的queue的名称,这里刚创建的是queue_test

sed -i “s/^queue_name=.*/queue_name=‘queue’/” cmq_sample_queue.py

腾讯消息队列CMQ部署与验证

向队列发送消息:

python ./cmq_sample_queue.py

然后通过页面查看发送消息状态:

腾讯消息队列CMQ部署与验证

测试主题模式

======

同样先在客户端新建主题,添加订阅者,然后进入控制台

http://ip/cmq/topic?rid=1

腾讯消息队列CMQ部署与验证

腾讯消息队列CMQ部署与验证

腾讯消息队列CMQ部署与验证

进入 simple_demo/ 目录下,执行以下命令修改参数,参数来源和队列一样

cd /root/v1.0.0/SDK/

cd /root/v1.0.0/SDK/sdk/simple_demo

#查询

[root@node_66 simple_demo]# grep nameserver /opt/tmp/cmq_backserver/config.txt

nameserverVip=192.168.1.202

#修改

sed -i “s/^nameserver =.*/nameserver = ‘http://192.168.1.202’/” /root/v1.0.0/SDK/sdk/simple_demo/cmq_sample_topic.py

[root@node_66 simple_demo]# grep 'nameserver = ’ /root/v1.0.0/SDK/sdk/simple_demo/cmq_sample_topic.py

nameserver = ‘http://192.168.1.202’

执行以下命令修改topic的名称,这里刚创建的是topic

vim /root/v1.0.0/SDK/sdk/simple_demo/cmq_sample_topic.py

找到:topic_name =“topic”

改为:topic_name =“topic”

[root@node_66 simple_demo]# grep queue_name /root/v1.0.0/SDK/sdk/simple_demo/cmq_sample_queue.py

queue_name=‘queue’

my_queue = my_account.get_queue(queue_name)

执行命令向主题发送信息,Ctrl+C停止 python ./cmq_sample_topic.py

python ./cmq_sample_topic.py

测试:

腾讯消息队列CMQ部署与验证

此时去看服务器堆积是否正常

腾讯消息队列CMQ部署与验证

压力测试

====

在部署机节点安装压测工具

yum install httpd-tools -y

进入simple_demo目录下

cd /root/v1.0.0/SDK/sdk/simple_demo

先修改sendmsg.txt的queueName和appid

echo ‘clientRequestId=&Nonce=37&Timestamp=&msgBody=my_message+is+&uin=0&Action=SendMessage&SignatureMethod=HmacSHA1&appId=1&delaySeconds=0&queueName=queue&RequestClient=SDK_Python_1.3’ >sendmsg.txt

其中queueName=test 就是队列名称:queue

所以需要改为

再修改batchsendmsg.txt的queueName和appid

执行压测,nameserver-ip进行替换 ,命令不能执行请先安装工具: yum install -y httpd-tools

压测时应该选择 barad 的IP 进行压测,grep barad /opt/tmp/cmq_backserver/config.txt

ab -k -n -c 500 -p sendmsg.txt -T application/json “http://192.168.1.202/v2/index.php”

appid查询:

http://192.168.1.66/cmq-manager/queue?rid=1&userAppId=1

appId=1

Name=queue

腾讯消息队列CMQ部署与验证

清空队列:

腾讯消息队列CMQ部署与验证

卸载ACCESS

========

#!/bin/sh

Host Login Info

user=sed '/^user=/!d;s/.*=//' $1 | sed 's/\r//g'

passwd=sed '/^passwd=/!d;s/.*=//' $1 | sed 's/\r//g'

sshPort=sed '/^sshPort=/!d;s/.*=//' $1 |sed 's/\r//g'

DB Info

dbhost=sed '/^dbhost=/!d;s/.*=//' $1 | sed 's/\r//g'

dbport=sed '/^dbport=/!d;s/.*=//' $1 | sed 's/\r//g'

dbuser=sed '/^dbuser=/!d;s/.*=//' $1 | sed 's/\r//g'

dbpasswd=sed '/^dbpasswd=/!d;s/.*=//' $1 | sed 's/\r//g'

Component IP List

cmq_nameserver=sed '/^routeProxy=/!d;s/.*=//' $1 | sed 's/\r//g'

cmq_access=sed '/^access=/!d;s/.*=//' $1 | sed 's/\r//g'

cmq_moni=sed '/^monitor=/!d;s/.*=//' $1 | sed 's/\r//g'

#cmq_moni2=sed '/^monitor2=/!d;s/.*=//' $1 | sed 's/\r//g'

cmq_master=sed '/^master=/!d;s/.*=//' $1 | sed 's/\r//g'

#cmq_master2=sed '/^master2=/!d;s/.*=//' $1 | sed 's/\r//g'

cmq_oss=sed '/^oss=/!d;s/.*=//' $1 | sed 's/\r//g'

cmq_publisher=sed '/^pushServer=/!d;s/.*=//' $1 | sed 's/\r//g'

cmq_broker=sed '/^broker=/!d;s/.*=//' $1 | sed 's/\r//g'

Barad Info

barad=sed '/^barad=/!d;s/.*=//' $1 | sed 's/\r//g'

ctsdb=sed '/^ctsdb=/!d;s/.*=//' $1 | sed 's/\r//g'

jvmMem=sed '/^jvmMem=/!d;s/.*=//' $1 | sed 's/\r//g'

indexTtl=sed '/^indexTtl=/!d;s/.*=//' $1 | sed 's/\r//g'

metricTtl=sed '/^metricTtl=/!d;s/.*=//' $1 | sed 's/\r//g'

yum= b a r a d " " barad" " barad""ctsdb

baradList=${barad// /,}

ctsdbList=${ctsdb// /,}

Some Vip

nameserverVip=sed '/^nameserverVip=/!d;s/.*=//' $1 | sed 's/\r//g'

baradIp=sed '/^baradIp=/!d;s/.*=//' $1 | sed 's/\r//g'

ctsdbIp=sed '/^ctsdbIp=/!d;s/.*=//' $1 | sed 's/\r//g'

ctsdbVport=sed '/^ctsdbVport=/!d;s/.*=//' $1 | sed 's/\r//g'

Directory Of Component

targetDir=sed '/^targetDir=/!d;s/.*=//' $1 | sed 's/\r//g'

packageTmpDir=‘/opt/cmqTmp/’

packageDir=pwd’/package’

for moduleName in cmq_oss cmq_moni cmq_master cmq_broker cmq_access cmq_nameserver cmq_publisher yum barad ctsdb;

#for moduleName in cmq_access;

#for moduleName in barad;

#for moduleName in cmq_publisher;

#for moduleName in cmq_moni;

#for moduleName in ctsdb;

#for moduleName in cmq_master;

#for moduleName in cmq_nameserver;

#for moduleName in cmq_oss;

#for moduleName in cmq_broker;

do

iplist=eval echo '$'"$moduleName"

for host in $iplist;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。

很多人担心学了容易忘,这里教你一个方法,那就是重复学习。

打个比方,假如你正在学习 spring 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。

从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。

很多人担心学了容易忘,这里教你一个方法,那就是重复学习。

打个比方,假如你正在学习 spring 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。

从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。

[外链图片转存中…(img-jaU05e3t-69)]

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

小讯
上一篇 2025-01-18 16:58
下一篇 2025-03-19 23:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/65186.html