RabbitMQ集群部署

RabbitMQ集群部署

一、系统编译环境

yum -y install gcc glibc-devel make ncurses-devel openssl-devel autoconf

yum -y install unixODBC unixODBC-devel

yum -y install tk

yum -y install mysql-connector-odbc

二、RabbitMQ所需的附属包安装

1. erlang安装

Erlang安装命令为:

下载otp_src_R16B.tar.gz

tar -zxf otp_src_R16B.tar.gz

cd otp_src_R16B

./configure --prefix=/usr/local/otp_src_R16B

make

make install

2. simplejson安装

Simplejson依赖于 Python 环境的提前安装,默认 Python 环境安装成功。

Simplejson安装命令为:

yum install Simplejson

yum install python-simplejson.x86_64

3. xmlto安装

xmlto安装命令为:

yum install xmlto.x86_64

三、RabbitMQ安装

RabbitMQ安装命令为:

下载rabbitmq-server-3.4.4.tar.gz

tar -xzvf rabbitmq-server-3.4.4.tar.gz

cd rabbitmq-server-3.4.4

export PATH=$PATH:/usr/local/otp_src_R16B/bin

make

make install TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin \

MAN_DIR=/usr/local/rabbitmq/man

处理完毕后,修改/etc/profile:

vim /etc/profile,在文件末尾添加:

PATH=/usr/local/otp_src_R14B/bin:$PATH

export PATH

命令使profile生效:

source /etc/profile

四、RabbitMQ安装信息

在3.x采用源代码编译安装,rabbitmq 安装目录放在/usr/local/rabbitmq 下,脚本放在 sbin/

目录下,man手册放在 man/目录下。

└──sbin

├──rabbitmqctl

├──rabbitmq-defaults

├──rabbitmq-env

├──rabbitmq-plugins

└──rabbitmq-server

默认日志文件路径:/var/log/rabbitmq


1. RabbitMQ启动关闭服务

启动rabbitmq服务命令为:rabbitmq-server start(用户关闭连接后,自动结束进程)

后台运行rabbitmq服务命令为:rabbitmq-server -detached

关闭服务命令为:rabbitmqctl stop


2. RabbitMQ管理控制台

启用管理控制台命令:

rabbitmq-plugins enable rabbitmq_management

RabbitMQ访问控制台地址为:http://localhost:15672/

rabbitmq默认游客账号密码为:guest/guest 处理

此处通过rabbitmq ctl提供的命令进行处理

rabbitmqctl add_user papi Paic1234

rabbitmqctl set_user_tags papi administrator

查看用户列表:

rabbitmqctl list_users

用户授权:

rabbitmqctl set_permissions -p /vhost1 papi '.*' '.*' '.*'

查看权限:

rabbitmqctl list_user_permissions papi

五、Rabbitmq集群配置

三台机器地址分别为:100.68.2.114、100.68.2.115、100.68.2.116


1.在三台机器上修改/etc/hosts 文件

添加以下内容:

100.68.2.115 ECAM40218.cloud.pub ECAM40218

100.68.2.116 ECAM40219.cloud.pub ECAM40219

100.68.2.114 ECAM40217.cloud.pub ECAM40217


2.设置 erlang cookie,mq 创建集群时要用到

文件位置:

/var/lib/rabbitmq/.erlang.cookie或 /root/.erlang.cookie

将某个节点上的该文件,复制到其他两个节点上。

注意复制后,该文件的权限需要修改为400:

chmod 400 root/.erlang.cookie


3.使用 -detached 参数运行各节点

rabbitmqctl stop

rabbitmq-server–detached


4.创建集群

以ECAM40218为主节点,在其他两个节点上执行以下命令:

rabbitmqctl stop_app

rabbitmqctl join_cluster rabbit@ECAM40218

rabbitmqctl start_app

查看集群创建是否成功,在任意节点上执行:

rabbitmqctl cluster_status

出现如下结果,代表集群创建成功了:

[root@ECAM40218 sbin]# ./rabbitmqctl cluster_status;

Cluster status of node rabbit@ECAM40218 ...

[{nodes,[{disc,[rabbit@ECAM40218,rabbit@ECAM40219,rabbit@ecam40217]}]},

{running_nodes,[rabbit@ecam40217,rabbit@ECAM40219,rabbit@ECAM40218]},

{cluster_name,<<"[email protected]">>},

{partitions,[]}]


5.设置镜像队列策略

在任意一个节点上执行:

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态保持一直。

你可能感兴趣的:(RabbitMQ集群部署)