2020-12-16 隊列RabbitMq研究

0.背景工作

研究了下我司極光項目的消息發(fā)送機制

1.將消息保存到數(shù)據(jù)庫表。

2.進行定時1分鐘的多線程任務。

3.多線程內業(yè)務具體實現(xiàn)體:查詢非異常狀態(tài)消息數(shù)據(jù),默認設置一個成功標識為true,循環(huán)發(fā)送消息,記錄日志。若發(fā)送代碼catch到異常,則失敗次數(shù)+1,當失敗次數(shù)超過最大次數(shù)時,記錄異常狀態(tài)。


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


執(zhí)行后,?yum-plugin進度為50%,去yum update,發(fā)現(xiàn)報錯

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

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

which yum //找到y(tǒng)um文件路徑,一般是/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

發(fā)現(xiàn)還是報錯,不用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 //官網(wǎng)提供,啟動守護線程,(百度說是設置開機自啟動,無效

/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? //保證服務已經(jīng)停止

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


參考資料:簡書操作http://m.itdecent.cn/p/e2fbbceecffb

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

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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容