RabbitMQ集群环境搭建
RabbitMQ是遵从AMQP协议、使用Erlang语言开发的消息中间件。
安装RabbitMQ之前需要先安装Erlang环境。
由于我安装的CentOS是Minimal版本,防火墙默认都是不通的(可以使用firewall-cmd将防火墙关闭,也可以针对软件端口打开),且很多Linux命令工具都没有安装,需要我在安装完系统后自己再单独安装这些基础工具,方便后续的操作。
一、安装基础工具包
- ip addr
刚安装完系统,网络是没有打开的。需要运行命令打开网络
ip addr # 首先使用ip addr查看连接网络的网卡名,我的是ens33
cd /etc/sysconfig/network-scripts/ # 然后进入网络配置文件夹
vi ifcfg-ens33 # 修改网卡对应的配置文件,打开网络是将ONBOOT=no 改为 =yes
service network restart # 重启网络
如果需要设置固定IP,可以修改BOOTPROTO=static,并添加内容:
IPADDR=192.168.124.127 #静态IP
NETMASK=255.255.255.0 #子网掩码
DNS1=192.168.31.1 #DNS 配置
GATEWAY=192.168.124.2 #默认网关
-
ifconfig
ifconfig命令在net-tools…包中(我的是net-tools.x86_64),可以使用“yum search ifconfig”查找命令所在的包
yum -y install net-tools.x86_64 # 安装网络工具包 -
yum
yum在CentOS7minimal版本中是默认安装的,不过需要配置源
cd /etc/yum.repos.d # 默认的软件源在/etc/yum.repos.d文件夹中,进入文件夹
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 将默认软件源改为aliyun(随手备份是使用Linux的必备技能,将源文件CentOS-Base.repo.bak备份)
yum clean all # 清除缓存
yum makecache # 重建缓存 -
wget
yum -y install wget # 安装wget -
vim
yum -y install vim # 安装vim
二:安装Erlang和RabbitMQ
Erlang和RabbitMQ要求版本对应,可以从RabbitMQ官网中查询到Erlang和RabbitMQ的版本要求。我的Erlang版本是23.2,RabbitMQ版本是3.10.5。
1. 安装Erlang
wget http://erlang.org/download/otp_src_23.2.tar.gz # 下载Erlang
tar -xvf otp_src_23.2.tar.gz # 解压缩
./configure --prefix=/usr/local/erlang
make && make install # 安装后的Erlang会在/usr/local生成erlang文件夹。如果安装的过程中出现Error的错误,则需要解决后重新安装。
vim /etc/profile # 配置Erlang环境变量路径,添加内容:
# Erlang
export PATH=$PATH:/usr/local/erlang/bin
source /etc/profile # 编译生效
2. 安装RabbitMQ
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.5/rabbitmq-server-generic-unix-3.10.5.tar.xz # 下载RabbitMQ
tar -xvf rabbitmq-server-generic-unix-3.10.5.tar.xz # 解压缩
vim /etc/profile # 配置RabbitMQ环境变量路径,添加内容:
# RabbitMQ
export PATH=$PATH:/usr/local/rabbitmq_server-3.10.5/sbin
source /etc/profile # 编译生效
3. 启动RabbitMQ
① 后台启动
rabbitmq-server --detached >nohub.out &
② 前台启动
rabbitmq-server start
③ Linux服务启动
service rabbitmq-server start
④ 停止RabbitMQ服务
rabbitmqctl stop
4. 启动RabbitMQ管理台
RabbitMQ管理页面的默认端口是15672,需要开通防火墙。且这个版本guest不能直接登录,需要新增admin账户,设置administrator用户标签,设置权限。
rabbitmqctl add_user admin admin # 设置账号密码都是admin
rabbitmqctl set_user_tag admin administrator # 设置用户标签
rabbitmqctl set_permission -p / admin “." ".” “.*” # 设置权限
rabbitmq-plugins enable rabbitmq_management # RabbitMQ管理页面通过rabbitmq_management自带plugin实现
启动RabbitMQ管理台成功后,就可以通过15672端口访问后台管理页面了:
三:RabbitMQ集群
我的RabbitMQ集群架构: