[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 monitor的IP需要改为barad的IP:
[root@node_66 cmq_backserver]# grep barad config.txt
barad=192.168.1.202
baradIp=192.168.1.202

完成结果:
=====

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


创建结果:

两个主题仓库,操作一样,端口不变,ip用另一个access节点的ip
创建集群:
=====


配置结果

向 queue添加节点
===========
添加节点首先添加前置机
192.168.1.66

向topoc添加节点
==========

初始化推送节点
=======

初始化推送节点使用 pushServer ip
[root@node_66 simple_demo]# grep pushServer /opt/tmp/cmq_backserver/config.txt
pushServer=192.168.1.160
端口 50012
[这个图丢了 方法一样的 过滤出来改为初始化节点IP接可以了]

添加接入层注册access [也是pushserver节点IP]
==================================
添加队列
[root@node_66 simple_demo]# grep pushServer /opt/tmp/cmq_backserver/config.txt
pushServer=192.168.1.160

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

添加主题:

添加完成后如图:

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

创建队列:
=====
http://IP/cmq/index


进入 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

执行以下命令替换创建的queue的名称,这里刚创建的是queue_test
sed -i “s/^queue_name=.*/queue_name=‘queue’/” cmq_sample_queue.py

向队列发送消息:
python ./cmq_sample_queue.py
然后通过页面查看发送消息状态:

测试主题模式
======
同样先在客户端新建主题,添加订阅者,然后进入控制台
http://ip/cmq/topic?rid=1



进入 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
测试:

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

压力测试
====
在部署机节点安装压测工具
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

清空队列:

卸载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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。


既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。
很多人担心学了容易忘,这里教你一个方法,那就是重复学习。
打个比方,假如你正在学习 spring 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。
从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。
很多人担心学了容易忘,这里教你一个方法,那就是重复学习。
打个比方,假如你正在学习 spring 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。
从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。
[外链图片转存中…(img-jaU05e3t-69)]
人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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