官方给出的RabbitMQ和Erlang对应版本
RabbitMQ版本 | Erlang最低版本 | Erlang最高版本 |
---|---|---|
3.7.15 | 20.3.x | 22.0.x |
3.7.14、3.7.13、3.7.12、3.7.11 3.7.10、3.7.9、3.7.8、3.7.7 |
20.3.x | 21.3.x |
3.7.6、3.7.5、3.7.4、3.7.3 3.7.2、3.7.1、3.7.0 |
19.3 | 20.3.x |
选用版本:
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
在configure后会出下如下报错
*********************************************************************
********************** APPLICATIONS DISABLED **********************
*********************************************************************
odbc : ODBC library - link check failed
*********************************************************************
*********************************************************************
********************** APPLICATIONS INFORMATION *******************
*********************************************************************
wx : wxWidgets not found, wx will NOT be usable
安装unixODBC和unixODBC-devel即可,至于第二错报错wxWidgets可以不安装
yum install unixODBC unixODBC-devel
至此安装环境准备完毕
1.解压
tar -xvf otp_src_21.0.tar.gz
安装包没有用gzip格式压缩,所以不加z参数,如果使用tar -zxvf解压则会报错
tar -zxvf otp_src_21.0.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
2.进入文件夹(otp_src_21.0)
./configure --prefix=/usr/local/erlang
make && make install
–prefix后为自定义安装路径
3.配置环境变量
在/etc/profile文件中追加
export ERLANG_HOME=/usr/local/erlang
export PATH=$JAVA_HOME/bin:$PATH:$ERLANG_HOME/bin
执行命令 source /etc/profile 加载配置文件
4.验证
输入erl进入控制台
[root@localhost bin]# erl
Erlang/OTP 21 [erts-10.0] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
Eshell V10.0 (abort with ^G)
1>
Erlang安装完成
执行命令
rpm -ivh --nodeps rabbitmq-server-3.7.16-1.el7.noarch.rpm
启动rabbitmq服务(rabbitmq-server restart):
[root@localhost /]# rabbitmq-server restart
## ##
## ## RabbitMQ 3.7.16. Copyright (C) 2007-2019 Pivotal Software, Inc.
########## Licensed under the MPL. See https://www.rabbitmq.com/
###### ##
########## Logs: /var/log/rabbitmq/[email protected]
/var/log/rabbitmq/rabbit@localhost_upgrade.log
Starting broker...
completed with 0 plugins.
RabbitMQ已安装完成,启动管理插件
[root@localhost /]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@localhost:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@localhost...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
再重启RabbitMQ服务,访问http://192.168.108.128:15672/ 进入管理页面
错误:依赖检测失败:
erlang >= 20.3 被 rabbitmq-server-3.7.16-1.el7.noarch 需要
socat 被 rabbitmq-server-3.7.16-1.el7.noarch 需要
问题1:erlang >= 20.3 被 rabbitmq-server-3.7.16-1.el7.noarch 需要
解决:添加参数–nodeps
rpm -ivh --nodeps rabbitmq-server-3.7.16-1.el7.noarch.rpm
问题2:socat 被 rabbitmq-server-3.7.16-1.el7.noarch 需要
安装依赖socat
wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/socat-1.7.2.4-1.el6.rf.x86_64.rpm
问题3:安装socat时tcp_wrappers 被 socat-1.7.2.4-1.el6.rf.x86_64 需要
错误:依赖检测失败:
tcp_wrappers 被 socat-1.7.2.4-1.el6.rf.x86_64 需要
解决:安装tcp_wrappers
yum -y install tcp_wrappers
集群服务器三台
服务器名 | ip |
---|---|
node1 | 192.168.108.128 |
node2 | 192.168.108.129 |
node3 | 192.168.108.130 |
1.进入/var/lib/rabbitmq文件夹中,查看.erlang.cookie内容,保证三台服务器的.erlang.cookie文件内容一致 | |
2.启动三台服务器的RabbitMQ服务 | |
3.在node2、node3上关闭RabbitMQ应用 |
[root@node2 ~]# rabbitmqctl stop_app
[root@node3 ~]# rabbitmqctl stop_app
4.将服务器node2、node3加入到服务器节点node1中
[root@node2 ~]# rabbitmqctl join_cluster --ram rabbit@node1
[root@node3 ~]# rabbitmqctl join_cluster --ram rabbit@node1
5.开启无服务的RabbitMQ应用
[root@node2 ~]# rabbitmqctl start_app
[root@node3 ~]# rabbitmqctl start_app
RabbitMQ集群搭建参考官方文档:
RabbitMQ HA集群搭建
初识RabbitMQ——AMQP 0-9-1
SpringBoot整合RabbitMQ——Direct交换机
SpringBoot整合RabbitMQ——Fanout交换机
SpringBoot整合RabbitMQ——Topic交换机
SpringBoot整合RabbitMQ——Headers交换机