您的位置:首页 > 运维架构 > Linux

CentOS下 RabbitMQ单机安装配置

2017-10-30 17:37 344 查看
CentOS RabbitMQ rpm 安装方法:

系统环境:CentOS6
IP地址:10.100.62.41

1.erlang安装:

erlang下载地址: http://www.rabbitmq.com/releases/erlang/ 
[root@v05-apppre-rabbitmq ~]# cd /opt/ytd_src/

[root@v05-apppre-rabbitmq ytd_src]# wget http://www.rabbitmq.com/releases/erlang/erlang-18.2-1.el6.x86_64.rpm --2017-10-30 07:30:33--  http://www.rabbitmq.com/releases/erlang/erlang-18.2-1.el6.x86_64.rpm 正在解析主机 www.rabbitmq.com (www.rabbitmq.com)... 104.20.62.197, 104.20.63.197, 2400:cb00:2048:1::6814:3fc5, ...
正在连接 www.rabbitmq.com (www.rabbitmq.com)|104.20.62.197|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:18354700 (18M) [application/x-redhat-package-manager]
正在保存至: “erlang-18.2-1.el6.x86_64.rpm”

100%[===============================================================================>] 18,354,700   134KB/s 用时 3m 41s

2017-10-30 07:34:16 (81.0 KB/s) - 已保存 “erlang-18.2-1.el6.x86_64.rpm” [18354700/18354700])

[root@v05-apppre-rabbitmq ytd_src]# ll
总用量 17928
-rw-r--r-- 1 root root 18354700 1月   3 2016 erlang-18.2-1.el6.x86_64.rpm

[root@v05-apppre-rabbitmq ytd_src]# rpm -ivh erlang-18.2-1.el6.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
1:erlang-18.2-1.el6                ################################# [100%]
[root@v05-apppre-rabbitmq ytd_src]#

erlang版本地址:
wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
yum makecache
yum install socat


2.rabbitMQ安装:

下载地址:https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/

[root@v05-apppre-rabbitmq ytd_src]# wget https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el6.noarch.rpm --2017-10-30 07:42:07--  https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el6.noarch.rpm 正在解析主机 dl.bintray.com (dl.bintray.com)... 35.161.20.85, 52.34.155.241
正在连接 dl.bintray.com (dl.bintray.com)|35.161.20.85|:443... 已连接。
......
已发出 HTTP 请求,正在等待回应... 200 OK
长度:4964260 (4.7M) [application/x-rpm]
正在保存至: “rabbitmq-server-3.6.12-1.el6.noarch.rpm”

100%[===============================================================================>] 4,964,260   1.54MB/s 用时 3.1s

2017-10-30 07:42:14 (1.54 MB/s) - 已保存 “rabbitmq-server-3.6.12-1.el6.noarch.rpm” [4964260/4964260])
[root@v05-apppre-rabbitmq ytd_src]# ll
总用量 22776
-rw-r--r-- 1 root root 18354700 1月   3 2016 erlang-18.2-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  4964260 9月  21 03:34 rabbitmq-server-3.6.12-1.el6.noarch.rpm

[root@v05-apppre-rabbitmq ytd_src]# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc [root@v05-apppre-rabbitmq ytd_src]# rpm -ivh rabbitmq-server-3.6.12-1.el6.noarch.rpm
错误:依赖检测失败:
socat 被 rabbitmq-server-3.6.12-1.el6.noarch 需要

解决报错:

[root@v05-apppre-rabbitmq ytd_src]# wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
[root@v05-apppre-rabbitmq ytd_src]# yum makecache -y
[root@v05-apppre-rabbitmq ytd_src]# yum install socat -y

[root@v05-apppre-rabbitmq ytd_src]# rpm -ivh rabbitmq-server-3.6.12-1.el6.noarch.rpm
准备中...                          ################################# [100%]
正在升级/安装...
1:rabbitmq-server-3.6.12-1.el6     ################################# [100%]


3.安装管理插件:

[root@v05-apppre-rabbitmq ytd_src]# rabbitmq-plugins enable rabbitmq_management


4.启动服务:

[root@v05-apppre-rabbitmq ytd_src]# service rabbitmq-server start
Starting rabbitmq-server (via systemctl):                  [  确定  ]


5.浏览器访问:

http://10.100.62.41:15672


用系统默认的guest账号 结果登录失败 可能权限的问题吧,果断创建一个用户.

添加用户:
[root@v05-apppre-rabbitmq ytd_src]# rabbitmqctl add_user admin 123456
Creating user "admin"
[root@v05-apppre-rabbitmq ytd_src]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator]
[root@v05-apppre-rabbitmq ytd_src]#


6.重启服务:

[root@v05-apppre-rabbitmq ytd_src]# service rabbitmq-server restart


至此MQ单机版就已经安装完成了.

解决/etc/rabbitmq/rabbitmq.config (not found)问题:

Config file	/etc/rabbitmq/rabbitmq.config  (not found)
Database directory	/var/lib/rabbitmq/mnesia/rabbit@localhost
Log file	/var/log/rabbitmq/rabbit@localhost.log
SASL log file	/var/log/rabbitmq/rabbit@localhost-sasl.log

