日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rabbitmq 集群搭建

發布時間:2025/6/17 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rabbitmq 集群搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

消息隊列對于處理高并發還是非常不錯的選擇。所以電商必然會采取這種方式。廢話不多說。貼代碼先。

搭建環境:

Mac OS X 10.10.5 VMware Fusion8 Centos 6.7 rabbitmq-server-3.5.6-1.noarch.rpm erlang-17.4-1.el6.x86_64.rpm

?

  • rabbitmq的搭建
  • wget http://www.rabbitmq.com/releases/erlang/erlang-17.4-1.el6.x86_64.rpm yum install erlang-17.4-1.el6.x86_64.rpm

    ?

  • 安裝rabbitmq
  • wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6-1.noarch.rpm rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc yum install rabbitmq-server-3.5.6-1.noarch.rpm

    ?

  • 安裝rabbitmq插件
    安裝RabbitMQ WebUI管理插件
  • rabbitmq-plugins enable rabbitmq_management service rabbitmq-server restart

    ?

    打開瀏覽器登錄http://127.0.0.1: 15672

    啟動RabbitMQ Server

    service rabbitmq-server start

    ?

  • 集群搭建
  • 太啰嗦的就不說了。需要注意的我會在這里提出:

  • 你的host需要修改 在node1代碼塊可以看到。如果不改變,重啟 shutdown -r now
  • 你的.erlang.cookie 也是需要修改并都保持一樣。
  • 修改配置文件的時候要注意括號。
  • stop [<pid_file>] 停止服務根據進程號stop_appstart_appwait <pid_file> 暫停reset 重置force_reset 強制重置rotate_logs <suffix> 日志文件 后綴join_cluster <clusternode> [—ram] 加入集群cluster_status 集群狀態change_cluster_node_type disc | ram 改變集群節點類型forget_cluster_node [--offline] 取消節點rename_cluster_node oldnode1 newnode1 [oldnode2] [newnode2 …] 重命名節點update_cluster_nodes clusternode 更新節點force_boot 重置引導sync_queue queue 同步隊列cancel_sync_queue queue 取消同步隊列purge_queue queue 清除隊列set_cluster_name name 設置集群名稱add_user <username> <password> 添加用戶delete_user <username> 刪除用戶change_password <username> <newpassword> 修改密碼clear_password <username> 清除密碼set_user_tags <username> <tag> ...設置角色權限list_users 查看所有的用戶add_vhost <vhostpath> 添加主機delete_vhost <vhostpath> 刪除主機list_vhosts [<vhostinfoitem> …] 所有主機set_permissions [-p <vhostpath>] <user> <conf> <write> <read> 給主機指定用戶clear_permissions [-p <vhostpath>] <username> 清除一個主機的用戶list_permissions [-p <vhostpath>] 一個主機下面的綁定的用戶list_user_permissions <username> 用戶的權限

    ?

    node1:

    sjk@192.168.10.73's password: Last login: Tue Nov 3 00:16:23 2015 from 192.168.10.14[sjk@rabbitmq-node1 ~]$ lsDesktop Documents Downloads Music Pictures Public Templates Videos[sjk@rabbitmq-node1 ~]$ cd /usr/local/[sjk@rabbitmq-node1 local]$ lsbin games jdk1.7.0_80 lib64 nginx sbin src usretc include lib libexec openssl share tomcat[sjk@rabbitmq-node1 local]$ lsbin games jdk1.7.0_80 lib64 nginx sbin src usretc include lib libexec openssl share tomcat[sjk@rabbitmq-node1 local]$ cd /usr/programmer/[sjk@rabbitmq-node1 programmer]$ lsapache-tomcat-8.0.26.tar.gz nginx-1.9.4.tar.gzerlang-17.4-1.el6.x86_64.rpm openssl-1.0.2c.tar.gzgo1.4.2.linux-amd64.tar.gz rabbitmq-server-3.5.6-1.noarch.rpmjdk-7u80-linux-x64.tar.gz redis-3.0.3.tarmongodb-linux-x86_64-3.0.6.tgz solr-5.2.1.tgzmongodb-osx-x86_64-3.0.6.tgz zookeeper-3.4.6.tar.gznginx-1.8.0.tar.gz[sjk@rabbitmq-node1 programmer]$ cat /etc/hosts192.168.10.73 rabbitmq-node1.com rabbitmq-node1192.168.10.74 rabbitmq-node2.com rabbitmq-node2192.168.10.75 rabbitmq-node3.com rabbitmq-node3[sjk@rabbitmq-node1 programmer]$ vim /etc/hosts[sjk@rabbitmq-node1 programmer]$ sudo -i[sudo] password for sjk: [root@rabbitmq-node1 ~]# vim /etc/hosts[root@rabbitmq-node1 ~]# service rabbitmq-server startStarting rabbitmq-server: SUCCESSrabbitmq-server.[root@rabbitmq-node1 ~]# cd /etc/rabbitmq/[root@rabbitmq-node1 rabbitmq]# lsenabled_plugins[root@rabbitmq-node1 rabbitmq]# mv /usr/rabbitmq.config /etc/rabbitmq/[root@rabbitmq-node1 rabbitmq]# cat /var/lib/rabbitmq/.erlang.cookie ATDTSAHIFSBKTQDSYKMA[root@rabbitmq-node1 rabbitmq]# service rabbitmq-server stopStopping rabbitmq-server: rabbitmq-server.[root@rabbitmq-node1 rabbitmq]# vim rabbitmq.config [root@rabbitmq-node1 rabbitmq]# vim /etc/rabbitmq/rabbitmq-env.conf[root@rabbitmq-node1 rabbitmq]# vim /etc/rabbitmq/rabbitmq-env.conf[root@rabbitmq-node1 rabbitmq]# service rabbitmq-server startStarting rabbitmq-server: SUCCESSrabbitmq-server.[root@rabbitmq-node1 rabbitmq]# service rabbitmq-server stopStopping rabbitmq-server: rabbitmq-server.[root@rabbitmq-node1 rabbitmq]# lsenabled_plugins rabbitmq.config rabbitmq-env.conf[root@rabbitmq-node1 rabbitmq]# cat rabbitmq-env.conf RABBITMQ_MNESIA_BASE=/var/lib/rabbitmq/#需要使用的MNESIA數據庫的路徑RABBITMQ_LOG_BASE=/var/log/rabbitmq/#log的路徑RABBITMQ_PLUGINS_DIR=/usr/lib/rabbitmq/lib/rabbitmq_server-3.5.6/plugins/#插件的路徑[root@rabbitmq-node1 rabbitmq]# vim rabbitmq.config [root@rabbitmq-node1 rabbitmq]# service rabbitmq-server startStarting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}rabbitmq-server.[root@rabbitmq-node1 rabbitmq]# cat /var/log/rabbitmq/startup_err Crash dump was written to: erl_crash.dumpcould not start kernel pid (application_controller) (error in config file "/etc/rabbitmq/rabbitmq.config" (253): syntax error before: ']')[root@rabbitmq-node1 rabbitmq]# vim rabbitmq.config [root@rabbitmq-node1 rabbitmq]# service rabbitmq-server startStarting rabbitmq-server: SUCCESSrabbitmq-server.[root@rabbitmq-node1 rabbitmq]# service rabbitmq-server stopStopping rabbitmq-server: rabbitmq-server.[root@rabbitmq-node1 rabbitmq]# service rabbitmq-server startStarting rabbitmq-server: SUCCESSrabbitmq-server.[root@rabbitmq-node1 rabbitmq]# rabbitmqctl cluster_statusCluster status of node 'rabbit@rabbitmq-node1' ...[{nodes,[{disc,['rabbit@rabbitmq-node1']}]},{running_nodes,['rabbit@rabbitmq-node1']},{cluster_name,<<"rabbit@rabbitmq-node1.com">>},{partitions,[]}][root@rabbitmq-node1 rabbitmq]# rabbitmqctl stop_appStopping node 'rabbit@rabbitmq-node1' ...[root@rabbitmq-node1 rabbitmq]# rabbitmqctl resetResetting node 'rabbit@rabbitmq-node1' ...[root@rabbitmq-node1 rabbitmq]# rabbitmqctl join_cluster rabbit@rabbitmq-node1Clustering node 'rabbit@rabbitmq-node1' with 'rabbit@rabbitmq-node1' ...Error: cannot_cluster_node_with_itself[root@rabbitmq-node1 rabbitmq]# rabbitmqctl start_appStarting node 'rabbit@rabbitmq-node1' ...[root@rabbitmq-node1 rabbitmq]# rabbitmqctl cluster_statusCluster status of node 'rabbit@rabbitmq-node1' ...[{nodes,[{disc,['rabbit@rabbitmq-node1','rabbit@rabbitmq-node2','rabbit@rabbitmq-node3']}]},{running_nodes,['rabbit@rabbitmq-node1']},{cluster_name,<<"rabbit@rabbitmq-node1.com">>},{partitions,[]}][root@rabbitmq-node1 rabbitmq]# rabbitmqctl add_user lxc rootCreating user "lxc" ...[root@rabbitmq-node1 rabbitmq]# rabbitmqctl set_user_tags lxc administratorSetting tags for user "lxc" to [administrator] ...[root@rabbitmq-node1 rabbitmq]#

    ?

    node2:

    sjk@192.168.10.74's password: Last login: Tue Nov 3 12:52:44 2015 from 192.168.10.14[sjk@rabbitmq-node2 ~]$ cd /usr/local/[sjk@rabbitmq-node2 local]$ lsbin games jdk1.7.0_80 lib64 sbin srcetc include lib libexec share tomcat[sjk@rabbitmq-node2 local]$ cd /usr/programmer/[sjk@rabbitmq-node2 programmer]$ l;s-bash: l: command not found-bash: s: command not found[sjk@rabbitmq-node2 programmer]$ lsapache-tomcat-8.0.26.tar.gz nginx-1.8.0.tar.gzerlang-17.4-1.el6.x86_64.rpm nginx-1.9.4.tar.gzgo1.4.2.linux-amd64.tar.gz rabbitmq-server-3.5.6-1.noarch.rpmjdk-7u80-linux-x64.tar.gz redis-3.0.3.tarmongodb-linux-x86_64-3.0.6.tgz solr-5.2.1.tgzmongodb-osx-x86_64-3.0.6.tgz zookeeper-3.4.6.tar.gz[sjk@rabbitmq-node2 programmer]$ sudo -i[sudo] password for sjk: [root@rabbitmq-node2 ~]# vim /etc/hosts[root@rabbitmq-node2 ~]# service rabbitmq-server startStarting rabbitmq-server: SUCCESSrabbitmq-server.[root@rabbitmq-node2 ~]# cd /etc/rabbitmq/[root@rabbitmq-node2 rabbitmq]# lsenabled_plugins[root@rabbitmq-node2 rabbitmq]# mv /usr/rabbitmq.config /etc/rabbitmq/[root@rabbitmq-node2 rabbitmq]# cat /var/lib/rabbitmq/.erlang.cookie ATDTSAHIFSBKTQDSYKMA[root@rabbitmq-node2 rabbitmq]# service rabbitmq-server stopStopping rabbitmq-server: rabbitmq-server.[root@rabbitmq-node2 rabbitmq]# lsenabled_plugins rabbitmq.config[root@rabbitmq-node2 rabbitmq]# vim rabbitmq-env.conf [root@rabbitmq-node2 rabbitmq]# vim rabbitmq-env.conf [root@rabbitmq-node2 rabbitmq]# vim rabbitmq.config [root@rabbitmq-node2 rabbitmq]# service rabbitmq-server startStarting rabbitmq-server: SUCCESSrabbitmq-server.[root@rabbitmq-node2 rabbitmq]# rabbitmqctl cluster_statusCluster status of node 'rabbit@rabbitmq-node2' ...[{nodes,[{disc,['rabbit@rabbitmq-node2']}]},{running_nodes,['rabbit@rabbitmq-node2']},{cluster_name,<<"rabbit@rabbitmq-node2.com">>},{partitions,[]}][root@rabbitmq-node2 rabbitmq]# rabbitmqctl stop_appStopping node 'rabbit@rabbitmq-node2' ...[root@rabbitmq-node2 rabbitmq]# rabbitmqctl resetResetting node 'rabbit@rabbitmq-node2' ...[root@rabbitmq-node2 rabbitmq]# rabbitmqctl join_cluster rabbit@rabbitmq-node1Clustering node 'rabbit@rabbitmq-node2' with 'rabbit@rabbitmq-node1' ...[root@rabbitmq-node2 rabbitmq]# [root@rabbitmq-node2 rabbitmq]# rabbitmqctl start_appStarting node 'rabbit@rabbitmq-node2' ...[root@rabbitmq-node2 rabbitmq]#

    ?

    node3:

    sjk@192.168.10.75's password: Last login: Tue Nov 3 12:59:37 2015 from 192.168.10.14[sjk@rabbitmq-node3 ~]$ cat /etc/rabbitmq/cat: /etc/rabbitmq/: 是一個目錄[sjk@rabbitmq-node3 ~]$ lsDesktop Documents Downloads Music Pictures Public Templates Videos[sjk@rabbitmq-node3 ~]$ sudo -i[sudo] password for sjk: [root@rabbitmq-node3 ~]# vim /etc/hosts[root@rabbitmq-node3 ~]# [root@rabbitmq-node3 ~]# [root@rabbitmq-node3 ~]# service rabbitmq-server startStarting rabbitmq-server: SUCCESSrabbitmq-server.[root@rabbitmq-node3 ~]# cd /etc/rabbitmq/[root@rabbitmq-node3 rabbitmq]# lsenabled_plugins rabbitmq.config rabbitmq.config.example[root@rabbitmq-node3 rabbitmq]# scp rabbitmq.config root@192.168.10.73:/usr/The authenticity of host '192.168.10.73 (192.168.10.73)' can't be established. RSA key fingerprint is ba:e1:f0:bd:2f:67:15:cd:50:e2:cf:df:87:01:b9:13.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.10.73' (RSA) to the list of known hosts.root@192.168.10.73's password: rabbitmq.config 100% 19KB 19.1KB/s 00:00 [root@rabbitmq-node3 rabbitmq]# scp rabbitmq.config root@192.168.10.74:/usr/The authenticity of host '192.168.10.74 (192.168.10.74)' can't be established. RSA key fingerprint is ba:e1:f0:bd:2f:67:15:cd:50:e2:cf:df:87:01:b9:13.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.10.74' (RSA) to the list of known hosts.root@192.168.10.74's password: rabbitmq.config 100% 19KB 19.1KB/s 00:00 [root@rabbitmq-node3 rabbitmq]# cat /var/lib/rabbitmq/.erlang.cookie ATDTSAHIFSBKTQDSYKMA[root@rabbitmq-node3 rabbitmq]# service rabbitmq-server stopStopping rabbitmq-server: rabbitmq-server.[root@rabbitmq-node3 rabbitmq]# lsenabled_plugins rabbitmq.config rabbitmq.config.example[root@rabbitmq-node3 rabbitmq]# vim rabbitmq-env.conf [root@rabbitmq-node3 rabbitmq]# vim rabbitmq-env.conf [root@rabbitmq-node3 rabbitmq]# vim rabbitmq.config[root@rabbitmq-node3 rabbitmq]# service rabbitmq-server startStarting rabbitmq-server: SUCCESSrabbitmq-server.[root@rabbitmq-node3 rabbitmq]# rabbitmqctl cluster_statusCluster status of node 'rabbit@rabbitmq-node3' ...[{nodes,[{disc,['rabbit@rabbitmq-node3']}]},{running_nodes,['rabbit@rabbitmq-node3']},{cluster_name,<<"rabbit@rabbitmq-node3.com">>},{partitions,[]}][root@rabbitmq-node3 rabbitmq]# rabbitmqctl stop_appStopping node 'rabbit@rabbitmq-node3' ...[root@rabbitmq-node3 rabbitmq]# rabbitmqctl resetResetting node 'rabbit@rabbitmq-node3' ...[root@rabbitmq-node3 rabbitmq]# rabbitmqctl join_cluster rabbit@rabbitmq-node1Clustering node 'rabbit@rabbitmq-node3' with 'rabbit@rabbitmq-node1' ...Error: mnesia_not_running[root@rabbitmq-node3 rabbitmq]# rabbitmqctl join_cluster rabbit@rabbitmq-node1Clustering node 'rabbit@rabbitmq-node3' with 'rabbit@rabbitmq-node1' ...[root@rabbitmq-node3 rabbitmq]# rabbitmqctl start_appStarting node 'rabbit@rabbitmq-node3' ...[root@rabbitmq-node3 rabbitmq]#

    ?

    rabbitmq.config 的內容:我刪除了一些注釋。因為So Long~

    %% -*- mode: erlang -*- %% ---------------------------------------------------------------------------- %% RabbitMQ Sample Configuration File. %% %% See http://www.rabbitmq.com/configure.html for details. %% ---------------------------------------------------------------------------- [{rabbit,[{cluster_nodes, {[' rabbit@rabbitmq-node1', ' rabbit@rabbitmq-node2', ' rabbit@rabbitmq-node3'], disc}}]},%% ----------------------------------------------------------------------------%% Advanced Erlang Networking/Clustering Options.%%%% See http://www.rabbitmq.com/clustering.html for details%% ----------------------------------------------------------------------------{kernel,[%% Sets the net_kernel tick time.%% Please see http://erlang.org/doc/man/kernel_app.html and%% http://www.rabbitmq.com/nettick.html for further details.%%%% {net_ticktime, 60}]},%% ----------------------------------------------------------------------------%% RabbitMQ Management Plugin%%%% See http://www.rabbitmq.com/management.html for details%% ----------------------------------------------------------------------------{rabbitmq_management,[ {listener, [{port, 8080},{ip, "0.0.0.0"},{ssl, false}]} ]},%% ----------------------------------------------------------------------------%% RabbitMQ Shovel Plugin%%%% See http://www.rabbitmq.com/shovel.html for details%% ----------------------------------------------------------------------------{rabbitmq_shovel,[{shovels,[]}%% Rather than specifying some values per-shovel, you can specify%% them for all shovels here.%%%% {defaults, [{prefetch_count, 0},%% {ack_mode, on_confirm},%% {publish_fields, []},%% {publish_properties, [{delivery_mode, 2}]},%% {reconnect_delay, 2.5}]}]},%% ----------------------------------------------------------------------------%% RabbitMQ Stomp Adapter%%%% See http://www.rabbitmq.com/stomp.html for details%% ----------------------------------------------------------------------------{rabbitmq_stomp,[]},%% ----------------------------------------------------------------------------%% RabbitMQ MQTT Adapter%%%% See https://github.com/rabbitmq/rabbitmq-mqtt/blob/stable/README.md%% for details%% ----------------------------------------------------------------------------{rabbitmq_mqtt,[]},%% ----------------------------------------------------------------------------%% RabbitMQ AMQP 1.0 Support%%%% See https://github.com/rabbitmq/rabbitmq-amqp1.0/blob/stable/README.md%% for details%% ----------------------------------------------------------------------------{rabbitmq_amqp1_0,[]},%% ----------------------------------------------------------------------------%% RabbitMQ LDAP Plugin%%%% See http://www.rabbitmq.com/ldap.html for details.%%%% ----------------------------------------------------------------------------{rabbitmq_auth_backend_ldap,[]} ].

    ?

    我也借鑒了一些大神的博客。也看了官方文檔。還在繼續提高中~~~

    版權聲明:本文為博主原創文章,未經博主允許不得轉載。

    轉載于:https://www.cnblogs.com/YoRuo/p/4956803.html

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的rabbitmq 集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。