W Kafki 0.8beta tematem mogą być tworzone za pomocą polecenia jak poniżej wymienione hereKafka 0.8, czy można utworzyć temat z partycją i replikacją za pomocą kodu java?
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 3 --topic test
powyższe polecenie stworzy temat o nazwie „test” z 3 przegrodami i 2 replik na partycji.
Czy mogę zrobić to samo za pomocą Java?
tej pory co znalazłem się przy użyciu języka Java możemy stworzyć producent jak widać poniżej
Producer<String, String> producer = new Producer<String, String>(config);
producer.send(new KeyedMessage<String, String>("mytopic", msg));
Stworzy to wątek o nazwie „mytopic” z liczbą partycji określony za pomocą „num.partitions” atrybut i zacznij produkcję.
Ale czy istnieje sposób zdefiniowania partycji i replikacji również? Nie mogłem znaleźć żadnego takiego przykładu. Jeśli nie możemy tego zrobić, oznacza to, że zawsze musimy utworzyć temat z partycjami i replikacją (zgodnie z naszym wymaganiem), a następnie użyć producenta do wytworzenia wiadomości w tym temacie. Na przykład czy będzie możliwe, jeśli chcę utworzyć "mytopic" w ten sam sposób, ale z inną liczbą partycji (przesłonięcie atrybutu num.partitions)?
Co znalazłem do tej pory, za pomocą' kafka.javaapi.producer.Producer' API tematem może być utworzona, ale liczbę partycji zostanie w oparciu o wartość wymienionej jako 'num atrybut .partitions w pliku konfiguracyjnym. Aby utworzyć temat z partycjami niestandardowymi, myślę, że jedynym sposobem jest użycie skryptu konsoli, jak wspomniano powyżej. W takim przypadku temat musi zostać utworzony wcześniej, a następnie producent może rozpocząć produkcję na tym samym. – Hild
Odpowiedziałem na ten sam problem w poniższym linku [Utwórz temat Kafki za pomocą Java] (http://stackoverflow.com/questions/16946778/how-can-we-create-a-topic-in-kafka-from-to -ide-using-api/18480684 # 18480684) Jeśli potrzebujesz dalszej pomocy lub fragmentu kodu. Daj mi znać, podzielę kod z zależnością od maven. – Biks