Tôi mới sử dụng Kafka 0.9 và thử nghiệm một số tính năng tôi nhận thấy một hành vi lạ trong Java thực hiện Người tiêu dùng (KafkaConsumer
).Phương thức thăm dò ý kiến của người tiêu dùng Kafka() bị chặn
Nhà môi giới Kafka nằm trong máy bên ngoài Ambari.
Ngay cả khi tôi có thể triển khai Nhà sản xuất và bắt đầu gửi tin nhắn đến nhà môi giới bên ngoài, tôi không biết tại sao, khi người tiêu dùng cố đọc các sự kiện (bình chọn), nó bị kẹt.
Tôi biết nhà sản xuất đang hoạt động tốt, vì tôi có thể tiêu thụ tin nhắn thông qua bảng điều khiển người tiêu dùng (đang hoạt động cục bộ trên ambari). Nhưng khi tôi thực thi Java Consumer, không có gì xảy ra, chỉ bị mắc kẹt. Gỡ lỗi mã Tôi có thể thấy rằng nó bị chặn tại đường dây poll()
:
ConsumerRecords<String, String> records = consumer.poll(100);
Thời gian chờ không có gì, bằng cách này. Không quan trọng nếu bạn đặt 0, 100 hoặc 1000 ms, người tiêu dùng bị chặn trong dòng này và không hết thời gian chờ và cũng không loại trừ ngoại lệ.
tôi đã cố gắng tất cả các loại tài sản thay thế, chẳng hạn như advertised.host.name, advertised.listener ... và như vậy, có zero may mắn.
Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn trước!
Bạn có thể sử dụng các thông điệp theo cách khác, chẳng hạn như bằng cách sử dụng 'kafka-console-consumer.sh'? –
Vâng, tôi. Từ máy lưu trữ ambari, tôi có thể tiêu thụ tin nhắn thông qua bảng điều khiển người tiêu dùng –
Và những gì về từ máy mà bạn chạy người tiêu dùng của bạn trên? Bạn đã thử người tiêu dùng giao diện điều khiển ở đó? –