В Kafka 0.8beta можно создать тему, используя следующую команду: здесь
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 3 --topic test
приведенная выше команда создаст тему с именем "test" с 3 разделами и 2 репликами на раздел.
Могу ли я сделать то же самое с помощью Java?
Пока что я нашел использование Java, мы можем создать производителя, как показано ниже.
Producer<String, String> producer = new Producer<String, String>(config);
producer.send(new KeyedMessage<String, String>("mytopic", msg));
Это создаст тему с именем "mytopic" с номером раздела, указанным с использованием атрибута "num.partitions" и начнет создавать.
Но есть ли способ определить раздел и репликацию? Я не мог найти такого примера. Если мы не можем, значит, это означает, что нам всегда нужно создавать тему с разделами и репликацией (в соответствии с нашим требованием) до и затем использовать продюсер для создания сообщения в этой теме. Например, возможно ли, если я хочу создать "mytopic" одинаково, но с разным количеством разделов (переопределяя атрибут num.partitions)?