Cách cài đặt Apache ActiveMQ trên Ubuntu 20.04

Tác giả NetworkEngineer, T.Hai 07, 2022, 10:13:14 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt Apache ActiveMQ trên Ubuntu 20.04


Apache ActiveMQ là một trình môi giới tin nhắn mã nguồn mở được viết bằng Java. Nó hỗ trợ một số ứng dụng khách và giao thức đa ngôn ngữ.

Nhà môi giới tin nhắn Apache ActiveMQ là một nền tảng nhắn tin mã nguồn mở nhanh chóng, đáng tin cậy, có thể mở rộng và được tích hợp hoàn toàn để xử lý nhiều tin nhắn (nhập) hoặc nhiều người tiêu dùng (gửi). Nó sử dụng bộ nhớ làm định dạng lưu trữ; nó có thể được cấu hình để lưu trữ dữ liệu liên tục trên đĩa nếu cần. Thời gian khởi động ban đầu có thể chậm do ActiveMQ sẽ tải tất cả thông tin lịch sử vào bộ nhớ. Tuy nhiên, sau khoảng thời gian khởi động đầu tiên, có thể mất đến vài phút tùy thuộc vào lượng lịch sử bạn đã lưu trữ trong hàng đợi và các cài đặt cấu hình khác, hiệu suất bắt đầu tăng lên cho đến khi chúng ta xem xét các yếu tố khác như tài nguyên hệ thống.

Dựa trên kinh nghiệm chỉ chuyển từ giải pháp nhắn tin nội bộ sang sản phẩm thương mại, ActiveMQ có thể được coi là một trong những sản phẩm không ngừng được phát triển và cải tiến, mang đến chất lượng cực cao và độ ổn định vững chắc.

ActiveMQ cung cấp cả một nhà môi giới nhúng đơn giản và một giải pháp doanh nghiệp được triển khai đầy đủ, có tính khả dụng cao. Các tính năng và điểm mạnh quan trọng nhất của nó là tính khả dụng cao và khả năng chuyển đổi dự phòng (thiết lập với một nhà môi giới có thể tồn tại tới 99,999% trường hợp mất thông báo), hỗ trợ nhiều cách kết nối máy khách (bao gồm bảng điều khiển web, công cụ dòng lệnh và thư viện, ứng dụng khách JMS thư viện, v.v.), phân cụm qua các ranh giới vật lý, cân bằng tải thông qua nhiều hàng đợi nội bộ cho mỗi chủ đề, cấu hình linh hoạt như thông báo liên tục hoặc không liên tục tùy theo nhu cầu, tính ổn định của dữ liệu theo tệp hoặc cơ sở dữ liệu, triển khai bảo mật dựa trên xác thực JAAS mô hình này cũng hỗ trợ triển khai LDAP.

ActiveMQ thực sự là giải pháp nhắn tin ưa thích cho các nhà phát triển Java, kiến ​​trúc sư cơ sở hạ tầng và nhà tích hợp hệ thống. Nó có thể được sử dụng trong cả các triển khai nhỏ (trong trường hợp đó, bạn có thể sẽ sử dụng nhà môi giới nhúng) hoặc các giải pháp doanh nghiệp lớn (yêu cầu phân cụm và chuyển đổi dự phòng).

Tùy thuộc vào nhu cầu của bạn, ActiveMQ có thể dễ dàng mở rộng cho các tình huống có tính khả dụng cao thực sự với cân bằng tải đầy đủ trên tất cả các nhà môi giới, bao gồm cả việc bổ sung động các nút mới khi các nút hiện có ngừng hoạt động; chuyển đổi dự phòng trạng thái với tự động đồng bộ lại và mất dữ liệu tiềm ẩn (luôn có thể xảy ra), được hỗ trợ đầy đủ bởi chính ActiveMQ: chỉ cần hai nút khác cần được cấu hình thành một cụm để có tính khả dụng cao.

