Client Apache Kafka cho Mac
Đọc một topic từ vị trí bắt đầu bạn chọn, xem mỗi consumer group đang trễ bao xa, và produce một message thử, tất cả bằng KafkaQL. Topic là một log, nên data grid chỉ đọc message và không bao giờ sửa chúng.
Dùng được trên MacDriver được tải về ở lần đầu bạn chọn Apache Kafka


Tóm tắt
- Ngôn ngữ query
- KafkaQL
- Driver
- Tải về ở lần dùng đầu
- Cách kết nối
- Host và port, SSH tunnel, SSL/TLS
- Port mặc định
- 9092
- Phiên bản tối thiểu
- 0.11, theo tài liệu
- iPhone và iPad
- Không mở được
Kết nối
Nhập host và port của một broker; phần còn lại của cluster được tìm ra từ broker đó, và Máy chủ bootstrap bổ sung (Additional Bootstrap Servers) liệt kê các broker để thử khi broker đầu tiên không trả lời. Mỗi connection là một cluster, nên không có ô Cơ sở dữ liệu (Database), và sidebar hiện thẳng các topic.
Giao thức bảo mật (Security Protocol) là PLAINTEXT, SSL, SASL_PLAINTEXT hoặc SASL_SSL, còn Cơ chế SASL (SASL Mechanism) là PLAIN, SCRAM-SHA-256 hoặc SCRAM-SHA-512. PLAIN hợp với Confluent Cloud; SCRAM hợp với Amazon MSK và broker tự host. Với SSL hoặc SASL_SSL mà chưa chọn chế độ SSL, chuỗi chứng chỉ và hostname sẽ được xác minh. CA riêng đặt ở Chứng chỉ CA (CA Certificate), còn chứng chỉ và khóa của client thêm mutual TLS.
Khi đi qua SSH tunnel, connection chỉ làm việc với broker bootstrap, nên chỉ đọc được những partition mà broker đó làm leader. Nhập từ URL… (Import from URL…) nhận URL kafka://, nhưng macOS không mở các URL này như liên kết.
Đọc, kiểm tra và produce
Mở một topic sẽ hiện các message gần nhất, mới nhất ở cuối, kèm partition, offset, timestamp, key, value, header và kích thước. Message từ các partition khác nhau được xếp xen theo timestamp cho dễ đọc; partition cùng offset mới là thứ định danh một message. Key hoặc value không phải UTF-8 hiển thị dạng hex, và tombstone vẫn phân biệt được với message rỗng.
KafkaQL thay việc sắp xếp và lọc bằng vị trí bắt đầu: CONSUME "orders" FROM NEWEST, FROM OLDEST, FROM OFFSET hoặc FROM TIME với một thời điểm ISO 8601, có thể giới hạn ở một số partition. SHOW TOPICS, SHOW BROKERS, SHOW GROUPS, SHOW CLUSTER và DESCRIBE TOPIC cho biết phần còn lại của cluster.
DESCRIBE GROUP là báo cáo độ trễ: offset đã commit, offset cuối và khoảng chênh, theo từng partition. Partition mà group chưa từng commit sẽ để trống độ trễ thay vì một con số đếm từ 0, và SHOW GROUPS đánh dấu danh sách là chưa đầy đủ khi có broker không truy cập được.
PRODUCE INTO ghi một message, có thể kèm key, header và partition. Message có key mà không chỉ định partition sẽ rơi vào đúng chỗ producer của chính Kafka đặt nó. Các batch nén gzip, snappy, lz4 và zstd được giải nén khi đọc, không cần chọn thiết lập nào.
Bạn không sửa được ô, không xóa được dòng và không sắp xếp được cột, vì Kafka không có thao tác update, không xóa được từng message và không sắp xếp phía server, nên data grid làm mờ các nút đó. Mỗi trang đọc tiếp từ chỗ trang trước dừng lại, nên topic đang được ghi vào cũng không bị lặp hay sót message.
Topic
Xóa topic, từ sidebar hoặc bằng DROP TOPIC, là thao tác phá hủy duy nhất. Cluster xóa log sau đó, nên topic có thể còn trong danh sách thêm một lúc. Không có lệnh Truncate: Kafka xóa record theo retention hoặc theo offset của từng partition, và cả hai cách đều không làm trống một topic.
Di chuyển dữ liệu
TablePro không có import cho Kafka; hãy đưa message vào topic bằng PRODUCE INTO. Bạn có thể export các message mà một query đã đọc ra CSV, JSON hoặc XLSX.
iPhone và iPad
Ứng dụng cho iPhone và iPad không có driver Apache Kafka. Connection Apache Kafka đồng bộ từ máy Mac vẫn hiện trong danh sách nhưng không mở được.
Giới hạn
- Schema Registry không được đọc, nên giá trị Avro và Protobuf hiển thị dưới dạng byte thô.
- Không hỗ trợ tạo topic, sửa cấu hình topic và đặt lại offset của consumer group.
- Số lượng message chỉ là ước tính.
Câu hỏi về Apache Kafka
Vì sao topic tải được nhưng message lại bị timeout?
Cluster đang công bố (advertise) những địa chỉ mà máy Mac này không tới được, như hostname của container hoặc IP nội bộ. Hãy sửa advertised.listeners, hoặc đặt Địa chỉ broker (Broker Addresses) để chỉ dùng địa chỉ bootstrap.
Đăng nhập Amazon MSK bằng IAM có được không?
Không. Các cơ chế SASL được hỗ trợ là PLAIN, SCRAM-SHA-256 và SCRAM-SHA-512, nên hãy tạo một user SCRAM trên cluster MSK và kết nối bằng SASL_SSL.
Tải TablePro
Yêu cầu macOS 13 Ventura trở lên