二进制包下载及端口说明
https://www.rabbitmq.com/install-generic-unix.html
单实例部署参考
https://help.aliyun.com/document_detail/53100.html
服务启动文件
[Unit]
Description=rabbitmq
After=network.target
[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/data/rabbitmq_server
ExecStart=/data/rabbitmq_server/sbin/rabbitmq-server -detached
ExecStop=/data/rabbitmq_server/sbin/rabbitmqctl stop
PrivateTmp=true
LimitNOFILE=65536
Restart=always
[Install]
WantedBy=multi-user.target
多实例部署
部署erlang
mq与erlang匹配的版本
https://www.rabbitmq.com/which-erlang.html?spm=a2c4g.11186623.0.0.374364f2WsxKsK
yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
wget http://erlang.org/download/otp_src_24.1.tar.gz
tar -zxvf otp_src_24.1.tar.gz
cd otp_src_24.1
mkdir -p /usr/local/erlang
./configure --prefix=/usr/local/erlang
make && make install
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
source /etc/profile
erl -version
部署rabbitmq1和rabbitmq2
cd /usr/local/src
tar xf rabbitmq-server-generic-unix-3.9.11.tar.xz
cp -r rabbitmq_server-3.9.11 /data//data/rabbitmq_server-3.9.11-1
cp -r rabbitmq_server-3.9.11 /data//data/rabbitmq_server-3.9.11-2
ln -s /data/rabbitmq_server-3.9.11-1 /data/rabbitmq_server-1
ln -s /data/rabbitmq_server-3.9.11-2 /data/rabbitmq_server-2
echo "export PATH=$PATH:/data/rabbitmq_server-1/sbin" >> /etc/profile
echo "export PATH=$PATH:/data/rabbitmq_server-2/sbin" >> /etc/profile
source /etc/profile
配置全局变量
vim /data/rabbitmq_server-1/sbin/rabbitmq-server
...
11 export PATH=$PATH:/data/erlang/bin
...
vim /data/rabbitmq_server-2/sbin/rabbitmq-server
...
11 export PATH=$PATH:/data/erlang/bin
...
服务启动文件
cat > /etc/systemd/system/rabbitmq-1.service <<eof
[Unit]
Description=rabbitmq
After=network.target
[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/data/rabbitmq_server-1
Environment="RABBITMQ_CONF_ENV_FILE=/data/rabbitmq_server-1/etc/rabbitmq/rabbitmq-env.conf"
ExecStart=/data/rabbitmq_server-1/sbin/rabbitmq-server -detached
ExecStop=/data/rabbitmq_server-1/sbin/rabbitmqctl stop
PrivateTmp=true
LimitNOFILE=65536
Restart=always
[Install]
WantedBy=multi-user.target
eof
cat > /etc/systemd/system/rabbitmq-2.service <<eof
[Unit]
Description=rabbitmq
After=network.target
[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/data/rabbitmq_server-2
Environment="RABBITMQ_CONF_ENV_FILE=/data/rabbitmq_server-2/etc/rabbitmq/rabbitmq-env.conf"
ExecStart=/data/rabbitmq_server-2/sbin/rabbitmq-server -detached
ExecStop=/data/rabbitmq_server-2/sbin/rabbitmqctl stop
PrivateTmp=true
LimitNOFILE=65536
Restart=always
[Install]
WantedBy=multi-user.target
eof
查看环境变量配置文件
变量配置地址
https://www.rabbitmq.com/configure.html#customise-environment
cat /data/rabbitmq_server-1/etc/rabbitmq/rabbitmq-env.conf
CONFIG_FILE=/data/rabbitmq_server-1/etc/rabbitmq/rabbitmq.conf
NODE_PORT=5672
DIST_PORT=25672
ERL_EPMD_PORT=4369
NODENAME=rabbitmq-1
cat /data/rabbitmq_server-2/etc/rabbitmq/rabbitmq-env.conf
CONFIG_FILE=/data/rabbitmq_server-2/etc/rabbitmq/rabbitmq.conf
NODE_PORT=5673
DIST_PORT=25673
ERL_EPMD_PORT=4369
NODENAME=rabbitmq-2
查看应用配置文件
配置文件地址:
https://www.rabbitmq.com/configure.html#configuration-files
cat /data/rabbitmq_server-1/etc/rabbitmq/rabbitmq.conf
# web管理插件
management.tcp.port = 15672
# prometheus插件
prometheus.tcp.port = 15692
cat /data/rabbitmq_server-2/etc/rabbitmq/rabbitmq.conf
# web管理插件
management.tcp.port = 15673
# prometheus插件
prometheus.tcp.port = 15693
服务启动
systemctl start rabbitmq-1
systemctl start rabbitmq-2
systemctl enable rabbitmq-1
systemctl enable rabbitmq-2
查看epmd绑定注册端口号及监听分发端口号
[root@db rabbitmq]# epmd -names
epmd: up and running on port 4369 with data:
name rabbitmq-1 at port 25672
name rabbitmq-2 at port 25673
启动日志管理/监控/web管理插件插件
/data/rabbitmq_server-1/sbin/rabbitmq-plugins enable rabbitmq_management
/data/rabbitmq_server-1/sbin/rabbitmq-plugins enable rabbitmq_tracing
/data/rabbitmq_server-1/sbin/rabbitmq-plugins enable rabbitmq_prometheus
/data/rabbitmq_server-2/sbin/rabbitmq-plugins enable rabbitmq_management
/data/rabbitmq_server-2/sbin/rabbitmq-plugins enable rabbitmq_tracing
/data/rabbitmq_server-2/sbin/rabbitmq-plugins enable rabbitmq_prometheus
cat /data/rabbitmq_server-1/etc/rabbitmq/enabled_plugins
[rabbitmq_management,rabbitmq_prometheus,rabbitmq_tracing].
cat /data/rabbitmq_server-2/etc/rabbitmq/enabled_plugins
[rabbitmq_management,rabbitmq_prometheus,rabbitmq_tracing].
用户配置
/data/rabbitmq_server-1/sbin/rabbitmqctl delete_user guest
/data/rabbitmq_server-2/sbin/rabbitmqctl delete_user guest
/data/rabbitmq_server-1/sbin/rabbitmqctl add_user admin dpV0A0HeMgMgbo8uwP11IASAYsCS
/data/rabbitmq_server-2/sbin/rabbitmqctl add_user admin oePgl0QEGyQzdnRSFGExRhdHr25g
/data/rabbitmq_server-1/sbin/rabbitmqctl set_user_tags admin administrator
/data/rabbitmq_server-2/sbin/rabbitmqctl set_user_tags admin administrator
/data/rabbitmq_server-1/sbin/rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
/data/rabbitmq_server-2/sbin/rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Web访问
访问prometheus监控数据
扩展
日志配置地址:
https://www.rabbitmq.com/logging.html
prometheus插件配置说明
https://www.rabbitmq.com/prometheus.html#installation
示例配置文件
https://github.com/rabbitmq/rabbitmq-server/blob/main/deps/rabbit/docs/rabbitmq.conf.example
LDAP配置
https://rabbitmq.com/ldap.html
promethes指标说明
https://github.com/rabbitmq/rabbitmq-prometheus/blob/master/metrics.md