Apache ActiveMQ là đa nền tảng và chạy trong Máy ảo Java (JVM). Bạn có thể sử dụng ActiveMQ trên Linux, Windows hoặc OS X.

Trong hướng dẫn này, mình sẽ hướng dẫn bạn cài đặt và thiết lập Apache ActiveMQ cơ bản trên Ubuntu 20.04 LTS, cũng như chạy qua kiểm tra cấu hình và xác minh cơ bản.

1. Điều kiện tiên quyết

Để phù hợp với hướng dẫn của chúng ta, bạn sẽ cần:

  • Một Ubuntu Linux để chạy ActiveMQ. Đây có thể là một máy chủ vật lý hoặc một máy ảo; điều quan trọng là nó có thể chạy JVM và có ít nhất 2GB RAM và 20GB dung lượng đĩa. Bạn nên phân bổ nhiều hơn số đó tùy thuộc vào nhu cầu của mình, chẳng hạn như chạy các dịch vụ khác như điểm chuẩn ActiveMQ, máy chủ cơ sở dữ liệu hoặc công cụ ghi nhật ký.
  • Quyền truy cập root vào Ubuntu đang chạy.

2. Cập nhật hệ thống

Điều quan trọng là đảm bảo hệ thống được cập nhật trước khi cài đặt bất kỳ gói nào. Chạy lệnh sau để cập nhật hệ thống.

Mã nguồn [Chọn]
$ sudo apt update && sudo apt upgrade -y
Bạn cũng có thể cài đặt một số công cụ bổ sung mà bạn cần cho hướng dẫn này bằng cách sử dụng các lệnh sau.

Mã nguồn [Chọn]
$ sudo apt install wget curl ia32-libs -y
3. Cài đặt Java

Apache ActiveMQ được viết bằng Java và do đó yêu cầu cài đặt môi trường thời gian chạy Java (JRE) trên máy. Bạn có thể cài đặt nó bằng lệnh sau.

Mã nguồn [Chọn]
$ sudo apt install openjdk-11-jre -y
Khi quá trình cài đặt hoàn tất, hãy chạy lệnh java với cờ -version để kiểm tra xem nó có hoạt động bình thường hay không.

Mã nguồn [Chọn]
$ java -version
Đầu ra phải tương tự như sau.


4. Cài đặt Apache ActiveMQ

Bây giờ chúng ta đã có một hệ thống đang chạy và môi trường JRE, chúng ta có thể tiến hành tải xuống và cài đặt Apache ActiveMQ.

Trước tiên, bạn sẽ cần tải xuống bản phát hành mới nhất từ ​​trang web chính thức của ActiveMQ.

Chúng ta muốn tarball có nhãn là apache-activemq-5.16.3-bin.tar.gz, phiên bản mới nhất tại thời điểm viết bài này.

Chạy lệnh wget để tải xuống.

Mã nguồn [Chọn]
$ wget http://archive.apache.org/dist/activemq/5.16.3/apache-activemq-5.16.3-bin.tar.gz
Vì bạn đang tải xuống tệp lưu trữ, hãy giải nén tập tin bằng lệnh sau. Thao tác này sẽ trích xuất nội dung vào một thư mục có tên "apache-activemq-" và đây là nơi chúng ta sẽ cài đặt ActiveMQ vào hệ thống của mình.

Mã nguồn [Chọn]
$ sudo tar -xvzf apache-activemq-5.16.3-bin.tar.gz
Tiếp theo, tạo một thư mục mới có tên /opt/activemq và sau đó di chuyển tất cả các tệp từ apache-activemq vào thư mục đó bằng cách chạy lệnh bên dưới

