0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Hướng Dẫn Cài Đặt Apache Kafka Dễ Dàng Sử Dụng Docker Compose

Đăng vào 4 ngày trước

• 4 phút đọc


Chúng mình đã tạo một nhóm để các bạn dễ dàng chia sẻ và học hỏi về thiết kế hệ thống! 😄

Hãy tham gia để xây dựng cộng đồng System Design Việt Nam thật lớn mạnh nhé! 😍

Cộng Đồng System Design Việt Nam: Link nhóm Facebook

Kênh TikTok: Link TikTok


Giới Thiệu Về Apache Kafka

Trong bài viết trước, chúng ta đã cùng nhau tìm hiểu tổng quan về Apache Kafka cũng như kiến trúc của nó. Hôm nay, chúng ta sẽ khám phá cách cài đặt Apache Kafka một cách đơn giản nhất thông qua Docker Compose.

Yêu Cầu Hệ Thống

Trước khi bắt đầu, bạn cần chắc chắn rằng máy tính của bạn đã được cài đặt Docker và Docker Compose. Từ phiên bản sau này của Docker, Docker Compose đã được tích hợp sẵn. Bạn có thể kiểm tra tình trạng cài đặt bằng lệnh dưới đây trong terminal:

Copy
docker --version  # Kiểm tra Docker đã được cài đặt chưa
docker-compose --version  # Kiểm tra Docker Compose đã được cài đặt chưa

Nếu mọi thứ đã sẵn sàng, bạn sẽ thấy kết quả phiên bản tương ứng.

Cài Đặt Apache Kafka

Để bắt đầu, hãy tạo một file có tên là kafka.yml. Bạn có thể lưu file này ở bất kỳ vị trí nào trên máy tính của mình. Chẳng hạn, bạn có thể tạo một thư mục con tên Docker trong thư mục home của mình và lưu file trong đó.

Trong file kafka.yml, hãy thêm nội dung sau:

Copy
version: '2'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:7.3.2
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
  kafka:
    image: confluentinc/cp-kafka:7.3.2
    ports:
      - "9092:9092"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

Sau đó, mở terminal, di chuyển đến thư mục chứa file kafka.yml và chạy lệnh sau:

Copy
docker-compose -f kafka.yml up -d

Hãy chờ một vài phút để Docker tải về và khởi chạy các image cần thiết. Khi quá trình khởi chạy thành công, để kiểm tra, bạn hãy chạy lệnh sau:

Copy
docker ps

Kết Nối Đến Kafka

Chúng ta sẽ sử dụng ứng dụng Kafka Tool để kết nối đến Kafka. Đây là một ứng dụng desktop miễn phí cho phép bạn kết nối với Kafka cluster, duyệt qua các topic, xem và gửi tin nhắn. Bạn có thể tải xuống phiên bản tương ứng với hệ điều hành của mình tại đây.

Khi đã cài đặt, mở Kafka Tool và nhập các thông tin kết nối như sau:

  • Name: Tên tùy ý cho kết nối.
  • Bootstrap servers: localhost:9092
  • Nhấn Test và nếu kết nối thành công, bạn sẽ nhận được thông báo.
  • Nhấn Yes để lưu kết nối.

Sau khi kết nối thành công, giao diện sẽ hiển thị các thông tin về topic hay consumer (có thể còn trống vì chúng ta mới khởi tạo Kafka).

Tạo Topic Mới Trong Kafka

Trong Kafka Tool, bạn có thể tạo topic mới bằng cách:

  • Nhấp chuột phải vào mục Topics trong menu bên trái và chọn Create Topic.
  • Nhập các thông tin cần thiết như tên Topic, số lượng partition, số lượng replica, rồi nhấn Add.
  • Nếu nhận được thông báo thành công thì bạn đã tạo topic mới thành công.

Gửi Tin Nhắn Đến Kafka

Chúng ta có thể gửi một số tin nhắn vào topic mà chúng ta vừa tạo bằng cách sử dụng kafka-console-producer.

Chạy lệnh sau để khởi chạy kafka-console-producer:

Copy
docker exec -it <container_id> /bin/kafka-console-producer --bootstrap-server kafka:9092 --topic test-topic

Lưu ý rằng container_id là ID của container Kafka mà bạn đã khởi chạy ở bước trước (bạn có thể xem ID này bằng lệnh docker ps).

Nhập các tin nhắn như: hello worldhello kafka, sau đó quay trở lại Kafka Tool, chọn topic test-topic, nhấn vào tab data, và nhấn nút Retrieve messages để xem các tin nhắn vừa gửi.

Nếu bạn thấy giá trị hiển thị dưới dạng chuỗi HEX thay vì các cụm từ bạn đã gửi, hãy chuyển sang tab Properties và điều chỉnh KeyValue trong mục Content Types về thành String.

Quay trở lại tab Data, bạn sẽ thấy kết quả rõ ràng hơn.

Kết Luận

Trong bài viết này, chúng ta đã tìm hiểu cách cài đặt Apache Kafka sử dụng Docker Compose, cũng như cách sử dụng Kafka Tool để theo dõi các topic và tin nhắn trong Kafka. Hy vọng rằng hướng dẫn này sẽ giúp ích cho bạn trong việc làm quen với Apache Kafka.

Cảm ơn bạn đã theo dõi bài viết!


Ghi Chú

Đừng quên tham gia nhóm của chúng mình để cùng nhau chia sẻ và khám phá thêm nhiều kiến thức về thiết kế hệ thống nhé! 😄

Cộng Đồng System Design Việt Nam: Link nhóm Facebook

Kênh TikTok: Link TikTok


source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào