2017-02-06 16 views
8

Tôi đang gặp phải hành vi khá lạ khi làm việc với đầu nối Confluent JDBC. Tôi khá chắc chắn rằng nó không liên quan đến ngăn xếp Confluent, nhưng với chính khung công tác kết nối Kafka.Nhiệm vụ chìm kết nối Kafka bỏ qua thuộc tính lưu trữ tập tin bù đắp

Vì vậy, tôi xác định offset.storage.file.filename thuộc tính làm mặc định /tmp/connect.offsets và chạy đầu nối bồn rửa của tôi. Rõ ràng, tôi mong đợi kết nối để tồn tại offsets trong tập tin cho trước (nó không tồn tại trên hệ thống tập tin, nhưng nó sẽ được tự động tạo ra, phải không?). Tài liệu cho biết:

offset.storage.file.filename Các tập tin để lưu trữ offsets kết nối trong Bằng cách lưu trữ offset trên đĩa, một quá trình độc lập có thể được dừng lại và bắt đầu vào một nút duy nhất và tiếp tục nơi nó trước đó rời đi..

Nhưng Kafka hoạt động theo cách hoàn toàn khác.

  1. Kiểm tra xem tệp đã tồn tại chưa.
  2. Nó không phải là, Kafka chỉ bỏ qua nó và vẫn tồn tại vị trí trong chủ đề Kafka.
  3. Nếu tôi tạo tệp đã cho theo cách thủ công, hãy đọc không thành công (EOFException) và bù trừ được tiếp tục tồn tại trong chủ đề một lần nữa.

Có phải là lỗi hoặc, nhiều khả năng, tôi không hiểu cách làm việc với cấu hình này? Tôi hiểu sự khác biệt giữa hai cách tiếp cận tồn tại và lưu trữ tệp thuận tiện hơn cho các nhu cầu của tôi.

+0

Bạn đã bao giờ giải quyết vấn đề này chưa? Tôi nhìn thấy hành vi tương tự với một bồn rửa Elasticsearch Kafka Connect đang chạy trong chế độ độc lập. – John

+0

@John, rất tiếc, tôi không có bất kỳ cập nhật nào – bsiamionau

Trả lời

0

Thuộc tính offset.storage.file.filename chỉ áp dụng cho người lao động đang chạy ở chế độ độc lập. Nếu bạn thấy Kafka tồn tại trong một chủ đề Kafka, bạn đang chạy trong chế độ phân tán. Bạn nên khởi chạy trình kết nối của mình bằng tập lệnh được cung cấp connect-standalone. Có mô tả về các chế độ khác nhau here. Hướng dẫn chạy ở các chế độ khác nhau là here.

+0

mẹo là tôi chạy công nhân ở chế độ độc lập – bsiamionau

+0

Tôi đang chạy bồn rửa Elasticsearch Kafka Connect ở chế độ độc lập và nhìn thấy hành vi tương tự, nghĩa là 'offset.storage Tệp .file.filename' không được tạo và các khoảng trống xuất hiện để được duy trì ở nơi khác. – John

+1

Đầu nối bồn rửa sử dụng chức năng nhóm người tiêu dùng Kafka để lưu trữ bù đắp. Các tập tin bù đắp hoặc chủ đề để kết nối thực sự chỉ áp dụng cho các đầu nối nguồn nói chung. – dawsaw

Các vấn đề liên quan