专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Centos源码安装RabbitMq笔记

1. erlang和rabbitmq版本兼容性

在安装rabbitmq之前需要先安装erlang,需要注意两者之间的对应关系,可参考官网: www.rabbitmq.com/which-erlan…

89_1.png

2. 安装erlang

2.1 下载erlang源码

这里erlang版本选择21.3,可相应修改版本。

wget http://erlang.org/download/otp_src_21.3.tar.gz

2.2 安装必要环境

不确定源码安装是否需要这一步

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
yum install unixODBC unixODBC-devel

2.3 编译及安装

cd otp_src_21.3
./configure --prefix=/home/jw/install/erlang --with-ssl=/home/jw/.jumbo/etc/ssl/
make && make install 

其中第二步编译时需要注意指定openssl(不确定是否需要),否则可能会导致erlang找不到openssl,报如下错误:

89_2.png

ssl目录如下:

89_3.png

2.4 配置环境变量

(1)vim /etc/profile
(2)文件末尾追加以下内容:

# erlang
export ERLANG_HOME=/home/jw/install/erlang
export PATH=$PATH:$ERLANG_HOME/bin

(3)source /etc/profile

2.5 验证erlang和openssl

执行erl,并输入ssl:versions().验证erlang是否正确安装。

89_4.png

3. 安装rabbitmq

3.1 下载rabbitmq源码

选择3、8.3

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-generic-unix-3.8.3.tar.xz

官网下载页面:

https://www.rabbitmq.com/install-generic-unix.html

3.2 安装必要环境

不确定源码安装是否需要这一步

yum install python -y
yum install xmlto -y
yum install python-simplejson -y

3.3 配置环境变量

(1)vim /etc/profile
(2)文件末尾追加以下内容:

# rabbitmq
export RABBITMQ_HOME=/home/jw/install/rabbitmq_server-3.8.3
export PATH=$PATH:$RABBITMQ_HOME/sbin

(3)source /etc/profile

3.4 配置文件准备和修改

3.4.1 设置配置文件路径

(1)cd /home/jw/install/rabbitmq_server-3.8.3/etc/rabbitmq
(2)vim rabbitmq-env.conf
(3)输入以下内容来设置配置文件路径

CONFIG_FILE=/home/jw/install/rabbitmq_server-3.8.3/etc/rabbitmq/rabbitmq

需要注意的是,该行省略了最后的.conf,所表示的配置文件路径应该是:

/home/jw/install/rabbitmq_server-3.8.3/etc/rabbitmq/rabbitmq.conf

3.4.2 配置文件

在github上下载一份实例配置文件,放到所配置的目录下,并命名为rabbitmq.conf。
github地址:github.com/rabbitmq/ra…

89_5.png

3.4.3 修改端口号

可以在配置文件中修改端口号。
例如,修改WEB管理插件的端口号(默认为15672):

management.tcp.port = 8801

3.4.4 启用WEB管理插件

cd /home/jw/install/rabbitmq_server-3.8.3/sbin
# 查看支持的插件
./rabbitmq-plugins list
#启动WEB管理插件
./rabbitmq-plugins enable rabbitmq_management

3.4.5 修改访问WEB管理页面控制

如果在其它机器上访问rabbitmq WEB管理页面,则需要访问权限。
注:rabbitmq默认账号和密码均为guest。
(1)vim /home/jw/install/rabbitmq_server-3.8.3/ebin/rabbit.app
(2)将{loopback_users, [<<"guest">>]}修改为{loopback_users, []}

3.5 启动RabbitMQ、查看状态及停止RabbitMQ

cd /home/jw/install/rabbitmq_server-3.8.3/sbin
# 后台运行RabbitMQ
./rabbitmq-server -detached

#查看RabbitMQ运行状态
ps -ef | grep rabbitmq
# 默认端口5672 15672 25672
netstat -tnlp|grep 5672
./rabbitmqctl status 

#停止RabbitMQ
./rabbitmqctl stop 

3.6 登录WEB管理页面

输入 http://ip:port/ 输入账号密码,默认账号和密码均为guest 进入管理页面

89_6.png

3.7 创建用户,并允许通过web页面登录

rabbitmqctl add_user userName password
// 如果要从web页面登录,还需要添加管理员的权限
rabbitmqctl set_user_tags userName administrator
rabbitmqctl set_permissions --vhost '/' userName '.*' '.*' '.*'

4. RabbitMQ集群安装

4.1 单机器多节点集群安装

单机器多节点集群,一般用于没有足够机器、开发测试使用。

(1)启动多节点server

需要在不同端口上启动多个server,可以通过启动时设置环境变量方式(端口、node名)来在多个端口上启动mq server,如下:

RABBITMQ_NODE_PORT=8800 RABBITMQ_NODENAME=rabbit1 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,8810}]" ./rabbitmq-server -detached
RABBITMQ_NODE_PORT=8801 RABBITMQ_NODENAME=rabbit2 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,8811}]" ./rabbitmq-server -detached
RABBITMQ_NODE_PORT=8802 RABBITMQ_NODENAME=rabbit3 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,8812}]" ./rabbitmq-server -detached

(2)节点添加到集群

以某个节点为基准,将其它节点依次添加到集群,依次执行stop_app、reset、join_cluster、start_app、cluster_status。

# 停止 rabbit2 的 Erlang 虚拟机
rabbitmqctl -n rabbit2@host stop_app
rabbitmqctl -n rabbit2@host reset
rabbitmqctl -n rabbit2@host join_cluster rabbit1@host
rabbitmqctl -n rabbit2@host start_app

4.2 多机器多节点集群安装

需要注意的是,每台机器在源码安装了rabbitmq之后最好先不要启动mq server,先进行机器间cookie同步

(1)cookie文件同步

以一台机器为准,将所有其它机器的cookie文件内容以该机器为准。
cookie文件路径一般是/var/lib/rabbitmq/.erlang.cookie或者$HOME/.erlang.cookie

假如cookie文件只读,那么需要修改文件权限:

// 增加可写权限
chmod +w $HOME/.erlang.cookie
// 修改文件内容

// 下一步在运行mq提示不能访问cookie时可使用
chmod 600 /home/work/.erlang.cookie

(2)启动mq server

多台机器依次启动mq server:

./rabbitmq-server -detached

(3)修改host文件

为每个mq node名和ip在host文件中增加映射,例如:

192.168.0.2 node1
192.168.0.3 node2
192.168.0.4 node3

(4)节点加入集群

选择一台机器作为基准,其它机器依次执行stop_app、reset、join_cluster、start_app、cluster_status。

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
rabbitmqctl cluster_status

参考网址

https://blog.csdn.net/weixin_41004350/article/details/83046842
https://blog.csdn.net/qq_39007083/article/details/104977840
https://blog.51cto.com/8355320/2445237

文章永久链接:https://tech.souyunku.com/36636

未经允许不得转载:搜云库技术团队 » Centos源码安装RabbitMq笔记

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们