Ubuntu部署RabbitMQ集群

三台机器部署集群

安装openssl

复制代码
参考文档:https://blog.csdn.net/Liangkuaijun/article/details/129382473

[root@rabbitmq-cluster openssl-3.2.0]# perl -MCPAN -e shell
Sorry, we have to rerun the configuration dialog for CPAN.pm due to
some missing parameters. Configuration will be written to
<</root/.cpan/CPAN/MyConfig.pm>>



CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.


Would you like to configure as much as possible automatically? [yes]


<install_help>


Warning: You do not have write permission for Perl library directories.


To install modules, you need to configure a local Perl library directory or
escalate your privileges. CPAN can help you by bootstrapping the local::lib
module or by configuring itself to use 'sudo' (if available). You may also
resolve this problem manually if you need to customize your setup.


What approach do you want? (Choose 'local::lib', 'sudo' or 'manual')
[local::lib] manual


Autoconfigured everything but 'urllist'.


Now you need to choose your CPAN mirror sites. You can let me
pick mirrors for you, you can select them from a list or you
can enter them by hand.


Would you like me to automatically choose some CPAN mirror
sites for you? (This means connecting to the Internet) [yes] no


Would you like to pick from the CPAN mirror list? [yes] no
Now you can enter your own CPAN URLs by hand. A local CPAN mirror can be
listed using a 'file:' URL like 'file:///path/to/cpan/'


CPAN.pm needs at least one URL where it can fetch CPAN files from.


Please enter your CPAN site: [] http://mirrors.aliyun.com/CPAN/
Enter another URL or ENTER to quit: []
New urllist
http://mirrors.aliyun.com/CPAN/


Autoconfiguration complete.


commit: wrote '/root/.cpan/CPAN/MyConfig.pm'

You can re-run configuration any time with 'o conf init' in the CPAN shell
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.

编译OpenSSL时报错,Can‘t locate IPC/Cmd.pm in @INC
yum install -y perl-CPAN
perl -MCPAN -e shell
cpan[1]> install IPC/Cmd.pm
cpan[1]>quit

yum -y install gtk2-devel binutils-devel

configure: error: No curses library functions found
yum install ncurses-devel

configure: WARNING: wxWidgets don't have gl support, wx will NOT be useable
yum -y install gtk2-devel binutils-devel

configure: WARNING: Can not find C++ compiler
yum install gcc gcc-c++

./config --prefix=/usr/local/openssl
make
make install cp
/usr/local/openssl/lib64/libssl.so.3 /usr/lib64/ cp /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/ cp /usr/local/openssl/bin/openssl /usr/bin/

openssl version
复制代码

安装erlang

参考:https://www.cnblogs.com/rtnb/p/16996219.html

./configure  --with-ssl=/usr/local/openssl 
make
make install

解压

xz -d  rabbitmq-server-generic-unix-3.9.16.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.9.16.tar
echo 'export PATH=$PATH:/data/rabbitmq_server-3.9.16/sbin' >> /etc/profile
source /etc/profile
复制代码
rabbitmqctl status
rabbitmqctl cluster_status

# 配置集群
设置erlang cookie
需要先停止rabbitmq,再复制 scp
/root/.erlang.cookie rabbitma-2:/root/ scp /root/.erlang.cookie rabbitmq-3:/root/
# 修改主机名称并配置三台主机的主机名相互解析
vim /etc/hosts

# 启动 rabbitmqctl stop rabbitmq
-server -detached # 加入集群 # node2 rabbitmqctl stop_app # node-3 rabbitmqctl stop_app # node2 rabbitmqctl join_cluster rabbit@rabbitmq-1 # node-3 rabbitmqctl join_cluster rabbit@rabbitmq-1 # 查询集群状态 [root@iZbp13w7pf6vcz36pj136yZ rabbitmq_server-3.9.16]# rabbitmqctl cluster_status Cluster status of node rabbit@rabbitmq-2 ... Basics Cluster name: rabbit@rabbitmq-2 Disk Nodes rabbit@rabbitmq-1 rabbit@rabbitmq-2 rabbit@rabbitmq-3 Running Nodes rabbit@rabbitmq-1 rabbit@rabbitmq-2 rabbit@rabbitmq-3 Versions rabbit@rabbitmq-1: RabbitMQ 3.9.16 on Erlang 23.3.4.18 rabbit@rabbitmq-2: RabbitMQ 3.9.16 on Erlang 23.3.4.18 rabbit@rabbitmq-3: RabbitMQ 3.9.16 on Erlang 23.3.4.18 Maintenance status Node: rabbit@rabbitmq-1, status: not under maintenance Node: rabbit@rabbitmq-2, status: not under maintenance Node: rabbit@rabbitmq-3, status: not under maintenance
复制代码

===============================================================================

一台机器部署三节点

复制代码
#节点1
RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit1 ./rabbitmq-server -detached
 
#节点2 
RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}] -rabbitmq_stomp tcp_listeners [61614] -rabbitmq_mqtt  tcp_listeners [1884]" RABBITMQ_NODENAME=rabbit2 ./rabbitmq-server -detached


#节点3
RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}] -rabbitmq_stomp tcp_listeners [61615] -rabbitmq_mqtt tcp_listeners [1885]" RABBITMQ_NODENAME=rabbit3 ./rabbitmq-server -detached
复制代码

集群操作

把节点rabbit2,3 加入 rabbit1中

停止第二个节点的应用程序

./rabbitmqctl -n rabbit2 stop_app

重新设置第二个节点的元数据和状态为清空状态

./rabbitmqctl -n rabbit2 reset
加入第一节点
./rabbitmqctl -n rabbit2   join_cluster   rabbit1

重新启动第二节点

./rabbitmqctl -n rabbit2   start_app

查看集群状态

./rabbitmqctl cluster_status -n rabbit1

 开启web管理界面

./rabbitmq-plugins enable rabbitmq_management
./rabbitmq-plugins list

创建管理用户

cd /data/rabbitmq_server-3.7.18/sbin
./rabbitmqctl start_app -n rabbit1 ./rabbitmqctl add_user admin admin -n rabbit1 ./rabbitmqctl set_user_tags admin administrator -n rabbit1 ./rabbitmqctl set_permissions -p '/' admin '.' '.' '.' -n rabbit1

 启动

root@rabbitmq:/data/rabbitmq_server-3.7.18/sbin# ./rabbitmqctl start_app -n rabbit2
Starting node rabbit2@rabbitmq ...
root@rabbitmq:/data/rabbitmq_server-3.7.18/sbin# ./rabbitmqctl start_app -n rabbit3
Starting node rabbit3@rabbitmq ...

 

posted @   不会跳舞的胖子  阅读(238)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示