Hướng dẫn cách cài đặt Apache Kafka trên Ubuntu 18.04

0

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và đặt Apache Kafka trên VPS chạy Ubuntu 18.04 .

Kafka hoặc Apache Kafka là một hệ thống nhắn tin phân tán dựa trên nguyên tắc của mô hình pub-sub (xuất bản-đăng ký). Nó cho phép xuất bản và đăng ký một luồng các hồ sơ có thể được phân loại. Nó cực kỳ nhanh chóng , khả năng mở rộng , fault-tolerant hệ thống, và nó được thiết kế để xử lý một lượng lớn dữ liệu trong thời gian thực . Apache Kafka cũng có thể được sử dụng thay thế cho một nhà môi giới tin nhắn, cho phép xử lý / chuyển đổi một luồng các bản ghi. Kafka có thể được sử dụng như một hệ thống nhắn tin, nhưng ở quy mô khá lớn. Nhìn chung, Apache Kafka là một công cụ rất mạnh khi được sử dụng đúng cách.

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

  • Một máy chủ chạy Ubuntu 18.04 với ít nhất 4GB bộ nhớ. Với mục đích của hướng dẫn này, chúng tôi sẽ sử dụng một trong các es VPS 18.04 được quản lý của chúng tôi .
  • Quyền truy cập SSH với quyền root hoặc quyền truy cập vào chính người dùng gốc Root

 

Bước 1: Đăng nhập qua SSH và Cập nhật hệ thống

Đăng nhập vào VPS Ubuntu 18.04 của bạn bằng SSH với tư cách là người dùng root:

root ssh @ IP_Address -p Port_number

Thay thế root root bằng một người dùng có đặc quyền sudo nếu cần thiết. Ngoài ra, hãy thay thế IP IPddddd và và Cổng Port_Number, bằng địa chỉ IP và cổng SSH tương ứng của máy chủ của bạn.

Khi đã xong, bạn có thể kiểm tra xem bạn đã cài đặt phiên bản Ubuntu phù hợp trên máy chủ của mình chưa bằng lệnh sau:

# lsb_release -a

Bạn sẽ nhận được đầu ra này:

Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic

Sau đó, chạy lệnh sau để đảm bảo rằng tất cả các gói đã cài đặt trên máy chủ được cập nhật lên các phiên bản mới nhất có sẵn của chúng:

# apt update && apt upgrade

Bước 2: Thêm người dùng hệ thống

Hãy tạo một người dùng mới gọi là ‘kafka’, sau đó chúng tôi sẽ thêm người dùng mới này làm sudoer.

# adduser kafka
# usermod -aG sudo kafka

Bước 3: Cài đặt Java

Kafka được viết bằng Java, do đó cần có JVM để làm cho nó hoạt động. Trong hướng dẫn này, chúng tôi sẽ sử dụng OpenJDK 11, vì đây là phiên bản Java tiêu chuẩn đi kèm với Ubuntu kể từ tháng 9 năm 2018.

# apt install default-jre

Bước 4: Tải xuống Apache Kafka

Bây giờ hãy tải xuống Kafka, bạn có thể truy cập vào đây và tải xuống bản phát hành mới nhất nếu cần thiết. Liên kết tải xuống mới nhất tại thời điểm viết đã được nhập vào ví dụ cho bạn.

# su - kafka
wget https://www-us.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz -O kafka.tgz

Bây giờ, tệp nhị phân Apache Kafka đã được tải xuống, bây giờ chúng ta cần trích xuất nó trong thư mục người dùng Kafka của chúng tôi

$ tar -xzvf kafka.tgz --stripe 1

Bước 5: Cấu hình Apache Kafka

Đã đến lúc cấu hình Apache Kafka. Theo mặc định, chúng tôi không được phép xóa các chủ đề, danh mục hoặc nhóm trong đó tin nhắn có thể được đăng. Để thay đổi hành vi này, chúng ta cần chỉnh sửa cấu hình mặc định.

$ nano ~/config/server.properties

Nối dòng sau vào dòng cuối cùng của tệp cấu hình.

delete.topic.enable = true

Bước 6: Tạo tệp đơn vị hệ thống cho Apache Kafka

Zookeeper là cần thiết để chạy Kafka. Kafka sử dụng zookeeper, vì vậy trước tiên chúng ta cần khởi động một phiên bản của máy chủ Zookeeper trước khi bắt đầu dịch vụ Apache Kafka. Trong hướng dẫn này, chúng tôi sẽ sử dụng tập lệnh tiện lợi được đóng gói với Kafka để có được một cá thể Zookeeper một nút nhanh và bẩn.

