Trong Kafka 0.8beta một chủ đề có thể được tạo ra bằng cách sử dụng lệnh như dưới đây như đã đề cập hereKafka 0.8, có thể tạo chủ đề với phân vùng và sao chép bằng cách sử dụng mã java không?
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 3 --topic test
lệnh trên sẽ tạo ra một chủ đề có tên là "thử nghiệm" với 3 phân vùng và 2 bản sao cho mỗi phân vùng.
Tôi có thể làm điều tương tự bằng cách sử dụng Java không?
Cho đến nay những gì tôi thấy đang sử dụng Java chúng ta có thể tạo ra một nhà sản xuất như bên dưới
Producer<String, String> producer = new Producer<String, String>(config);
producer.send(new KeyedMessage<String, String>("mytopic", msg));
này sẽ tạo ra một chủ đề có tên là "mytopic" với số lượng phân vùng quy định sử dụng "num.partitions" thuộc tính và bắt đầu sản xuất.
Nhưng có cách nào để xác định phân vùng và sao chép không? Tôi không thể tìm thấy bất kỳ ví dụ nào như vậy. Nếu chúng ta không thể làm điều đó có nghĩa là chúng ta luôn cần tạo chủ đề với phân vùng và sao chép (theo yêu cầu của chúng ta) trước và sau đó sử dụng nhà sản xuất để tạo ra thông điệp trong chủ đề đó. Ví dụ, nó sẽ có thể nếu tôi muốn tạo ra "mytopic" theo cùng một cách nhưng với số lượng phân vùng khác nhau (ghi đè thuộc tính num.partitions)?
Những gì tôi tìm thấy cho đến nay là, bằng cách sử dụng' kafka.javaapi.producer.Producer' API chủ đề có thể được tạo ra nhưng số lượng các phân vùng sẽ được dựa trên giá trị đề cập là 'num .partitions' thuộc tính trong tập tin cấu hình. Để tạo chủ đề với các phân vùng tùy chỉnh, tôi nghĩ cách duy nhất là sử dụng kịch bản giao diện điều khiển như đã đề cập ở trên. Trong trường hợp đó, chủ đề phải được tạo trước và sau đó nhà sản xuất có thể bắt đầu sản xuất giống nhau. – Hild
Tôi đã trả lời cùng một vấn đề trong liên kết được đề cập dưới đây [Tạo chủ đề Kafka bằng Java] (http://stackoverflow.com/questions/16946778/how-can-we-create-a-topic-in-kafka-from-the -ide-using-api/18480684 # 18480684) Nếu bạn cần thêm bất kỳ trợ giúp hoặc đoạn mã nào. Hãy cho tôi biết tôi sẽ chia sẻ mã với phụ thuộc maven – Biks