本文共 2772 字,大约阅读时间需要 9 分钟。
RabbitMQ 端口说明:
4369 – epmd,RabbitMQ节点和CLI工具使用的对等发现服务 5672 – 由不带TLS和带TLS的AMQP 0-9-1和1.0客户端使用 15672 – HTTP API客户端,管理UI和Rabbitmqadmin (仅在启用管理插件的情况下) 25672 --用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为AMQP端口+ 20000)。除非确实需要这些端口上的外部连接(例如,群集使用联合身份验证或在子网外部的计算机上使用CLI工具),否则这些端口不应公开我们连接RabbitMQ的话就要用client端通信口:
yum install -y epel-release
##安装依赖 yum install erlang -yrpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.ascyum install https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
systemctl enable rabbitmq-server
1) 修改rabbitmq的socket 文件数
##修改rabbitmq的socket 文件数 vim /usr/lib/systemd/system/rabbitmq-server.service[Service]LimitNOFILE=300000
###提高rabbitmq的内存低水位线(默认0.4)
vim /etc/rabbitmq/rabbitmq.config[{ rabbit, [{ vm_memory_high_watermark_paging_ratio, 0.75}, { vm_memory_high_watermark, 0.6}]}].
2) 配置用户登陆权限
vim /etc/rabbitmq/rabbitmq.config[{ rabbit, [{ loopback_users, []}]}].
开启用户远程访问
默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:{ loopback_users, []}
另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。
{ loopback_users, ["admin"]}
更新配置后,别忘了重启服务哦!
1) 创建用户
rabbitmqctl add_user ${youruser} ${yourpassword}rabbitmqctl set_user_tags ${youruser} administrator
2)启用web界面管理插件
rabbitmq-plugins enable rabbitmq_management
3)启动服务
systemctl start rabbitmq-server
1)修改 /var/lib/rabbitmq/.erlang.cookie 使集群中的服务器该文件内容保持一致
2)确保各节点网络互通,编辑各节点host解析vim /etc/hosts
192.168.1.1 host1(host这里注意是hostname 而不是rabbit@hostname) 192.168.1.2 host2
3)主节点开启应用(默认开启)
rabbitmqctl start_app
4)如果主机间有防火墙,先配置防火墙使之互通
firewall-cmd --add-port={5672,4369,25672}/tcp --permanent
5)在主节点以外其他节点执行
rabbitmqctl stop_app rabbitmqctl join_cluster rabbit@host1(主节点host) rabbitmqctl cluster_status rabbitmqctl start_app rabbitmqctl cluster_status
安装完成,web页面访问 192.168.1.1:15672
主机名修改后,rabbitmq报错:
Error: unable to connect to node rabbit@pub: nodedownDIAGNOSTICS===========attempted to contact: [rabbit@a-pub]rabbit@pub: * unable to connect to epmd (port 4369) on a-pub: nxdomain (non-existing domain)current node details:- node name: 'rabbitmq-cli-25@pub'- home dir: /var/lib/rabbitmq- cookie hash: hczXpvF39Wr2EpJ4cjRpAQ==
之前没找到原因,修改/etc/hosts,/etc/sysconfig/network 不起作用,然后重启了rabbitmq 也还是不行并且导致重启后用户丢失 ,此时你可以选择将hostname 改回去或者正确的姿势是将原hostname 写入下面的配置文件 ,保证rabbitmq 可以识别,原因见下面
echo ‘NODENAME=rabbit@pub’ > /etc/rabbitmq/rabbitmq-env.confps: Rabbitmq 重启后用户丢失解决办法
原因: RabbitMQ数据是根据当前hostname作为node节点作为数据名保存 如果在重启之前修改了主机名hostname ,那么程序会在/var/lib/rabbitmq/mnesia/ 下新建数据文件,而原来的账号等数据存在于原hostname命名的数据文件,因此导致用户丢失 解决办法: echo “NODENAME=rabbit@${yourhostname}” >> /etc/rabbitmq/rabbitmq-env.conf转载地址:http://wvkfi.baihongyu.com/