离线安装RabbitMQ,非root普通用户启动RabbitMQ

0. 参考资料:

https://www.cnblogs.com/rmxd/p/11583932.html#_label0_0

1. 下载

https://www.rabbitmq.com/install-rpm.html#downloads下载3.8.3RabbitMQ
https://www.rabbitmq.com/releases/erlang/ 下载Erlang22.3 rpm版本(源码安装会有许多依赖限制)
https://download.csdn.net/download/bluestarjava/11257449 下载socat或参考第0章的链接下载。

2. 网络需求

5672 服务端口
15672 控制台端口
25672 集群通信端口
4369 erlang集群epmd维护端口

3. 安装

安装顺序:Erlang、socat、RabbitMQ
rpm -ihv ?.rpm
注:RabbitMQ安装必须使用root用户,会自动创建rabbitmq用户(没有登录权限),每次启动RabbitMQ时会使用rabbitmq用户启动。

4. 配置sudo

因信息化管理要求,不可以使用root用户,需要修改/etc/sudoers(或使用visudo命令),在最后增加以下两行以获得临时权限:

#grant RabbitMQ commands to admin
admin ALL=(root) NOPASSWD: /usr/sbin/rabbitmqctl,(root) NOPASSWD: /usr/sbin/rabbitmq-diagnostics,(root) NOPASSWD: /usr/sbin/rabbitmq-plugins,(root) NOPASSWD: /usr/sbin/rabbitmq-queues,(root) NOPASSWD: /usr/sbin/rabbitmq-server,(root) NOPASSWD: /usr/sbin/rabbitmq-upgrade

普通用户启动命令样例:sudo rabbitmq-server -detached

5. RabbitMQ集群配置

RabbitMQ的集群是依赖Erlang集群来实现的。

  • 启动服务
    rabbitmq-server -detached //启动rabbitmq,-detached代表后台守护进程方式启动
    第一次启动后,才会生成/var/lib/rabbitmq/.erlang.cookie

  • 修改 hosts
    首先,需要修改节点/etc/hosts文件,新增服务器IP配置:
    ip1 t46hywapp1
    ip2 t46zhyapp2

  • 设置 Erlang Cookie
    首先关闭服务:service rabbitmq-server stop

  • 将各节点的/var/lib/rabbitmq/.erlang.cookie修改为完全相同。

  • 加入集群
    加入集群前,必须使用rabbitmqctl stop_app关闭应用,但是不关闭运行时(Erlang VM)。

节点一:

rabbitmq-server -detached

节点二:

rabbitmq-server -detached
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@t46hywapp1
rabbitmqctl start_app 

6. 其他配置

RabbitMQ 常用的三种自定义服务器的通用方法:
• 配置文件 rabbitmq.conf
• 环境变量文件 rabbitmq-env.conf
• 补充配置文件 advanced.config

更改存储类型

sudo rabbitmqctl change_cluster_node_type disk

更改磁盘目录

修改/etc/security/limits.conf

rabbitmq	-	nofile	65536
mkdir -p /ywxf/rabbitmq/mnesia
mkdir -p /ywxf/rabbitmq/log
chmod -R 774 /ywxf/rabbitmq
chown  -R rabbitmq:rabbitmq  /ywxf/rabbitmq
chown  -R rabbitmq:rabbitmq  /ywxf/rabbitmq/mnesia
chown  -R rabbitmq:rabbitmq  /ywxf/rabbitmq/log
chmod -R 777 /ywxf/rabbitmq/

vi /etc/rabbitmq/rabbitmq-env.conf
增加如下两行内容

RABBITMQ_MNESIA_BASE=/ywxf/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/ywxf/rabbitmq/log

更改磁盘大小

sudo rabbitmqctl set_global_parameter disk_free_limit 5000000000

7. 创建管理员账户

rabbitmqctl add_user mq tfh@1234
rabbitmqctl set_user_tags mq administrator

修改配置文件(否则,重启后用户丢失)
vi /etc/rabbitmq/rabbitmq-env.conf

NODENAME=rabbit@test-rabitmq 

PS:NODENAME=rabbit@保持不变,后面为主机名hostname

8. 控制台管理

默认控制台插件未启动,启动插件命令:

rabbitmq-plugins enable rabbitmq_management

控制台URL:http://ip:15672/

9. 常用命令

root用户命令

rabbitmq-server -detached 启动RabbitMQ节点,并且启动运行时
rabbitmq-server stop 关闭RabbitMQ节点,并且关闭运行时
rabbitmqctl start_app 启动RabbitMQ应用程序,但运行时(Erlang VM)未运行时会报错。
rabbitmqctl stop_app 停止RabbitMQ应用程序,让运行时(Erlang VM)继续运行。
rabbitmqctl status 查看状态
rabbitmq-plugins enable rabbitmq_management 启用RabbitMQ_Management
rabbitmqctl cluster_status 集群状态
rabbitmqctl forget_cluster_node rabbit@rabbit3 节点摘除
rabbitmqctl reset application重置

普通用户命令

$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务
$ sudo /sbin/service rabbitmq-server start # 启动服务,并且启动运行时
$ sudo /sbin/service rabbitmq-server status # 查看服务状态
$ sudo /sbin/service rabbitmq-server stop # 停止服务,并且关闭运行时
$ sudo rabbitmqctl list_users # 查看当前所有用户
$ sudo rabbitmqctl list_user_permissions guest # 查看默认guest用户的权限,
$ sudo rabbitmqctl delete_user guest # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl add_user username password # 设置用户tag
rabbitmqctl add_user mq 123456 新增账户
rabbitmqctl set_user_tags mq administrator 新增账户属性
$ sudo rabbitmqctl set_permissions -p / username “." ".” “.*” # 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl list_user_permissions username # 查看用户的权限
rabbitmqctl environment 查看RabbitMQ的有效配置命令

10. 其他参考资料:

https://www.cnblogs.com/kaishirenshi/p/12132703.html
集群相关:https://segmentfault.com/a/1190000010702020

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人百员力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值