- 安装步骤:
上传文件至服务器上,依次执行如下命令:
rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
rpm -ivh rabbitmq-server-3.7.18-1.el7.noarch.rpm
复制配置文件:
cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
启动管理插件:
rabbitmq-plugins enable rabbitmq_management
日志目录:
/var/log/rabbitmq/
启动rabbitmq,查看状态,停止rabbitmq,重启mq命令如下
systemctl start rabbitmq-server
systemctl status rabbitmq-server
systemctl stop rabbitmq-server
systemctl restart rabbitmq-server
设置用户,权限
添加帐号:bestway 密码:bestway123
rabbitmqctl add_user bestway bestway123
赋予其administrator角色
rabbitmqctl set_user_tags bestway administrator
设置权限
rabbitmqctl set_permissions -p / bestway '.' '.' '.*'
开启防火墙:
访问路径:http://10.10.108.4:15672/firewall-cmd --zone=public --add-port=15672/tcp --permanent firewall-cmd --zone=public --add-port=5672/tcp --permanent firewall-cmd --zone=public --add-port=25672/tcp --permanent firewall-cmd --zone=public --add-port=4369/tcp --permanent
- 集群配置:
-- 加入配置文件(三个节点同步执行)
vim /etc/rabbitmq/rabbitmq.config
内容如下:
- 集群配置:
%% -*- mode: erlang -*-
[
{
rabbit,[
{tcp_listeners, [5672]},
{num_tcp_acceptors, 10},
{handshake_timeout, 10000},
{log_levels, [{connection, info}, {channel, info}]},
{loopback_users, []},
{default_vhost, <<"/">>},
{default_user, <<"root">>},
{default_pass, <<"1qaz@WSX">>},
{default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
{default_user_tags, [administrator]},
{heartbeat, 60},
{cluster_partition_handling, autoheal}
]
},
{
kernel,[]
},
{
rabbitmq_management,[
{listener, [{port, 15672}]}
]
},
{
rabbitmq_management_agent,[]
},
{
rabbitmq_shovel,[
{shovels,[]}
]
},
{
rabbitmq_stomp,[]
},
{
rabbitmq_mqtt,[]
},
{
rabbitmq_amqp1_0,[]
},
{
rabbitmq_auth_backend_ldap,[]
}
].
分别停止三台服务器上的mq服务。
10.10.108.2 ,10.10.108.3 ,10.10.108.4 三台主机,
设置10.10.108.4为主节点,其余为从节点
在10.10.108.4机器上执行cd /var/lib/rabbitmq
scp .erlang.cookie root@10.10.108.2:/var/lib/rabbitmq/
scp .erlang.cookie root@10.10.108.3:/var/lib/rabbitmq/
启动节点:
rabbitmqctl stop
rabbitmq-server -detached 【三台机器都要折行】
在2,3机器上执行:
rabbitmqctl stop_app # 停止rabbitmq服务
rabbitmqctl join_cluster rabbit@host4
rabbitmqctl start_app 【折行这个启动后,会加载前端界面】
设置开机自启:
分别在三台机器上执行:
chkconfig rabbitmq-server on
reated symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
在各个机器上检查集群状态:
rabbitmqctl cluster_status
Cluster status of node rabbit@host3 ...
[{nodes,[{disc,[rabbit@host2,rabbit@host3,rabbit@host4]}]},
{running_nodes,[rabbit@host2,rabbit@host4,rabbit@host3]},
{cluster_name,<<"rabbit@host4">>},
{partitions,[]},
{alarms,[{rabbit@host2,[]},{rabbit@host4,[]},{rabbit@host3,[]}]}]
在任意一台机器上执行:
rabbitmqctl set_policy ha-all '^' '{"ha-mode":"all","ha-sync-mode":"automatic"}'