Mã nguồn [Chọn]
$ sudo mkdir /opt/activemq && sudo mv apache-activemq-5.16.3/* /opt/activemq
Sau đó, tạo tài khoản người dùng và nhóm chuyên dụng để chạy ActiveMQ. Mình khuyên bạn nên tạo một người dùng chuyên dụng cho mục đích này, nhưng bạn có thể thực hiện bất kỳ thay đổi nào đối với hệ thống mà bạn cảm thấy cần thiết.

Tạo tài khoản nhóm và tài khoản người dùng được yêu cầu thông qua các lệnh sau.

Mã nguồn [Chọn]
$ sudo addgroup --quiet --system activemq
Mã nguồn [Chọn]
$ sudo adduser --quiet --system --ingroup activemq --no-create-home --disabled-password activemq
Bạn có thể cần sử dụng sudo chown -R <user>: <group> /opt/activemq nếu bạn không phải là người dùng root và không có quyền ghi vào thư mục /opt/. Điều này sẽ thay đổi chủ sở hữu và nhóm của tất cả các tệp trong thư mục đó thành tên người dùng và nhóm chính của bạn tương ứng.

Mã nguồn [Chọn]
$ sudo chown -R activemq:activemq /opt/activemq
Tiếp theo, bạn sẽ cần tạo tập tin đơn vị dịch vụ Apache ActiveMQ Systemd bằng cách chạy lệnh sau. Bởi vì điều này cung cấp một phương tiện dễ dàng bắt đầu, dừng và khởi động lại dịch vụ mà không cần phải vào thư mục theo cách thủ công mỗi lần.

Mã nguồn [Chọn]
$ sudo nano /etc/systemd/system/activemq.service
Nano sẽ mở ra một cửa sổ trình chỉnh sửa trong cửa sổ dòng lệnh Terminal của bạn với nội dung tập tin trống để bạn chỉnh sửa. Nhập cấu hình sau vào nano. Thay thế activemq bằng tên người dùng của bạn khi bạn đặt thuộc tính JAVA_HOME.

Mã nguồn [Chọn]
[Unit]
Description=Apache ActiveMQ
After=network.target

[Service]
Type=forking
User=activemq
Group=activemq
ExecStart=/opt/activemq/bin/activemq start
ExecStop=/opt/activemq/bin/activemq stop

[Install]
WantedBy=multi-user.target

Sau khi hoàn tất, nhấn CTRL + X, Y và Enter để lưu tập tin.

Sau đó tải lại daemon hệ thống và khởi động dịch vụ bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
$ sudo systemctl daemon-reload && sudo systemctl start activemq
Mã nguồn [Chọn]
$ sudo systemctl enable activemq
Bạn có thể kiểm tra xem dịch vụ có đang chạy đúng cách hay không bằng cách sử dụng lệnh này để kiểm tra trạng thái của nó.

$ sudo systemctl status activemq

Đầu ra sẽ hiển thị một cái gì đó tương tự như sau khi nó chạy bình thường.


5. Truy cập giao diện người dùng Web Apache ActiveMQ

Bây giờ chúng ta đã thiết lập và chạy dịch vụ, chúng ta có thể truy cập nó một cách thuận tiện bằng cách sử dụng trình duyệt web. Mở trình duyệt yêu thích của bạn và truy cập http://server_ip:8161/admin

Trong đó server_ip là địa chỉ IP thực của máy chủ của bạn. Theo mặc định, ActiveMQ cài đặt giao diện người dùng web trên cổng 8161 và /admin để truy cập bảng điều khiển quản lý.

Bạn sẽ được chuyển đến lời nhắc mật khẩu yêu cầu bạn nhập tên người dùng và mật khẩu, như hình dưới đây.


Nhập tên người dùng và mật khẩu mặc định, là "admin", cho cả hai trường và nhấp vào Sign in. Sau khi đăng nhập, bạn sẽ truy cập vào bảng điều khiển quản lý Apache ActiveMQ, như hình dưới đây.


Bây giờ chúng ta đã cài đặt thành công Apache ActiveMQ trên máy chủ Ubuntu 20.04 của chúng ta với dịch vụ Daemon, Web UI và Systemd.

Giờ đây, bạn có thể sử dụng Apache ActiveMQ để tạo một hệ thống nhắn tin doanh nghiệp nhẹ để gửi tin nhắn với khối lượng lớn.