溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

rabbitmq基于centos7局域網集群搭建的方法

發布時間:2021-07-02 17:51:53 來源:億速云 閱讀:282 作者:chen 欄目:大數據
# RabbitMQ基于CentOS7局域網集群搭建的方法

## 一、環境準備

### 1.1 硬件要求
- 至少2臺CentOS7服務器(本文以3節點為例)
- 每臺服務器建議配置:
  - 2核CPU
  - 4GB內存
  - 50GB磁盤空間
- 所有節點需在同一局域網段(如192.168.1.0/24)

### 1.2 軟件要求
- CentOS 7.6+(推薦最小化安裝)
- Erlang 23.x+(RabbitMQ依賴環境)
- RabbitMQ 3.8.x+
- 關閉防火墻或開放相關端口:
  ```bash
  systemctl stop firewalld
  systemctl disable firewalld

二、基礎環境配置

2.1 主機名與hosts配置

# 所有節點執行(以node1為例)
hostnamectl set-hostname node1

# 編輯/etc/hosts文件
cat >> /etc/hosts <<EOF
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
EOF

2.2 時間同步

yum install -y ntpdate
ntpdate ntp.aliyun.com

三、Erlang安裝

3.1 安裝依賴

yum install -y epel-release
yum install -y socat logrotate

3.2 安裝Erlang

# 添加Erlang解決方案倉庫
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

# 安裝Erlang
yum install -y erlang-23.3.4.11-1.el7.x86_64

四、RabbitMQ安裝與配置

4.1 安裝RabbitMQ

# 添加RabbitMQ倉庫
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

# 安裝RabbitMQ
yum install -y rabbitmq-server-3.8.16-1.el7.noarch

4.2 啟動服務

systemctl start rabbitmq-server
systemctl enable rabbitmq-server

4.3 啟用管理插件

rabbitmq-plugins enable rabbitmq_management

五、集群配置

5.1 同步Erlang Cookie

# 在node1上執行
scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/

# 所有節點修改權限
chmod 600 /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

5.2 加入集群(在node2/node3執行)

systemctl stop rabbitmq-server
rabbitmq-server -detached
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app

5.3 驗證集群狀態

# 任意節點執行
rabbitmqctl cluster_status

# 預期輸出示例:
# Cluster status of node rabbit@node1
# [{nodes,[{disc,[rabbit@node1,rabbit@node2,rabbit@node3]}]},
#  {running_nodes,[rabbit@node3,rabbit@node2,rabbit@node1]}]

六、高可用配置

6.1 設置鏡像隊列策略

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

6.2 驗證策略

rabbitmqctl list_policies

七、常見問題解決

7.1 節點無法加入集群

  • 檢查防火墻狀態
  • 驗證.erlang.cookie是否一致
  • 查看日志:journalctl -u rabbitmq-server -f

7.2 網絡分區處理

# 查看分區狀態
rabbitmqctl cluster_status

# 恢復分區
rabbitmqctl forget_cluster_node rabbit@故障節點

八、日常維護命令

命令 說明
rabbitmqctl add_user admin 密碼 添加管理用戶
rabbitmqctl set_user_tags admin administrator 設置管理員權限
rabbitmqctl list_queues 查看隊列列表
rabbitmqctl list_exchanges 查看交換機列表

九、性能優化建議

  1. 磁盤I/O優化:

    echo 'vm.dirty_ratio = 20' >> /etc/sysctl.conf
    echo 'vm.dirty_background_ratio = 10' >> /etc/sysctl.conf
    sysctl -p
    
  2. 增加文件描述符限制:

    echo 'ulimit -n 65536' >> /etc/profile
    
  3. 建議使用SSD存儲

十、總結

通過上述步驟,我們成功在CentOS7環境下搭建了RabbitMQ高可用集群。實際生產環境中建議: 1. 使用奇數個節點(3/5/7) 2. 定期備份元數據 3. 監控隊列積壓情況 4. 根據業務需求調整內存/磁盤告警閾值

”`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女