Cách cài đặt Apache Kafka Distributed Streaming Platform trên Ubuntu

theanh

Administrator
Nhân viên
Apache Kafka là một nền tảng phát trực tuyến phân tán do Apache Software Foundation phát triển và được viết bằng Java và Scala. Apache Kafka ban đầu được LinkedIn phát triển và được mã nguồn mở vào năm 2011.

Apache Kafka được sử dụng để xây dựng đường ống dữ liệu phát trực tuyến thời gian thực, lấy dữ liệu đáng tin cậy giữa hệ thống và các ứng dụng. Nó cung cấp khả năng xử lý dữ liệu thống nhất, thông lượng cao và độ trễ thấp theo thời gian thực.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình Apache Kafka từng bước trên Ubuntu 18.04. Hướng dẫn này sẽ trình bày về cài đặt và cấu hình Apache Kafka và Apache Zookeeper.

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

  • Ubuntu 18.04
  • Quyền root

Chúng ta sẽ làm gì?​

  1. Cài đặt Java OpenJDK 8
  2. Cài đặt Apache Zookeeper
  3. Tải xuống và cấu hình Apache Kafka
  4. Cấu hình Apache Kafka và Zookeeper dưới dạng Dịch vụ
  5. Kiểm tra

Bước 1 - Cài đặt Java OpenJDK 8​

Apache Kafka được viết bằng Java và Scala, vì vậy chúng ta cần cài đặt java trên máy chủ.

Trước khi cài đặt bất kỳ gói nào, hãy cập nhật kho lưu trữ và nâng cấp tất cả các gói.
Mã:
sudo apt update
sudo apt upgrade
Bây giờ hãy cài đặt Java OpenJDK 8 từ kho lưu trữ Ubuntu bằng lệnh apt bên dưới.
Mã:
sudo apt install openjdk-8-jdk -y
Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản java đã cài đặt.
Mã:
java -version
Bây giờ bạn sẽ thấy java OpenJDK 8 được cài đặt trên Ubuntu 18.04.


Bước 2 - Cài đặt Apache Zookeeper​

Apache Kafka sử dụng zookeeper để bầu bộ điều khiển, thành viên cụm và cấu hình chủ đề. Zookeeper là dịch vụ đồng bộ hóa và cấu hình phân tán.

Trong bước này, chúng ta sẽ cài đặt Zookeeper từ kho lưu trữ Ubuntu.

Chạy lệnh apt bên dưới.
Mã:
sudo apt install zookeeperd -y
Chờ cho đến khi quá trình cài đặt hoàn tất.


Bước 3 - Tải xuống và cấu hình Apache Kafka​

Trong bước này, chúng ta sẽ cài đặt Apache Kafka bằng các tệp nhị phân có thể tải xuống từ trang web Kafka. Chúng tôi sẽ cài đặt và cấu hình Apache Kafka và chạy nó như một người dùng không phải root.

Thêm một người dùng mới có tên là 'kafka'.
Mã:
useradd -d /opt/kafka -s /bin/bash kafka
passwd kafka
Bây giờ hãy đến thư mục '/opt' và tải xuống các tệp nhị phân Apache Kafka bằng wget.
Mã:
cd /opt
wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
Bây giờ hãy tạo một thư mục kafka mới.
Mã:
mkdir -p /opt/kafka
Giải nén tệp kafka_*.tar.gz vào thư mục 'kafka' và thay đổi chủ sở hữu của thư mục thành người dùng 'kafka' và nhóm.
Mã:
tar -xf kafka_2.11-2.0.0.tgz -C /opt/kafka --strip-components=1
sudo chown -R kafka:kafka /opt/kafka
Bây giờ hãy đăng nhập vào người dùng 'kafka' và chỉnh sửa cấu hình server.properties.
Mã:
su - kafka
vim config/server.properties
Dán cấu hình sau vào cuối dòng.
Mã:
delete.topic.enable = true
Lưu và thoát.



Cấu hình Apache Kafka đã hoàn tất.

Bước 4 - Cấu hình Apache Kafka và Zookeeper làm Dịch vụ​

Trong bước này, chúng ta sẽ cấu hình Apache Kafka dưới dạng dịch vụ và cấu hình cấu hình dịch vụ tùy chỉnh cho zookeeper.

Đi đến thư mục '/lib/systemd/system' và tạo tệp dịch vụ mới 'zookeeper.service'.
Mã:
cd /lib/systemd/system/
vim zookeeper.service
Dán cấu hình bên dưới.
Mã:
[Unit]Requires=network.target remote-fs.targetAfter=network.target remote-fs.target[Service]Type=simpleUser=kafkaExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.propertiesExecStop=/opt/kafka/bin/zookeeper-server-stop.shRestart=on-abnormal[Install]WantedBy=multi-user.target
Lưu và thoát.

Bây giờ hãy tạo Apache Kafka tệp dịch vụ 'kafka.service'.
Mã:
vim kafka.service
Dán cấu hình bên dưới.
Mã:
[Unit]Requires=zookeeper.serviceAfter=zookeeper.service[Service]Type=simpleUser=kafkaExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties'ExecStop=/opt/kafka/bin/kafka-server-stop.shRestart=on-abnormal[Install]WantedBy=multi-user.target
Lưu và thoát.

Tải lại cấu hình trình quản lý systemd.
Mã:
systemctl daemon-reload
Bây giờ hãy khởi động các dịch vụ Apache Zookeeper và Apache Kafka.
Mã:
systemctl start zookeeper
systemctl enable zookeeper

systemctl start kafka
systemctl enable kafka


Apache zookeeper và Kafka đã hoạt động.

Zookeeper chạy ở cổng '2181' và Kafka chạy ở cổng '9092', hãy kiểm tra bằng lệnh netstat bên dưới.
Mã:
netstat -plntu

Bước 5 - Kiểm tra Apache Kafka​

Đăng nhập vào người dùng 'kafka' và đi tới thư mục 'bin/'.
Mã:
su - kafka
cd bin/
Bây giờ hãy tạo một chủ đề mới có tên 'HakaseTesting' bằng cách sử dụng tệp thực thi 'kafka-topics.sh'.
Mã:
./kafka-topics.sh --create --zookeeper localhost:2181 \
--replication-factor 1 --partitions 1 \
--topic HakaseTesting
Và chạy 'kafka-console-producer.sh' với chủ đề 'HakaseTesting'.
Mã:
./kafka-console-producer.sh --broker-list localhost:9092 \
--topic HakaseTesting
Bây giờ hãy mở một thiết bị đầu cuối mới và đăng nhập vào máy chủ, sau đó đăng nhập vào người dùng 'kafka'.

Chạy 'kafka-console-consumer.sh' cho 'HakaseTesting' topic.
Mã:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic HakaseTesting --from-beginning
Và khi bạn nhập bất kỳ đầu vào nào từ shell 'kafka-console-producer.sh', bạn sẽ nhận được kết quả tương tự trên shell 'kafka-console-consumer.sh'.



Quá trình cài đặt và cấu hình Apache Kafka trên Ubuntu 18.04 đã hoàn tất thành công.

Tham khảo​

 
Back
Bên trên