Viettel IDC

VNNIC
Cooky

Contacts
seozie-img

Kafka là gì ?

Kafka là gì? – Đó là hệ thống message pub/sub phân tán (distributed messaging system). Bên pulbic dữ liệu được gọi là producer, bên subscribe nhận dữ liệu theo topic được gọi là consumer. Kafka có khả năng truyền một lượng lớn message theo thời gian thực, trong trường hợp bên nhận chưa nhận message vẫn được lưu trữ sao lưu trên một hàng đợi và cả trên ổ đĩa bảo đảm an toàn. Đồng thời nó cũng được replicate trong cluster giúp phòng tránh mất dữ liệu. kafka là gì

Cài đặt Apache Kafka trên Ubuntu 20.04:

Tạo người dùng cho Kafka:

Đăng nhập với tư cách là người dùng sudo không phải root của bạn, tạo một người dùng có tên kafka:
sudo adduser kafka
Tiếp theo, thêm người dùng kafka vào nhóm sudo bằng lệnh adduser:
sudo adduser kafka sudo
Đăng nhập với người dùng Kafka:
su -l kafka
Bây giờ bạn đã tạo một người dùng cụ thể cho Kafka, bạn đã sẵn sàng tải xuống và giải nén các tệp nhị phân Kafka.

Tải xuống và giải nén Kafka Binaries:

Tạo một thư mục để lưu trữ để tải xuống tệp:
mkdir ~/Downloads
Sử dụng curl để tải xuống các tệp nhị phân Kafka:
curl "https://downloads.apache.org/kafka/2.6.2/kafka_2.13-2.6.2.tgz" -o ~/Downloads/kafka.tgz
Tạo một thư mục Kafka đây là thư mục cơ sở để cài đặt Kafka:
mkdir ~/kafka && cd ~/kafka
Giải nén tệp đã tải xuống:
tar -xvzf ~/Downloads/kafka.tgz --strip 1

Cấu hình máy chủ Kafka:

Đầu tiên mở tệp server.properties:
nano ~/kafka/config/server.properties
Tiếp theo thêm đoạn này vào cuối tệp:
delete.topic.enable = true
Thay đổi thư mục lưu trữ nhật kí Kafka:

Tạo tệp đơn vị Systemd và khởi động máy chủ Kafka:

Tạo tệp đơn vị cho zookeeper:
sudo nano /etc/systemd/system/zookeeper.service
Thêm đoạn code này vào:
[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
User=kafka
ExecStart=/home/kafka/kafka/bin/zookeeper-server-start.sh /home/kafka/kafka/config/zookeeper.properties
ExecStop=/home/kafka/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
Tiếp theo, tạo tệp dịch vụ systemd cho kafka:
sudo nano /etc/systemd/system/kafka.service
Thêm đoạn code này vào tệp:
[Unit]
Requires=zookeeper.service
After=zookeeper.service

[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.properties > /home/kafka/kafka/kafka.log 2>&1'
ExecStop=/home/kafka/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
Bây giờ bạn đã xác định các đơn vị, hãy bắt đầu Kafka bằng lệnh sau:
sudo systemctl start kafka
Để đảm bảo rằng máy chủ đã khởi động thành công, hãy kiểm tra nhật ký nhật ký cho kafka:
sudo systemctl status kafka
Như các bạn đã thấy Kafka đã hoạt động. Bạn đã bắt đầu dịch vụ kafka. Nhưng nếu bạn khởi động lại máy chủ của mình, Kafka sẽ không tự động khởi động lại. Để bật dịch vụ kafka khi khởi động máy chủ, hãy chạy các lệnh sau:
sudo systemctl enable zookeeper
sudo systemctl enable kafka

Phần kết:

Ở trên mình đã hướng dẫn các bạn cài đặt Apache Kafka trên Ubuntu 20.04

Write a Reply or Comment

Your email address will not be published.