在Linux下安装RabbitMQ

这篇具有很好参考价值的文章主要介绍了在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

linux 查询rabbitmq服务,Java,rabbitmq,分布式,java

进入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", []).

linux 查询rabbitmq服务,Java,rabbitmq,分布式,java

大功告成,我们的 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

linux 查询rabbitmq服务,Java,rabbitmq,分布式,java

  安装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!保存并退出

linux 查询rabbitmq服务,Java,rabbitmq,分布式,java

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

验证集群 

linux 查询rabbitmq服务,Java,rabbitmq,分布式,java

 集群搭建成功!文章来源地址https://www.toymoban.com/news/detail-612601.html

 项目中配置集群访问

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

到了这里,关于在Linux下安装RabbitMQ的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务学习:SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

    目录 一、高级篇 二、面试篇 ==============实用篇============== day05-Elasticsearch01 1.初识elasticsearch 1.4.安装es、kibana 1.4.1.部署单点es 1.4.2.部署kibana 1.4.3.安装IK分词器 1.4.4.总结 2.索引库操作 2.1.mapping映射属性 2.2.索引库的CRUD 2.2.1.创建索引库和映射 2.2.2.查询索引库 2.2.3.修改索引库 2.

    2024年02月02日
    浏览(54)
  • 在linux上启动、重启、查询、停止java服务脚本,并且设置定时任务自动执行

    以下代码来源于另一位博主,在实践过程中需要设置定时任务,所以遇到一些问题,把没有写清楚的地方优化了一下。 我们把上面的脚本复制到以下目录的脚本文件/data/www/shtools/startmanage.sh,执行命令可以得到不同的结果。 设置的三个定时任务运行脚本, 第一个是0 3 * * *

    2024年02月07日
    浏览(60)
  • 微服务分布式搜索引擎 ElasticSearch 查询文档

    本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 ElasticSearch 的查询依然是基于 JSON风格的DSL 来实现的。 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的

    2023年04月15日
    浏览(47)
  • 解决Linux Ubuntu上安装RabbitMQ服务后的公网远程访问问题,借助cpolar内网穿透技术

    RabbitMQ是一个在 AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。 由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,由于erlang 语言的高并发特性,性能较好,本质是个队列,FIFO 先入先出,里面存放的内容

    2024年02月10日
    浏览(34)
  • 微服务技术栈SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式(五):分布式搜索 ES-下

    聚合(aggregations)可以实现对文档数据的统计、分析、运算。聚合常见的有三类: 桶(Bucket)聚合:用来对文档做分组 TermAggregation:按照文档字段值分组 Date Histogram:按照日期阶梯分组,例如一周为一组,或者一月为一组 度量(Metric)聚合:用以计算一些值,比如:最大值

    2024年03月26日
    浏览(61)
  • SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈

    我们发现在微服务中有一个令人头疼的问题——部署,用Docker去解决这个部署难题 1、项目部署的问题 2、Docker 扔到一台机器上,它们的依赖难道没有干扰吗?不会,docker将打包好的程序放到一个隔离容器去运行,使用沙箱机制,避免互相干扰,之间不可见,这样就解决了混

    2023年04月24日
    浏览(44)
  • 开源.NET8.0小项目伪微服务框架(分布式、EFCore、Redis、RabbitMQ、Mysql等)

    为什么说是伪微服务框架,常见微服务框架可能还包括服务容错、服务间的通信、服务追踪和监控、服务注册和发现等等,而我这里为了在使用中的更简单,将很多东西进行了简化或者省略了。 年前到现在在开发一个新的小项目,刚好项目最初的很多功能是比较通用的,所以

    2024年03月09日
    浏览(53)
  • Linux安装RabbitMQ,怎么使用RabbitMQ

    MQ(消息队列),典型的生产者消费者模式,生产者不断向消息队列发送消息,消费者不断从消息队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松实现了系统之间的解耦合。通过高效的可靠的消息传递机制进行系统

    2024年02月12日
    浏览(36)
  • RabbitMQ学习(二)——Linux下安装RabbitMQ

    1、 先去官网下载RabbitMQ 下载地址 :Downloading and Installing RabbitMQ — RabbitMQ 选择对应的系统版本点击下载,下载后会得到 .rpm 文件   2、下载Erlang RabbitMQ是采用 Erlang语言开发的,所以系统环境必须提供 Erlang环境,需要是安装 Erlang Erlang 和 RabbitMQ 版本对照:RabbitMQ Erlang Version

    2024年02月08日
    浏览(38)
  • 基于Linux的Hadoop伪分布式安装

    1.1 创建新用户(需注意权限问题:切换为root用户) 1.2 添加新用户hadoop,并设置相关信息(一直回车默认就可以) 1.3 退出当前用户登录hadoop用户(或直接在Ubuntu中切换用户即可) 1.4 以管理员身份(root用户)执行指令visudo,来修改配置 visudo打开的是 /etc/sudoers 文件,修改该

    2024年02月03日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包