CentOS7安装部署最新RabbitMQ集群

CentOS7安装部署最新RabbitMQ集群,非Docker版教程

本教程主要用于CentOS7操作系统如何安装配置RabbitMQ集群环境,非Docker版本教程。

1.编译erlang

1.1 下载

官网:https://www.erlang.org/

我这里以24.3.3版本为例,访问https://www.erlang.org/patches/otp-24.3.3

$ wget https://github.com/erlang/otp/releases/download/OTP-24.3.3/otp_src_24.3.3.tar.gz

1.2 系统依赖库安装

# yum install ncurses-devel
# yum install -y xz

1.3 编译

$ mkdir ~/3rd

$ tar zxf otp_src_24.3.3.tar.gz
$ cd otp_src_24.3.3/
$ ./configure --prefix=/home/nm/3rd/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac

$ make -j`cat /proc/cpuinfo| grep "processor"| wc -l`
$ make install

1.4 配置环境变量

$ vim ~/.bash_profile

ERLANG_HOME=$HOME/3rd/erlang
export PATH=$ERLANG_HOME/bin:$PATH

1.5 生效环境变量

$ source ~/.bash_profile

$ erl -version
Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 12.3.1

2.编译rabitmq

2.1 下载

$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.15/rabbitmq-server-generic-unix-3.9.15.tar.xz

$ xz -d rabbitmq-server-generic-unix-3.9.15.tar.xz
$ tar xf rabbitmq-server-generic-unix-3.9.15.tar

2.2 配置环境变量

$ vim ~/.bash_profile


RABBIT_MQ_HOME=$HOME/rabbitmq_server-3.9.15
export PATH=$RABBIT_MQ_HOME/sbin:$PATH

2.3 生效环境变量

$ source ~/.bash_profile

$ which rabbitmq-server
~/rabbitmq_server-3.9.15/sbin/rabbitmq-server

2.4 配置主机host

假定机器1主机名叫node1,机器IP是10.10.10.11,机器2的主机名叫node2,机器IP是10.10.10.12

# vim /etc/hosts

#rabbit
10.10.10.11 node1
10.10.10.12 node2

2.5 配置启动服务

  • 机器1
$ cd ~/rabbitmq_server-3.9.15/sbin/

$ rabbitmq-server -detached
$ rabbitmq-plugins enable rabbitmq_management
$ rabbitmqctl start_app
$ rabbitmqctl cluster_status
  • 机器2
$ cd ~/rabbitmq_server-3.9.15/sbin/

$ rabbitmq-server -detached
$ rabbitmqctl start_app
$ rabbitmqctl cluster_status

2.6 配置机器2连机器1节点

  • 机器1将原来生成的.erlang.cookie文件改名
$ mv ~/.erlang.cookie ~/.erlang.cookie-31
  • 机器1上执行同步机器2的.erlang.cookie文件
scp -r machine2user@10.10.10.10:.erlang.cookie .
  • 停止机器1的服务
$ ps -ef|grep rabbit |grep -v grep

nm       17967     1  1 16:36 ?        00:00:06 /home/nm/3rd/erlang/lib/erlang/erts-12.3.1/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sbwtdio none -B i -- -root /home/nm/3rd/erlang/lib/erlang -progname erl -- -home /home/nm -- -pa  -noshell -noinput -s rabbit boot -boot start_sasl -syslog logger [] -syslog syslog_error_logger false -kernel prevent_overlapping_partitions false -noshell -noinput


# 上面获取到进程号17967
$ kill -9 17967
  • 重新启动机器1服务
$ cd ~/rabbitmq_server-3.9.15/sbin/
$ rabbitmq-server -detached
  • 查看集群状态
$ rabbitmqctl cluster_status

2.7 配置机器2加入集群

  • 停止机器2节点服务
$ cd ~/rabbitmq_server-3.9.15/sbin/
$ rabbitmqctl stop_app
  • 加入集群
$ rabbitmqctl join_cluster rabbit@node1
Clustering node rabbit@node2 with rabbit@node1
  • 启动机器2的服务
$ rabbitmqctl start_app
  • 查看集群状态
$ rabbitmqctl cluster_status

2.8 配置机器1管理界面账号

  • 机器1节点执行
$ rabbitmqctl add_user admin wodawoda
Adding user "admin" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
  • 增加vhost
$ rabbitmqctl add_vhost "/woda_mq"
Adding vhost "/woda_mq" ...
  • 配置权限
$ rabbitmqctl set_permissions -p "/woda_mq" admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/woda_mq" ...
  • 设置用户为管理员
$ rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...

2.9 登录机器1服务的管理界面

访问http://10.10.10.11:15672输入上面刚添加的用户名密码即可。

updatedupdated2022-04-272022-04-27