在Linux下安装RabbitMQ

获取erlang(RabbitMQ依赖erlang)

erlang网站主页:https://www.erlang.org/
下载地址:https://erlang.org/download/otp_src_25.0.tar.gz

 获取RabbitMQ

RabbitMQ网站主页: https://www.rabbitmq.com/
下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.4/rabbitmq-server-generic-unix-3.10.4.tar.xz

安装 erlang 的依赖工具

[root@bogon local]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel

进入erlang 安装包解压文件对 erlang 进行安装环境的配置

 新建一个文件夹

[root@bogon local]# mkdir erlang

对 erlang 进行安装环境的配置

[root@bogon local]# cd otp_src_25.0
[root@bogon otp_src_25.0]# ./configure --prefix=/usr/local/erlang --without-javac

编译安装

[root@bogon otp_src_25.0]# make && make install

验证一下 erlang 是否安装成功了

[root@bogon otp_src_25.0]# ./bin/erl

运行下面的语句输出“hello world” 

io:format("hello world~n", []).

大功告成,我们的 erlang 已经安装完成。

配置 erlang 环境变量

echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

运行下列命令使配置文件profile生效 

 [root@bogon etc]# source /etc/profile

 输入 erl 查看 erlang 环境变量是否配置正确

 [root@bogon etc]# erl

 
安装RabbitMQ


1.解压 RabbitMQ : tar -xvf rabbitmq-server-generic-unix-3.10.4.tar.xz

    默认地址 /usr/local/rabbitmq/

2.修改环境变量:

echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

 执行如下命令,使环境变量立即生效

source /etc/profile

3.启动 RabbitMQ
切换至 RabbitMQ 安装目录:cd /usr/local/rabbitmq/sbin
启动 RabbitMQ : ./rabbitmq-server
如果有如下报错 :

./rabbitmq-server: 第 73 行:exec: erl: 未找到

是由于 erlang 的环境变量配置问题,临时配置 erlang 的环境变量,执行命令,路径为 erlang 的安装路径下的bin目录: export PATH=$PATH:/usr/local/erlang/bin,再次启动,启动成功提示如下:

Doc guides:  https://rabbitmq.com/documentation.html
Support:     https://rabbitmq.com/contact.html
Tutorials:   https://rabbitmq.com/getstarted.html
Monitoring:  https://rabbitmq.com/monitoring.html
Logs:/usr/local/rabbitmq/var/log/rabbitmq/rabbit@localhost.log
     /usr/local/rabbitmq/var/log/rabbitmq/rabbit@localhost_upgrade.log
 <stdout>
Config file(s): (none)
Starting broker... completed with 0 plugins.


日志路径:/usr/local/rabbitmq/var/log/rabbitmq/rabbit@localhost.log
4.查看启动的 RabbitMQ : netstat -nap | grep 5672

tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      1495/beam.smp       
tcp6       0      0 :::5672                 :::*                    LISTEN      1495/beam.smp

5.关闭 RabbitMQ : ./rabbitmqctl stop
提示如下:

Stopping and halting node rabbit@localhost ...

可以通过命令 rabbitmq-server erl,来直接启动 RabbitMQ 和 erlang
6.后台启动 RabbitMQ : rabbitmq-server -detached
7.查看后台是否启动成功:ps -ef | grep rabbitmq

root      1737      1  0 7月06 ?       00:00:31 /usr/local/erlang/lib/erlang/erts-13.0/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sbwtdio none -B i -- -root /usr/local/erlang/lib/erlang -bindir /usr/local/erlang/lib/erlang/erts-13.0/bin -progname erl -- -home /root -- -pa  -noshell -noinput -s rabbit boot -boot start_sasl -syslog logger [] -syslog syslog_error_logger false -kernel prevent_overlapping_partitions false -noshell -noinput
root      2686  1426  0 00:07 pts/0    00:00:00 grep --color=auto rabbit
8.开启插件
​​​​​​​rabbitmq-plugins enable rabbitmq_management

 9.创建账号

        9.1 查看所有用户   

rabbitmqctl list_users

        9.2 添加用户        

rabbitmqctl add_user admin 123456

         9.3 配置权限               

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

        9.4 查看用户权限

rabbitmqctl list_user_permissions admin

        9.5 设置tag

rabbitmqctl set_user_tags admin administrator

10.开放端口

firewall-cmd --zone=public --add-port=15672/tcp --permanent

11.重启防火墙

firewall-cmd --reload

##后者关闭防火墙
systemctl stop firewalld

http://ip:15672   //访问RabbitMQ管理界面

开始配置集群

1.配置两台机器的hosts

vim /etc/hosts  ##修改后使用:wq!保存并退出

2、停止服务 

rabbitmqctl stop

3、设置erlang cookie 

这里将 node1 的该文件复制到 node2,由于这个文件权限是 400为方便传输,先修改权限,所以需要先修改 node2中的该文件权限为 777。

集群各节点的cookie必须保持一致,否则无法通信。

erlang是通过主机名来连接服务,必须保证各个主机名之间可以ping通。可以通过编辑/etc/hosts来手工添加主机名和IP对应关系。如果主机名ping不通,rabbitmq服务启动会失败。

A、设置777权限

slave1&slave2:

chmod 777 /root/.erlang.cookie

注意.erlang.cookie的目录,也有可能在/var/lib/rabbitmq/.erlang.cookie

B、拷贝cookie文件

将master节点上的cookie拷贝至slave1&slave2

scp /root/.erlang.cookie slave1:/root/

拷贝过程中会输yes和密码

C、最后将权限和所属用户/组修改回来

slave1&slave2:

chmod 400 /root/.erlang.cookie

chown root /root/.erlang.cookie

chgrp root /root/.erlang.cookie

2.运行各节点

master&slave1&slave2:

rabbitmqctl stop

rabbitmq-server –detached

3.组成集群

将slave1&slave2加入集群

rabbitmqctl stop_app

rabbitmqctl join_cluster rabbit@master

rabbitmqctl start_app

验证集群 

 集群搭建成功!

 项目中配置集群访问

spring:
  rabbitmq:
    addresses: 172.31.163.91:5672,172.31.163.90:5672,172.31.163.92:5672
    username: admin
    password: 123456
    virtual-host: /test

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值