RedHat 7.2 安裝RabbitMQ 3.6.5

一、RedHat 7.2中安裝與啟動RabbitMQ
點擊或復制鏈接下載:
http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
上傳到 /usr/local/software文件夾中
使用XShell鏈接Linux,文件上傳使用SmarTTy,SmarTTy也可以鏈接Linux,但對中文支持不好,好處是SmarTTy可以無需安裝任何軟件就可將windows文件上傳到虛擬機中的Linux系統中

[root@bogon software]# ll
總用量 23588
-rw-r--r--. 1 root root 18345424 12月 16 00:46 erlang-18.3-1.el7.centos.x86_64.rpm
-rw-r--r--. 1 root root  5520417 12月 16 00:45 rabbitmq-server-3.6.5-1.noarch.rpm
-rw-r--r--. 1 root root   284676 12月 16 00:45 socat-1.7.3.2-5.el7.lux.x86_64.rpm
[root@bogon software]# 

使用rpm命令安裝,rpm命令會對軟件環境、配置文件等進行自動配置,不會有rabbitmq.config配置文件
安裝erlang-18.3-1.el7

[root@bogon software]# rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm 
準備中...                          ################################# [100%]
正在升級/安裝...
   1:erlang-18.3-1.el7.centos         ################################# [100%]
[root@bogon software]# 

如果直接安裝rabbitmq-server-3.6.5-1,會提示"錯誤:依賴檢測失?。簊ocat 被 rabbitmq-server-3.6.5-1.noarch 需要",所以要先安裝socat

[root@bogon software]# rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm 
警告:rabbitmq-server-3.6.5-1.noarch.rpm: 頭V4 RSA/SHA1 Signature, 密鑰 ID 6026dfca: NOKEY
錯誤:依賴檢測失?。?    socat 被 rabbitmq-server-3.6.5-1.noarch 需要
[root@bogon software]# 

安裝socat-1.7.3.2-5

[root@bogon software]# rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm 
警告:socat-1.7.3.2-5.el7.lux.x86_64.rpm: 頭V4 DSA/SHA1 Signature, 密鑰 ID 53e4e7a9: NOKEY
準備中...                          ################################# [100%]
正在升級/安裝...
   1:socat-1.7.3.2-5.el7.lux          ################################# [100%]
[root@bogon software]# 

安裝rabbitmq-server-3.6.5

[root@bogon software]# rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm 
警告:rabbitmq-server-3.6.5-1.noarch.rpm: 頭V4 RSA/SHA1 Signature, 密鑰 ID 6026dfca: NOKEY
準備中...                          ################################# [100%]
正在升級/安裝...
   1:rabbitmq-server-3.6.5-1          ################################# [100%]
[root@bogon software]# 

打開rabbit.app文件按i鍵進行編輯

[root@bogon software]# vi /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app

找到{loopback_users, [<<"guest">>]},改為{loopback_users, [guest]},修改loopback_users值的作用是修改RabbitMQ管控臺的登錄賬號,默認是被注釋的,修改完成后按i鍵,輸入wq保存退出
輸入rabbitmq后按tab自動補全,會出現三個命令

[root@bogon software]# rabbitmq
rabbitmqctl       rabbitmq-plugins  rabbitmq-server   

rabbitmqctl對rabbitmq對rabbitmq進行操作
rabbitmq-plugins安裝rabbitmq插件
rabbitmq-server開啟、關閉rabbitmq服務
執行"rabbitmq-server start &"啟動rabbitmq

[root@bogon software]# rabbitmq-server start &
[2] 10662
[root@bogon software]# ERROR: node with name "rabbit" already running on "bogon"

如果執行報錯"node with name "rabbit" already running",則說明已經啟動,我們執行ps -ef |grep rabbitmq命令查看正在執行的rabbitmq服務

[root@bogon software]# ps -ef |grep rabbitmq
root      9632  2002  0 02:43 pts/1    00:00:00 /bin/sh /usr/sbin/rabbitmq-server start
root      9642  9632  0 02:43 pts/1    00:00:00 su rabbitmq -s /bin/sh -c /usr/lib/rabbitm/bin/rabbitmq-server  'start'
rabbitmq  9643  9642  0 02:43 ?        00:00:00 /bin/sh -e /usr/lib/rabbitmq/bin/rabbitmq-server start
rabbitmq  9718     1  0 02:43 ?        00:00:00 /usr/lib64/erlang/erts-7.3/bin/epmd -daemon
rabbitmq  9731  9643  0 02:43 ?        00:00:06 /usr/lib64/erlang/erts-7.3/bin/beam -W w -A

我們可以看到有三個rabbitmq相關的進程rabbitmq 9643、rabbitmq 9718、rabbitmq 9731,終止這三個進程

[root@bogon software]# kill 9643
[root@bogon software]# kill 9718
[1]+  完成                  rabbitmq-server start
[root@bogon software]# kill 9731

再次查看rabbitmq服務,已經沒有rabbitmq的服務了

[root@bogon software]# ps -ef | grep rabbitmq
root     11684  2002  0 03:48 pts/1    00:00:00 grep --color=auto rabbitmq

重新執行rabbitmq-server start &,啟動rabbitmq服務

