0


RabbitMQ搭建

一、环境

主机名IP地址操作系统rabbitmq版本mq1192.168.10.180Centos 7rabbitmq3.9.7mq2192.168.10.181Centos 7rabbitmq3.9.7mq3192.168.10.183Centos 7rabbitmq3.9.7

二、单机部署

1.安装gcc gcc-c++等模块

  1. [root@mq1 ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel ncurses-devel
  2. Loaded plugins: fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. * base: ftp.sjtu.edu.cn
  5. * extras: ftp.sjtu.edu.cn
  6. * updates: ftp.sjtu.edu.cn
  7. Package 1:make-3.82-24.el7.x86_64 already installed and latest version
  8. Package gcc-4.8.5-44.el7.x86_64 already installed and latest version
  9. Package gcc-c++-4.8.5-44.el7.x86_64 already installed and latest version
  10. Package kernel-devel-3.10.0-1160.59.1.el7.x86_64 already installed and latest version
  11. Package m4-1.4.16-10.el7.x86_64 already installed and latest version
  12. Package ncurses-devel-5.9-14.20130511.el7_4.x86_64 already installed and latest version
  13. Package 1:openssl-devel-1.0.2k-24.el7_9.x86_64 already installed and latest version
  14. Package ncurses-devel-5.9-14.20130511.el7_4.x86_64 already installed and latest version
  15. Nothing to do[root@mq1 ~]#

2.安装erlang环境

2.1 下载erlang解压并重名名

  1. [root@mq1 ~]# wget http://erlang.org/download/otp_src_24.0.tar.gz
  2. --2022-02-28 14:41:08-- http://erlang.org/download/otp_src_24.0.tar.gz
  3. Resolving erlang.org (erlang.org)... 192.121.151.106
  4. Connecting to erlang.org (erlang.org)|192.121.151.106|:80... connected.
  5. HTTP request sent, awaiting response... 200 OK
  6. Length: 101193664(97M)[application/gzip]
  7. Saving to: otp_src_24.0.tar.gz
  8. 100%[=============================================================================>]101,193,664 250KB/s in 6m 45s
  9. 2022-02-28 14:47:54 (244 KB/s) - otp_src_24.0.tar.gz saved [101193664/101193664][root@mq1 ~]# tar xf otp_src_24.0.tar.gz [root@mq1 ~]# mv otp_src_24.0 /usr/local/erlang

2.2 检查编译环境,配置安装路径

  1. [root@mq1 ~]# cd /usr/local/erlang/[root@mq1 erlang]# ./configure --prefix=/usr/local/erlang --without-javac

2.3 编译安装

  1. [root@mq1 erlang]# make && make install

2.4 加入环境变量,如下即为成功

  1. [root@mq1 erlang]# source /etc/profile[root@mq1 erlang]# tail -n 1 /etc/profileexportPATH=$PATH:/user/local/erlang/bin
  2. [root@mq1 erlang]# ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl[root@mq1 erlang]# erl
  3. Erlang/OTP 24[erts-12.0][source][64-bit][smp:8:8][ds:8:8:10][async-threads:1]
  4. Eshell V12.0 (abort with ^G)1>

3.安装rabbitmq

3.1 下载rabbitmq

  1. [root@mq1 ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.7/rabbitmq-server-generic-unix-3.9.7.tar.xz

3.2 配置hosts

  1. [root@mq1 ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 192.168.10.180 mq1

3.3 安装rabbitmq

  1. [root@mq1 ~]# tar xf rabbitmq-server-generic-unix-3.9.7.tar [root@mq1 ~]# ls
  2. otp_src_24.0.tar.gz rabbitmq_server-3.9.7 rabbitmq-server-generic-unix-3.9.7.tar
  3. [root@mq1 ~]# mv rabbitmq_server-3.9.7/ /data/rabbitmq

3.4 添加环境变量

  1. [root@mq1 ~]# cat >> /etc/profile << EOF>exportPATH=/data/rabbitmq/sbin:$PATH> EOF
  2. [root@mq1 ~]# source /etc/profile

3.5 启动mq后台管理方式

  1. [root@mq1 ~]# rabbitmq-plugins enable rabbitmq_management
  2. Enabling plugins on node rabbit@mq1:
  3. rabbitmq_management
  4. The following plugins have been configured:
  5. rabbitmq_management
  6. rabbitmq_management_agent
  7. rabbitmq_web_dispatch
  8. Applying plugin configuration to rabbit@mq1...
  9. The following plugins have been enabled:
  10. rabbitmq_management
  11. rabbitmq_management_agent
  12. rabbitmq_web_dispatch
  13. set3 plugins.
  14. Offline change; changes will take effect at broker restart.
  15. [root@mq1 ~]#

3.6 运行rabbitmq

  1. [root@mq1 ~]# rabbitmq-server 2022-02-28 15:35:46.446039+08:00 [info]<0.222.0> Feature flags: list of feature flags found:
  2. 2022-02-28 15:35:46.471099+08:00 [info]<0.222.0> Feature flags: [] implicit_default_bindings
  3. 2022-02-28 15:35:46.471247+08:00 [info]<0.222.0> Feature flags: [] maintenance_mode_status
  4. 2022-02-28 15:35:46.471353+08:00 [info]<0.222.0> Feature flags: [] quorum_queue
  5. 2022-02-28 15:35:46.471446+08:00 [info]<0.222.0> Feature flags: [] stream_queue
  6. 2022-02-28 15:35:46.471745+08:00 [info]<0.222.0> Feature flags: [] user_limits
  7. 2022-02-28 15:35:46.471863+08:00 [info]<0.222.0> Feature flags: [] virtual_host_metadata
  8. 2022-02-28 15:35:46.471958+08:00 [info]<0.222.0> Feature flags: feature flag states written to disk: yes2022-02-28 15:35:47.253160+08:00 [noti]<0.44.0> Application syslog exited with reason: stopped
  9. 2022-02-28 15:35:47.253395+08:00 [noti]<0.222.0> Logging: switching to configured handler(s); following messages may not be visible in this log output
  10. ## ## RabbitMQ 3.9.7## ############ Copyright (c) 2007-2021 VMware, Inc. or its affiliates.###### ############ Licensed under the MPL 2.0. Website: https://rabbitmq.com
  11. Erlang: 24[emu]
  12. TLS Library: OpenSSL - OpenSSL 1.0.2k-fips 26 Jan 2017
  13. Doc guides: https://rabbitmq.com/documentation.html
  14. Support: https://rabbitmq.com/contact.html
  15. Tutorials: https://rabbitmq.com/getstarted.html
  16. Monitoring: https://rabbitmq.com/monitoring.html
  17. Logs: /data/rabbitmq/var/log/rabbitmq/rabbit@mq1.log
  18. /data/rabbitmq/var/log/rabbitmq/rabbit@mq1_upgrade.log
  19. <stdout>
  20. Config file(s): (none)
  21. Starting broker...
  22. completed with 3 plugins.

在这里插入图片描述

三、集群部署

1.安装mq(同上)

2.修改配置文件(其他两台对应修改mq2、mq3)

  1. [root@mq1 ~]# cd /data/rabbitmq/etc/rabbitmq[root@mq1 rabbitmq]# touch rabbitmq-env.conf[root@mq1 rabbitmq]# cat rabbitmq-env.confNODENAME=rabbit@mq1
  2. MNESIA_BASE=/data/rabbitmq/mnesia
  3. LOG_BASE=/data/rabbitmq/log

3.重启进程,重载配置文件

  1. [root@mq1 rabbitmq]# netstat -antp
  2. Active Internet connections (servers and established)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 000.0.0.0:25672 0.0.0.0:* LISTEN 6906/beam.smp
  5. tcp 000.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
  6. tcp 000.0.0.0:4369 0.0.0.0:* LISTEN 5581/epmd
  7. tcp 00192.168.122.1:53 0.0.0.0:* LISTEN 7437/dnsmasq
  8. tcp 000.0.0.0:22 0.0.0.0:* LISTEN 6855/sshd: /usr/sbi
  9. tcp 00127.0.0.1:631 0.0.0.0:* LISTEN 6653/cupsd
  10. tcp 000.0.0.0:15672 0.0.0.0:* LISTEN 6906/beam.smp
  11. tcp 00127.0.0.1:25 0.0.0.0:* LISTEN 6910/master
  12. tcp 00127.0.0.1:65432 127.0.0.1:4369 TIME_WAIT -
  13. tcp 00192.168.10.180:4369 192.168.10.180:61106 TIME_WAIT -
  14. tcp 00192.168.10.180:4369 192.168.10.180:61110 TIME_WAIT -
  15. tcp 00127.0.0.1:4369 127.0.0.1:65438 ESTABLISHED 5581/epmd
  16. tcp 0336192.168.10.180:22 20.0.0.3:51939 ESTABLISHED 20039/sshd: root@pt
  17. tcp 00192.168.10.180:4369 192.168.10.180:61112 TIME_WAIT -
  18. tcp 00127.0.0.1:65434 127.0.0.1:4369 TIME_WAIT -
  19. tcp 00127.0.0.1:65438 127.0.0.1:4369 ESTABLISHED 6906/beam.smp
  20. tcp6 00 :::5672 :::* LISTEN 6906/beam.smp
  21. tcp6 00 :::111 :::* LISTEN 1/systemd
  22. tcp6 00 :::4369 :::* LISTEN 5581/epmd
  23. tcp6 00 :::22 :::* LISTEN 6855/sshd: /usr/sbi
  24. tcp6 00 ::1:631 :::* LISTEN 6653/cupsd
  25. tcp6 00 ::1:25 :::* LISTEN 6910/master
  26. [root@mq1 rabbitmq]# kill -9 6906[root@mq1 rabbitmq]# rabbitmq-plugins enable rabbitmq_management
  27. Enabling plugins on node rabbit@mq1:
  28. rabbitmq_management
  29. The following plugins have been configured:
  30. rabbitmq_management
  31. rabbitmq_management_agent
  32. rabbitmq_web_dispatch
  33. Applying plugin configuration to rabbit@mq1...
  34. Plugin configuration unchanged.
  35. [root@mq1 rabbitmq]# rabbitmq-server -detached

4.添加用户(三台都要)

  1. [root@mq1 rabbitmq]# rabbitmqctl add_user admin 123456
  2. Adding user "admin"...
  3. Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
  4. [root@mq1 rabbitmq]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
  5. Setting permissions for user "admin"in vhost "/"...
  6. [root@mq1 rabbitmq]# rabbitmqctl set_user_tags admin administrator
  7. Setting tags for user "admin" to [administrator]...
  8. [root@mq1 rabbitmq]# rabbitmqctl list_users
  9. Listing users...
  10. user tags
  11. admin [administrator]
  12. guest [administrator]

5.修改erlang.cookie权限,传送到其他服务器

  1. [root@mq1 ~]# chmod 400 .erlang.cookie [root@mq1 ~]# scp .erlang.cookie 192.168.10.181:/root
  2. The authenticity of host'192.168.10.181 (192.168.10.181)' can't be established.
  3. ED25519 key fingerprint is SHA256:Q7berYeCACYwLcFtyUEZxThcf6TSoKTMMERfs0NUx3M.
  4. This key is not known by any other names
  5. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
  6. Warning: Permanently added '192.168.10.181' (ED25519) to the list of known hosts.
  7. (root@192.168.10.181) Password:
  8. .erlang.cookie 100% 2023.8KB/s 00:00
  9. [root@mq1 ~]# scp .erlang.cookie 192.168.10.183:/root(root@192.168.10.183) Password:
  10. .erlang.cookie 100% 2031.3KB/s 00:00
  11. [root@mq1 ~]#

6.停止mq2和mq3的进程,加入集群

6.1 mq2作为磁盘节点

  1. [root@mq2 ~]# rabbitmqctl stop_app
  2. Stopping rabbit application on node rabbit@mq2 ...
  3. [root@mq2 ~]# rabbitmqctl join_cluster rabbit@mq1
  4. Clustering node rabbit@mq2 with rabbit@mq1
  5. [root@mq2 ~]# rabbitmqctl start_app
  6. Starting node rabbit@mq2 ...

6.2 mq3作为内存节点

  1. [root@mq3 ~]# rabbitmqctl stop_app
  2. Stopping rabbit application on node rabbit@mq3 ...
  3. [root@mq3 ~]# rabbitmqctl join_cluster --ram rabbit@mq1
  4. Clustering node rabbit@mq3 with rabbit@mq1
  5. [root@mq3 ~]# rabbitmqctl start_app
  6. Starting node rabbit@mq3 ...

7.查看集群状态

  1. [root@mq1 ~]# rabbitmqctl cluster_status
  2. Cluster status of node rabbit@mq1 ...
  3. Basics
  4. Cluster name: rabbit@mq1
  5. Disk Nodes
  6. rabbit@mq1
  7. rabbit@mq2
  8. RAM Nodes
  9. rabbit@mq3
  10. Running Nodes
  11. rabbit@mq1
  12. rabbit@mq2
  13. rabbit@mq3

在这里插入图片描述

四、使用

1.修改rabbitmq密码

  1. [root@mq1 ~]# rabbitmqctl change_password admin '123123'
  2. Changing password for user "admin"...

未完待续


本文转载自: https://blog.csdn.net/weixin_51720711/article/details/123181465
版权归原作者 还行少年 所有, 如有侵权,请联系我们删除。

“RabbitMQ搭建”的评论:

还没有评论