rabbitmq 集群搭建
生活随笔
收集整理的這篇文章主要介紹了
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 WebUI管理插件
?
打開瀏覽器登錄http://127.0.0.1: 15672
啟動RabbitMQ Server
service rabbitmq-server start?
太啰嗦的就不說了。需要注意的我會在這里提出:
?
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 集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [GRYZ2015]快排练习
- 下一篇: ubuntu 14.04安装mysql