2020-12-16 队列RabbitMq研究

0.背景工作

研究了下我司极光项目的消息发送机制

1.将消息保存到数据库表。

2.进行定时1分钟的多线程任务。

3.多线程内业务具体实现体:查询非异常状态消息数据,默认设置一个成功标识为true,循环发送消息,记录日志。若发送代码catch到异常,则失败次数+1,当失败次数超过最大次数时,记录异常状态。


1.虚拟机yum安装

su root 输入密码,切换到root账号

1.1卸载redhat自带yum

rpm -qa |grep yum //查看目前的yum命令

rpm -qa|grep yum|xargs rpm -e --nodeps #   //不检查依赖,直接删除rpm包)

可再次运行查看命令,确定卸载成功

1.2 下载yum文件(http://mirrors.163.com 或者https://mirrors.aliyun.com)

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm

1.3 安装yum---失败,跳过此步骤

rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm --nodeps --force

rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm --nodeps --force

rpm -ivh yum-3.4.3-168.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm --nodeps --force


执行后, yum-plugin进度为50%,去yum update,发现报错

 It's possible that the above module doesn't match the current version of Python

原因可能是python版本未匹配上,解决方法:

which yum //找到yum文件路径,一般是/usr/bin/yum

vi /usr/bin/yum  //查看上面找到的文件

将      #!/usr/bin/python 

改为  #!/usr/bin/python2.6 

ps:按下间键盘上的'i'键即可在鼠标位置添加内容。esc键可退出编辑

冒号:可进入命令。wq!保存并推出,q!退出。

参考文件:https://blog.csdn.net/yabingshi_tech/article/details/50439130

发现还是报错,不用yum安装了。


1.4 安装erlang

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

yum install erlang

rpm -qa | grep erlang

验证:erl -v

1+23.

输出有结果就是成功了。


1.5安装rabbitmq

wget -P /home/rabbitmq https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9-1.el6.noarch.rpm

rpm -i --nodeps rabbitmq-server-3.8.9-1.el6.noarch.rpm

chkconfig rabbitmq-server on //官网提供,启动守护线程,(百度说是设置开机自启动,无效

/sbin/service rabbitmq-server start //启动

/sbin/service rabbitmq-server stop //停止

至此安装成功

ps:错误集锦

1.rabbitmq-server-3.8.9-1.el7.noarch.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 6026dfca: NOKEY

只是警告不用管

2.若想卸载;

/sbin/service rabbitmq-server stop  //保证服务已经停止

yum list | grep rabbitmq  //查看目前是否安装 rabbitmq-server

yum -y remove rabbitmq-server.noarch  //卸载

yum list | grep erlang //查看目前是否安装 erlang,以下均未作测试,不知是否有问题

yum -y remove erlang-*  //卸载

yum remove erlang.x86_64

rm -rf /usr/lib64/erlang

rm -rf /var/lib/rabbitmq


1.6配置rabbitmq

rabbitmq-plugins enable rabbitmq_management  //开启管理UI(一次即可)

启动rabbitmq , 访问http://localhost:15672/,默认可以用guest guest登陆进去。

rabbitmqctl add_user admin 123456 //添加用户

rabbitmqctl set_user_tags admin administrator //给用户配置角色

rabbitmqctl set_permissions -p / \admin ".*" ".*" ".*" //赋予用户读写配置权限

过程中可关闭防火墙,本机电脑也可通过ip:15672访问

-------------停止防火墙#停止firewall  #禁止firewall开机启动

systemctl stop firewalld.service

systemctl disable firewalld.service


参考资料:简书操作https://www.jianshu.com/p/e2fbbceecffb

                   https://www.cnblogs.com/ifme/p/12024064.html

                 https://www.cnblogs.com/ithushuai/p/12443460.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容