[root@bogon software]# rabbitmq-server start &
[1] 11686
[root@bogon software]# 
              RabbitMQ 3.6.5. Copyright (C) 2007-2016 Pivotal Software, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: /var/log/rabbitmq/rabbit@bogon.log
  ######  ##        /var/log/rabbitmq/rabbit@bogon-sasl.log
  ##########
              Starting broker...
 completed with 0 plugins.
[root@bogon software]# 

我們看到打印信息Logs: /var/log/rabbitmq/rabbit@bogon.log, /var/log/rabbitmq/是日志存放的路徑,bogon是主機名,通過以下命令修改主機名

[root@bogon software]# vi /etc/hostname

安裝RabbitMQ插件,查看rabbitmq默認提供的插件

[root@bogon software]# rabbitmq-plugins list
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status:   [failed to contact rabbit@bogon - status not shown]
 |/
[  ] amqp_client                       3.6.5
[  ] cowboy                            1.0.3
[  ] cowlib                            1.0.1
[  ] mochiweb                          2.13.1
[  ] rabbitmq_amqp1_0                  3.6.5
[  ] rabbitmq_auth_backend_ldap        3.6.5
[  ] rabbitmq_auth_mechanism_ssl       3.6.5
[  ] rabbitmq_consistent_hash_exchange 3.6.5
[  ] rabbitmq_event_exchange           3.6.5
[  ] rabbitmq_federation               3.6.5
[  ] rabbitmq_federation_management    3.6.5
[  ] rabbitmq_jms_topic_exchange       3.6.5
[  ] rabbitmq_management               3.6.5
[  ] rabbitmq_management_agent         3.6.5
[  ] rabbitmq_management_visualiser    3.6.5
[  ] rabbitmq_mqtt                     3.6.5
[  ] rabbitmq_recent_history_exchange  1.2.1
[  ] rabbitmq_sharding                 0.1.0
[  ] rabbitmq_shovel                   3.6.5
[  ] rabbitmq_shovel_management        3.6.5
[  ] rabbitmq_stomp                    3.6.5
[  ] rabbitmq_top                      3.6.5
[  ] rabbitmq_tracing                  3.6.5
[  ] rabbitmq_trust_store              3.6.5
[  ] rabbitmq_web_dispatch             3.6.5
[  ] rabbitmq_web_stomp                3.6.5
[  ] rabbitmq_web_stomp_examples       3.6.5
[  ] sockjs                            0.3.4
[  ] webmachine                        1.10.3

使用rabbitmq-plugins enable + "插件名"命令開啟RabbitMQ默認插件

[root@bogon ~]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@bogon... started 6 plugins.
[root@bogon ~]# 

rabbitmq默認啟動rabbitmq_management 插件,該插件用來啟動管控臺,管控臺默認端口號是15672,端口號5671用來與java端進行通信的端口號,25672是rabbitmq集群進行通信的端口號,打開瀏覽器輸入虛擬機IP+:15672,賬號密碼為我們之前修改/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app文件中{loopback_users, [guest]}的guset

image.png

可以看到管控臺頁面

image.png

二、rabbitmq的rabbitmqctl命令說明
基礎操作:
rabbitmqctl start_app 啟動rabbitmq服務
rabbitmqctl stop_app 關閉rabbitmq服務
rabbitmqctl status 節點狀態
rabbitmqctl add_user username password 添加用戶
rabbitmqctl list_users 查看所有用戶
rabbitmqctl delete_users username 刪除用戶
rabbitmqctl clear_permissions -p vhostpath username 清除用戶權限
rabbitmqctl list_user_permissions username 查詢用戶權限
rabbitmqctl change_password username newpassword 修改密碼
rabbitmqctl set_permissions -p vhostpath username "." "." ".*" 設置用戶權限
rabbitmqctl add_vhost vhostpath 創建虛擬主機
rabbitmqctl list_vhosts 查看所有虛擬主機,默認虛擬主機名為"/"
rabbitmqctl list_psermissions -p vhostpath 查詢虛擬主機上所有權限
rabbitmqctl delete_vhost vhostpath 刪除虛擬主機
rbbitmqctl list_queues 查詢所有隊列信息
rabbitmqctl -p vhostpath purge_queue blue 清除隊列里的消息
高級操作:
rabbitmqctl reset 移除所有數據,要在rabbitmqctl stop_app之后使用
rabbitmqctl join_cluster <clusternode> [--ram] 組成集群命令,默認硬盤級別存儲將消息落入磁盤,--ram內存級別存儲將消息保存在內存中
rabbitmqctl change_culster_node_type disc | ram 修改集群節點的存儲模式,磁盤存儲,內存存儲
rabbitmqctl forget_cluster_node [--offline] 忘記節點(摘除節點,當有節點壞掉,可以通過該命令摘除壞掉節點,這種方式是最簡單的失敗轉移,--offine如果有主節點壞掉,這樣整個rabbitmq服務無法啟動,這時使用--offine命令可以在rabbitmq服務沒有啟動的時候摘除主節點)
rabbitmqctl rename_cluster_node oldnode1 newnode1 [newnode1] [newnode2...] 修改節點名稱

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。