Mở một tệp mới tại filepath /etc/systemd/system/zookeeper.servicevà mở nó trong trình soạn thảo văn bản ưa thích của bạn. Chúng tôi sẽ sử dụng nanocho hướng dẫn này.

$ sudo nano /etc/systemd/system/zookeeper.service

Dán các dòng sau vào nó:

[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=kafka
ExecStart=/home/kafka/bin/zookeeper-server-start.sh /home/kafka/config/zookeeper.properties
ExecStop=/home/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

Bây giờ, hãy tạo một tệp đơn vị hệ thống cho kafka tại filepath /etc/systemd/system/kafka.service:

$ sudo nano /etc/systemd/system/kafka.service

Dán các dòng sau vào tập tin:

[Unit]
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/home/kafka/bin/kafka-server-start.sh /home/kafka/config/server.properties > /home/kafka/kafka.log 2>&1'
ExecStop=/home/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

Các đơn vị hệ thống mới đã được thêm vào, vì vậy hãy cho phép Apache Kafka tự động chạy khi khởi động và sau đó chạy dịch vụ.

$ sudo systemctl enable kafka
$ sudo systemctl start kafka

Bước 7: Tạo chủ đề

Trong bước này, chúng tôi sẽ tạo một chủ đề có tên là First FirstTopic, với một phân vùng duy nhất và chỉ có một bản sao:

$ bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic FirstTopic

Created topic “FirstTopic”.


Giá trị nhân tố nhân rộng mô tả có bao nhiêu bản sao dữ liệu sẽ được tạo. Chúng tôi đang chạy với một phiên bản duy nhất, vì vậy giá trị sẽ là 1.

Giá trị phân vùng mô tả số lượng nhà môi giới bạn muốn dữ liệu của mình được phân chia giữa. Chúng tôi đang chạy với một nhà môi giới duy nhất, vì vậy giá trị sẽ là 1.

Bây giờ bạn có thể thấy chủ đề đã tạo trên Kafka bằng cách chạy lệnh danh sách chủ đề:

$ bin/kafka-topics.sh –list –zookeeper localhost:2181

FirstTopic


Bước 8: Gửi tin nhắn bằng Apache Kafka

Apache Kafka đi kèm với một máy khách dòng lệnh sẽ lấy đầu vào từ một tệp hoặc đầu vào tiêu chuẩn và gửi nó dưới dạng tin nhắn đến cụm Kafka. Nhà sản xuất của thành phố Cameron là quá trình có trách nhiệm đưa dữ liệu vào dịch vụ Kafka của chúng tôi. Theo mặc định, Kafka gửi mỗi dòng dưới dạng một tin nhắn riêng.

Hãy chạy nhà sản xuất và sau đó nhập một vài tin nhắn vào bảng điều khiển để gửi đến máy chủ.

$ bin/kafka-console-producer.sh –broker-list localhost:9092 –topic FirstTopic

>Welcome to kafka
>This is the content of our first topic
>


Giữ thiết bị đầu cuối mở, và hãy tiến hành bước tiếp theo.

Bước 9: Sử dụng Apache Kafka làm người tiêu dùng

Apache Kafka cũng có một dòng lệnh để người tiêu dùng đọc dữ liệu từ Kafka – điều này để người tiêu dùng có thể sử dụng Kafka để hiển thị các thông báo trong một đầu ra tiêu chuẩn.

Chạy lệnh sau trong phiên SSH mới.

$ bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic testTopic –from-beginning

Welcome to kafka
This is the content of our first topic


Đó là nó! Apache Kafka đã được cài đặt và thiết lập thành công. Bây giờ chúng ta có thể nhập một số tin nhắn trên thiết bị đầu cuối của nhà sản xuất như đã nêu trong bước trước. Các tin nhắn sẽ được hiển thị ngay lập tức trên thiết bị đầu cuối tiêu dùng của chúng tôi.

 

PS . Nếu bạn thích đọc bài đăng trên blog này về cách cài đặt Apache Kafka trên Ubuntu 18.04, vui lòng chia sẻ nó trên các mạng xã hội bằng cách sử dụng các phím tắt bên dưới hoặc chỉ cần để lại nhận xét trong phần bình luận. Cảm ơn bạn.

Leave a Reply

Your email address will not be published. Required fields are marked *