Cài Đặt Và Cấu Hình RocketMQ 4.8.0 Với Giao Diện Tầm Nhìn Trên Windows 10/11

RocketMQ là một trung gian tin nhắn mã nguồn mở của Alibaba, nổi tiếng với khả năng xử lý tốc độ cao, độ trễ thấp và khả năng mở rộng. Bài viết này hướng dẫn bạn cài đặt và cấu hình RocketMQ 4.8.0 cùng với giao diện quản lý trực quan trên hệ điều hành Windows.

1. Chuẩn Bị Môi Trường

Trước khi bắt đầu quá trình cài đặt, hãy đảm bảo rằng hệ thống Windows của bạn đáp ứng các yêu cầu sau:

  • JDK 1.8+: RocketMQ 4.8.0 yêu cầu Java 8 hoặc phiên bản mới hơn. Sử dụng lệnh java -version để kiểm tra.
  • Maven 3.2+: Được sử dụng để xây dựng RocketMQ Dashboard. Kiểm tra bằng lệnh mvn -v.
  • Đường dẫn hệ thống không chứa khoảng trắng: Đây là điểm thường bị bỏ qua bởi người mới bắt đầu. Đường dẫn cài đặt JDK không được chứa khoảng trắng (ví dụ: C:\Program Files\Java), nếu không RocketMQ sẽ không khởi động được.

Lưu ý:

  • Nếu JDK được cài đặt ở đường dẫn có khoảng trắng, hãy sao chép nó đến một đường dẫn không chứa khoảng trắng (ví dụ: C:\Java\jdk1.8.0_291) và cập nhật biến môi trường JAVA_HOME.
  • Xác nhận rằng biến môi trường Path bao gồm thư mục bin của JDK và Maven.

2. Cài Đặt Và Cấu Hình RocketMQ 4.8.0

2.1 Tải Về Và Giải Nén

Tải về phiên bản 4.8.0 từ trang web chính thức của RocketMQ:

https://archive.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip

Giải nén vào một thư mục địa phương, ví dụ: D:\rocketmq-4.8.0.

2.2 Thiết Lập Biến Môi Trường Quan Trọng

Thiết lập biến môi trường ROCKETMQ_HOME trỏ đến thư mục giải nén:

  1. Kích chuột phải vào "My Computer" → Properties → Advanced system settings → Environment Variables
  2. Tạo một biến hệ thống mới:
    • Tên biến: ROCKETMQ_HOME
    • Giá trị biến: D:\rocketmq-4.8.0 (thay đổi theo đường dẫn thực tế)
  3. Thêm vào Path: %ROCKETMQ_HOME%\bin

Kiểm tra xem cấu hình có hiệu lực hay không:

echo %ROCKETMQ_HOME%

2.3 Sửa Chữa Các Tập Tin kịch Bản Khóa

Để tránh lỗi phổ biến, cần chỉnh sửa hai tập tin kịch bản:

  1. Sửa tập tin %ROCKETMQ_HOME%\bin\runbroker.cmd:
    • Tìm dòng set "JAVA_OPT=%JAVA_OPT% -cp %CLASSPATH%"
    • Thay đổi thành: set "JAVA_OPT=%JAVA_OPT% -cp "%CLASSPATH%""
  2. Sửa tập tin %ROCKETMQ_HOME%\bin\runserver.cmd tương tự.

3. Khởi Động Dịch Vụ RocketMQ

3.1 Khởi Động NameServer

NameServer là trung tâm đăng ký của RocketMQ, quản lý thông tin định tuyến của Broker.

  1. Mở Command Prompt, chuyển đến thư mục bin của RocketMQ:
    cd /d %ROCKETMQ_HOME%\bin
  2. Khởi động NameServer:
    start mqnamesrv.cmd

Sau khi thành công, một cửa sổ mới sẽ xuất hiện với thông báo "The Name Server boot success..."

3.2 Khởi Động Broker

Broker là thành phần lưu trữ và chuyển tiếp tin nhắn.

  1. Mở thêm một cửa sổ Command Prompt trong cùng thư mục bin.
  2. Chạy lệnh khởi động:
    start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

Sau khi thành công, hiển thị "The broker[broker tên, 127.0.0.1:10911] boot success..."

4. Cấu Hình Giao Diện Quản Lý Tầm Nhìn

RocketMQ Dashboard cung cấp giao diện giám sát và quản lý trực quan.

4.1 Tải Về Và Xây Dựng Dashboard

  1. Clone mã nguồn Dashboard mới nhất từ GitHub:
    git clone https://github.com/apache/rocketmq-dashboard.git
    hoặc tải về gói ZIP và giải nén.
  2. Vào thư mục dự án, sử dụng Maven để xây dựng:
    mvn clean package -Dmaven.test.skip=true

4.2 Khởi Động Dashboard

Sau khi xây dựng thành công, vào thư mục target để khởi chạy ứng dụng:

java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

Mặc định khởi động tại cổng 8080, truy cập:

http://localhost:8080

4.3 Cấu Hình Tùy Chỉnh

Có thể điều chỉnh cấu hình bằng cách sửa tập tin application.yml:

server:
  port: 8080  # Thay đổi cổng
rocketmq:
  config:
    namesrvAddrs: 127.0.0.1:9876  # Địa chỉ NameServer
    dataPath: ./data  # Đường dẫn lưu trữ dữ liệu

5. Cấu Hình Nâng Cao Và Tối Ưu Hóa

5.1 Cấu Hình Nhiều Broker

Để cấu hình nhiều Broker, sao chép conf/broker.conf và chỉnh sửa:

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0  # 0 cho Master, >0 cho Slave
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10911  # Mỗi Broker sử dụng cổng khác nhau
storePathRootDir=D:/rocketmq/store-a  # Mỗi Broker sử dụng đường dẫn lưu trữ khác nhau

5.2 Tham Số Tối Ưu Hóa Hiệu Suất

Trong runbroker.cmd, có thể điều chỉnh các tham số JVM:

set "JAVA_OPT=%JAVA_OPT% -server -Xms8g -Xmx8g -Xmn4g"
set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1HeapRegionSize=16m"

5.3 Cấu Hình Nhật Ký

Sửa conf/logback_broker.xml và conf/logback_namesrv.xml để điều chỉnh mức độ nhật ký và cách thức đầu ra.

6. Giải Quyết Vấn Đề Thường Gặp

Vấn đề 1: Khi khởi động báo lỗi "Please set the ROCKETMQ_HOME variable in your environment!"

  • Giải pháp: Đảm bảo biến môi trường ROCKETMQ_HOME đã được thiết lập đúng và có hiệu lực.

Vấn đề 2: Broker khởi động sau đó tắt ngay lập tức

  • Lí do có thể là thiếu bộ nhớ hoặc xung đột cổng.
  • Giải pháp: Điều chỉnh các tham số bộ nhớ trong runbroker.cmd, kiểm tra xem cổng nào đang bị chiếm dụng.

Vấn đề 3: Dashboard không kết nối được với NameServer

  • Kiểm tra NameServer có đang chạy bình thường.
  • Xác nhận rằng địa chỉ namesrvAddrs trong cấu hình Dashboard trùng khớp với địa chỉ thực tế của NameServer.

Vấn đề 4: Gửi/nhận tin nhắn thất bại

  • Kiểm tra chủ đề đã được tạo (hoặc kích hoạt autoCreateTopicEnable).
  • Xác minh cấu hình GroupName của người sản xuất và người tiêu thụ.

Thẻ: RocketMQ Windows dashboard messaging Configuration

Đăng vào ngày 5 tháng 10 lúc 04:56