新建一个文件:/etc/rabbitmq/rabbitmq.config,输入一下配置内容:

[{rabbit, [{loopback_users, []}]}].


由于机器有限,就打算在测试环境给搭建个单机集群版的MQ。

单机集群版配置:

查看第一个节点的状态,(就是默认的单机版状态)

[root@v05-apppre-rabbitmq ~]# rabbitmqctl status
Status of node 'rabbit@v05-apppre-rabbitmq'
[{pid,1957},
{running_applications,

我们看到默认启动的是rabbit@v05-apppre-rabbitmq


1.启动第一个节点(即是单机MQ)

RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit@v05-apppre-rabbitmq rabbitmq-server
#由于这个MQ前面已经启动,在这里再启动时可能会报已经启动的错误,暂且不理.


2.启动第二个节点:

RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}] -rabbitmq_stomp tcp_listeners [61614] -rabbitmq_mqtt  tcp_listeners [1884]" RABBITMQ_NODENAME=rabbit-01@v05-apppre-rabbitmq rabbitmq-server -detached

[root@v05-apppre-rabbitmq ~]# rabbitmqctl status -n rabbit-01@v05-apppre-rabbitmq
Status of node 'rabbit-01@v05-apppre-rabbitmq'
[{pid,17574},
......


3.启动第三个节点:

RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}] -rabbitmq_stomp tcp_listeners [61615] -rabbitmq_mqtt  tcp_listeners [18845]" RABBITMQ_NODENAME=rabbit-02@v05-apppre-rabbitmq rabbitmq-server -detached

[root@v05-apppre-rabbitmq ~]# rabbitmqctl status -n rabbit-02@v05-apppre-rabbitmq                                        Status of node 'rabbit-02@v05-apppre-rabbitmq'
[{pid,19076},
......


集群操作:

节点二(rabbit-01@v05-apppre-rabbitmq)添加到集群:

停止第二个节点的应用程序:
[root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-01@v05-apppre-rabbitmq stop_app
Stopping rabbit application on node 'rabbit-01@v05-apppre-rabbitmq'

重新设置第二个节点的元数据和状态为清空状态
[root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-01@v05-apppre-rabbitmq reset
Resetting node 'rabbit-01@v05-apppre-rabbitmq'
[root@v05-apppre-rabbitmq ~]#

将rabbit-01@v05-apppre-rabbitmq节点加入rabbit@v05-apppre-rabbitmq集群节点中

[root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-01@v05-apppre-rabbitmq join_cluster rabbit@v05-apppre-rabbitmq
Clustering node 'rabbit-01@v05-apppre-rabbitmq' with 'rabbit@v05-apppre-rabbitmq'
[root@v05-apppre-rabbitmq ~]#
重新启动rabbit-01@v05-apppre-rabbitmq节点
[root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-01@v05-apppre-rabbitmq start_app
Starting node 'rabbit-01@v05-apppre-rabbitmq'


节点三添加到集群:

[root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-02@v05-apppre-rabbitmq stop_app
Stopping rabbit application on node 'rabbit-02@v05-apppre-rabbitmq'
[root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-02@v05-apppre-rabbitmq reset
Resetting node 'rabbit-02@v05-apppre-rabbitmq'
[root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-02@v05-apppre-rabbitmq join_cluster rabbit@v05-apppre-rabbitmq
Clustering node 'rabbit-02@v05-apppre-rabbitmq' with 'rabbit@v05-apppre-rabbitmq'
[root@v05-apppre-rabbitmq ~]#
[root@v05-apppre-rabbitmq ~]# rabbitmqctl -n rabbit-02@v05-apppre-rabbitmq start_app
Starting node 'rabbit-02@v05-apppre-rabbitmq'
[root@v05-apppre-rabbitmq ~]#


查看集群状态:

[root@v05-apppre-rabbitmq ~]# rabbitmqctl cluster_status -n rabbit@v05-apppre-rabbitmq
Cluster status of node 'rabbit@v05-apppre-rabbitmq'
[{nodes,[{disc,['rabbit-01@v05-apppre-rabbitmq',
'rabbit-02@v05-apppre-rabbitmq',
'rabbit@v05-apppre-rabbitmq']}]},
{running_nodes,['rabbit-02@v05-apppre-rabbitmq',
'rabbit-01@v05-apppre-rabbitmq',
'rabbit@v05-apppre-rabbitmq']},
{cluster_name,<<"rabbit@v05-apppre-rabbitmq">>},
{partitions,[]},
{alarms,[{'rabbit-02@v05-apppre-rabbitmq',[]},
{'rabbit-01@v05-apppre-rabbitmq',[]},
{'rabbit@v05-apppre-rabbitmq',[]}]}]
[root@v05-apppre-rabbitmq ~]#


参考文档:http://www.cnblogs.com/wanglan/p/7662471.html

     http://blog.csdn.net/Java_HuiLong/article/details/73718714
     https://github.com/rabbitmq/erlang-rpm http://www.rabbitmq.com/download.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: