Linux安装RabbitMQ以及集群搭建

RabbitMQ安装

安装Erlang环境

安装依赖

      yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

安装ncurses

      yum -y install ncurses-devel

安装erlang环境

     下载地址     https://pan.baidu.com/s/1ILmMOKH5ddDYNf3pGzxJng   提取码:2g2o  【建议使用这个】

      在线下载    wget http://erlang.org/download/otp_src_18.2.1.tar.gz

     执行如下命令:

      tar xvfz otp_src_18.2.1.tar.gz

      ./configure

      make && make install

检查是否安装成功:  执行  erl

下载rabbitmq-server-3.6.9.tar.xz

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz

对于下载xz包进行解压,首先先下载xz压缩工具:

yum install xz

对rabbitmq包进行解压:

xz -d xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.6.9.tar

随后移动至/usr/local/下 改名rabbitmq:

cp -r rabbitmq_server-3.6.9 /usr/local/rabbitmq

这种下载的方式解压后直接可以使用,无需再编译安装;

进入到rabbit文件内,其命令文件存在于sbin文件夹下,因此需要将sbin文件夹的路径添加到PATH中:修改/etc/profile

export PATH=/usr/local/rabbitmq/sbin:$PATH

执行

source /etc/profile

使得PATH路径更新,rabbitMQ安装成功。

随后启用MQ管理方式:

rabbitmq-plugins enable rabbitmq_management #启动后台管理 rabbitmq-server -detached #后台运行rabbitmq

chkconfig rabbitmq-server on # 开机启动

设置端口号,可供外部访问:

iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

添加用户和权限

默认网页guest用户是不允许访问的,需要增加一个用户修改一下权限,代码如下:

添加用户:

rabbitmqctl add_user admin admin

修改用户角色:

rabbitmqctl set_user_tags admin administrator

创建和服角色后查看确认

rabbitmqctl list_users  

添加权限:

 rabbitmqctl add_vhost admin

rabbitmqctl set_permissions -p admin admin ".*" ".*" ".*"

然后就可以远程访问了,然后可直接配置用户权限等信息。

RabbitMQ的简单指令

启动服务:rabbitmq-server -detached【 /usr/local/rabbitmq/sbin/rabbitmq-server -detached 】

重启服务:rabbitmq-server restart

关闭服务:rabbitmqctl stop

查看状态:rabbitmqctl status

列出角色:rabbitmqctl list_users

开启某个插件:rabbitmq-pluginsenable xxx

关闭某个插件:rabbitmq-pluginsdisablexxx

注意:重启服务器后生效。

卸载RabbitMQ:

一、卸载rabbitmq相关的

1、卸载前先停掉rabbitmq服务,执行命令

         service rabbitmq-server stop

2、查看rabbitmq安装的相关列表

        yum list | grep rabbitmq

3、卸载rabbitmq已安装的相关内容

        yum -y remove rabbitmq-server.noarch

二、卸载erlang

1、查看erlang安装的相关列表

      yum list | grep erlang

2、卸载erlang已安装的相关内容

      yum -y remove erlang-*

      yum remove erlang.x86_64 

然后你就可以重新安装了 

linux搭建rabbitmq集群

准备俩台以上的Centos7的机器 为了方便管理 ip+hostname分别为

             192.168.128.140  A

             192.168.128.142  B

             192.168.128.143  C    

修改hosts文件如下   通过 vi /etc/hosts 命令进入,每台的配置都一样 然后重新启动所有机器 

1、安装RabbitMQ

1)下载和安装erlang

下载erlang

wget http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el6.x86_64.rpm

安装erlang,root用户使用rpm安装

rpm -ihv erlang-18.1-1.el6.x86_64.rpm

2)下载和安装RabbitMQ

下载RabbitMQ

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_12/rabbitmq-server-3.6.12-1.el6.noarch.rpm

安装RabbitMQ,root用户使用rpm安装

yum install -y socat --需要先安装socat

rpm -ihv rabbitmq-server-3.6.12-1.el6.noarch.rpm

当安装完成之后,可以启动一下,如果打印如下,那么安装就成功了。

2、配置RabbitMQ

1)创建RabbitMQ账号

rabbitmqctl add_user admin bigdata123

[[email protected] ~]# rabbitmqctl add_user admin admin Creating user "admin"

 2)将admin账号赋予管理员权限

rabbitmqctl set_user_tags admin administrator

[[email protected] ~]# rabbitmqctl set_user_tags admin administrator Setting tags for user "admin" to [administrator]

 3)设置权限

rabbitmqctl  set_permissions  -p  '/'  admin '.' '.' '.'

[[email protected] ~]# rabbitmqctl set_permissions -p '/' admin '.' '.' '.' Setting permissions for user "admin" in vhost "/"

3、配置RabbitMQ集群

我们这里会展示如何配置一个RabbitMQ集群,要保证三台服务器的IP能通。

 1)安装好RabbitMQ

安装方法同上文。

2)保证相同的Erlang Cookie

 我这里是把A上的.erlang.cookie以scp的方式拷贝到另外两台机器。(如果mq没有启动过是没有erlang.cookie的)

[[email protected] ~]# scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq [[email protected] ~]# scp /var/lib/rabbitmq/.erlang.cookie [email protected]:/var/lib/rabbitmq

3)运行各个RabbitMQ节点

rabbitmqctl stop

rabbitmq-server -detached

运行成功后可以查看一下节点当前的集群状态,当然这个时候还没有组成集群。

[[email protected] ~]# rabbitmqctl cluster_status

[[email protected] ~]# rabbitmqctl cluster_status

[[email protected] ~]# rabbitmqctl cluster_status

4)将节点连接成集群

B:加入到集群[email protected]

[[email protected] ~]#rabbitmqctl stop_app

[[email protected] ~]#rabbitmqctl join_cluster [email protected]

[[email protected] ~]#rabbitmqctl start_app

C:加入到集群[email protected]

[[email protected] ~]#rabbitmqctl stop_app

[[email protected] ~]#rabbitmqctl join_cluster [email protected]

[[email protected] ~]#rabbitmqctl start_app

A:不用加入自己

查看集群状态,我们可以在任意一台机器上查看,我们选择在client09上看。

可以看到,3个实例已经组成了集群。

 5)启用web管理插件

rabbitmq-plugins enable rabbitmq_management

这样你可以通过web页面观察rabbitmq的status,端口号是15672,例如http://ip:15672