概述
RabbitMQ是一种对高级消息队列协议AMQP的Erlang语言的实现,消息接口支持多种语言如C\C++,Ruby,Java,Go,Python等。本文档将描述RabbitMQ的安装部署的具体步骤和集群的相关配置信息。
安装环境及依赖
- 操作系统CentOS 7
- Erlang 17.5
- Gcc编译器
安装步骤
- 离线安装(yum安装可直接跳过)
- 安装GCC
- 安装Erlang依赖ncurses-5.9
使用tar zxf ncurses-5.9.tar.gz命令解压安装包
切入ncurses-5.9并安装
./configure
make && make install
- 安装Erlang 17.5
使用 tar -zxf otp_src_17.5.tar.gz 解压安装包并安装:
./configure
make && make install
使用erl命令验证安装:
- 安装RabbitMQ
解压安装包tar -zxf rabbitmq-server-3.5.1
切入目录rabbitmq-server-3.5.1/scripts中即可运行RabbitMQ服务
nohup ./rabbitmq-server &
如果rabbitmq-server无执行权限请使用chmod +x rabbitmq-server 赋予执行权限
- 配置
RabbitMQ安装完之后默认只能本机登陆,且浏览器监控插件未启用,需做如下配置:
- 启用web监控插件:
./rabbitmq-plugins enable rabbitmq_management |
- 新建用户并添加远程登陆权限
./rabbitmqctl add_user username pwd ./rabbitmqctl set_user_tags username administrator ./rabbitmqctl list_users ./rabbitmqctl set_permissions -p "/" username ".*" ".*" ".*" ./rabbitmqctl list_permissions -p / |
配置完之后即可使用浏览器访问15672端口的Web管理界面:
集群配置
集群通信中各个节点的.erlang.cookie文件必须一致,用以保证Erlang多节点通信。文件一般在/root/目录中(或启动服务用户的目录下),或/var/lib/rabbitmq/目录中。
文件一致后,启动子节点所有服务并加入集群执行如下命令(请根据实际域名修改):
rabbit2$ rabbitmqctl stop_app Stopping node rabbit@rabbit2 ...done. rabbit2$ rabbitmqctl join_cluster --ram rabbit@rabbit1 Clustering node rabbit@rabbit2 with [rabbit@rabbit1] ...done. rabbit2$ rabbitmqctl start_app Starting node rabbit@rabbit2 ...done. |
其中 –ram 字段为添加内存节点命令,无此标识者为磁盘节点,请在集群中至少布置一个磁盘节点,并尽可能负载内存节点以提高运行速度。
添加完毕可以使用如下命令查看集群状态:
rabbitmqctl cluster_status
也可通过任意节点的Web页面观察集群Node状态:
集群景象模式可以使用命令配置:
./rabbitmqctl set_policy -p / ha-allqueue"^" '{"ha-mode":"all"}'
也可以在Web管理控制页面中添加策略:
备注
RabbitMQ启动 (集群配置好依次启动即可)
nohup ./rabbitmq-server &
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除