rabbitmq 启动

1、实验环境

3
rabbitmq-node1.com192.168.1.112
rabbitmq-node2.com192.168.1.113
rabbitmq-node3.com192.168.1.128

2、配置前检查同步时间

 
#ntpdate pool.ntp.org

3、注意一定要修改hosts

#cat /etc/hosts
192.168.1.112   rabbitmq-node1.com rabbitmq-node1
192.168.1.113   rabbitmq-node2.com rabbitmq-node2
192.168.1.128   rabbitmq-node3.com rabbitmq-node3

4、安装erlang

 
#yum -y install erlang

5、安装rabbitqmq

#wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.8.6/rabbitmq-server-2.8.6-1.noarch.rpm
#yum -y install rabbitmq-server-2.8.6-1.noarch.rpm
 
[root@rabbitmq-node1 ~] # /etc/init.d/rabbitmq-server start
Starting rabbitmq-server: SUCCESS
rabbitmq-server.

wKiom1SNk0rzDHwLAAMCEmLBc80539.jpg

 
# rabbitmqctl status        //查看状态

6安装插件管理界面  

#mkdir -m 777 /etc/rabbitmq/ (如果目录已经存在直接执行 # chmod 777 /etc/rabbitmq/)
#rabbitmq-plugins enable rabbitmq_management
重启rabbitmq-server
#rabbitmqctl stop
#/etc/init.d/rabbitmq-server start

 

查看管理端口有没有启动:

 
# netstat -tnlp|grep 55672

wKioL1SNk6HAqqi-AAKaRTzIU9g550.jpg 

浏览器打开http://IP:55672 账号密码都是guest

 

 

注意rabbitmq3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。

如果想使用guest/guest通过远程机器访问,需要在rabbitmq配置文件中(/etc/rabbitmq/rabbitmq.config)中设置loopback_users[]

/etc/rabbitmq/rabbitmq.config文件完整内容如下(注意后面的半角句号):

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

 

7rabbitmq集群配置

(1)设置每个节点Cookie

Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是400的权限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信

# cat /var/lib/rabbitmq/.erlang.cookie 
EJARCZORCOTEQWFGPWXR

(2)停止所有节点RabbitMQ服务,然后使用detached参数独立运行,这步很关键,尤其增加节点停止节点后再次启动遇到无法启动都可以参照这个顺序

[root@rabbitmq-node3 ~] #rabbitmq-server -detached
[root@rabbitmq-node2 ~] #rabbitmq-server -detached
[root@rabbitmq-node1 ~] #rabbitmq-server -detached

(3)关于节点类型(ram |disk

ram节点的状态保存在内存中,disk节点保存在磁盘中被加入的节点为disk,如本例中rabbit@host2ram节点,rabbit@host1rabbit@host3ram节点可以通过rabbitmqctl cluster命令改变加入的集群以及节点类型该命令后可以加多个节点名称,指定的节点就会变成disk节点

[root@rabbitmq-node3 ~] #rabbitmqctl cluster_status
[root@rabbitmq-node3 ~] #rabbitmq stop_app
[root@rabbitmq-node3 ~] #rabbitmqctl reset
[root@rabbitmq-node3 ~] #rabbitmqctl cluster
[root@rabbitmq-node3 ~] #rabbitmqctl start_app
 
指定为 ram
[root@rabbitmq-node2 ~] #rabbitmq stop_app
[root@rabbitmq-node2 ~] #rabbitmqctl reset
[root@rabbitmq-node2 ~] #rabbitmqctl cluster rabbit@rabbitmq-node3
[root@rabbitmq-node2 ~] #rabbitmqctl start_app
 
指定为disc
[root@rabbitmq-node1 ~] #rabbitmq stop_app
[root@rabbitmq-node1 ~] #rabbitmqctl reset
[root@rabbitmq-node1 ~] #rabbitmqctl cluster rabbit@rabbitmq-node3 rabbit@rabbitmq-node1
[root@rabbitmq-node1 ~] #rabbitmqctl start_app

 

(4)自动配置集群,默认文件是没有的,如果需要必须手动创建

[root@rabbitmq-node1 ~] # cat /etc/rabbitmq/rabbitmq.conf 
[
 
...
 
{rabbit, [
 
...
 
{cluster_nodes, [ 'rabbit@rabbitmq-node1' , 'rabbit@rabbitmq-node2' 'rabbit@rabbitmq-node3' ]},
 
...
 
]},
 
...
 
].
 
[root@rabbitmq-node1 ~] # cat /etc/rabbitmq/rabbitmq-env.conf 
RABBITMQ_MNESIA_BASE= /var/lib/rabbitmq/// 需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE= /var/log/rabbitmq///log 的路径
RABBITMQ_PLUGINS_DIR= /usr/lib/rabbitmq/lib/rabbitmq_server-2 .8.6 /plugins// 插件的路径

(5)启动后就自动加入集群了

[root@rabbitmq-node1 ~] #rabbitmq-server -detached
[root@rabbitmq-node1 ~] # rabbitmqctl cluster_status
Cluster status of node  'rabbit@rabbitmq-node1'  ...
[{nodes,[{disc,[ 'rabbit@rabbitmq-node1' , 'rabbit@rabbitmq-node3' ]},
          { ram ,[ 'rabbit@rabbitmq-node2' ]}]},
  {running_nodes,[ 'rabbit@rabbitmq-node2' , 'rabbit@rabbitmq-node3' ,
                  'rabbit@rabbitmq-node1' ]}]
... done .

 

(6)在浏览器中可以看到所有节点的信息,如果其他节点信息没有显示启用web管理就好,注意这个地方的端口也可能是 15672,所以如果55672端口不行的话就换15672试试

 

wKioL1SNlEjS6BUiAAMw5AoTxCo107.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值