Monday, April 10, 2023

kafka-topics komutu - Topic yaratır, siler, listeler ve değiştirir.

Giriş 
Topic yaratır, siler, listeler ve değiştirir.

Docker İle Kullanım
Örnek
Şöyle yaparız. Burada "docker exe -t" ile çalıştırılacak kafka-topics belirtiliyor.
echo -e "\n-------- Creating Kafka Topics new_user --------"
docker exec -t kafka /usr/bin/kafka-topics \
--create --bootstrap-server :9092 \
      --topic new_user \
      --partitions 1 \
      --replication-factor 1
echo -e "\n-------- Creation Kafka Topics new_user Completed --------"
...

echo -e "\n-------- Creating Outbox Kafka Connector For Debezium --------"

curl -X POST  http://localhost:8083/connectors/ \
  -H 'content-type: application/json' \
  -d '{
   "name": "student-outbox-connector",
   "config": {
      "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
      "tasks.max": "1",
      "database.hostname": "postgres",
      "database.port": "5432",
      "database.user": "postgres",
      "database.password": "postgres",
      "database.dbname": "user_DB",
      "database.server.name": "pg-outbox-server",
      "tombstones.on.delete": "false",
      "table.whitelist": "public.outbox",
      "transforms": "outbox",
      "transforms.outbox.type": "com.eresh.outbox.OutboxTransformer"
   }
}'
--alter seçeneği
Örnek
Şöyle yaparız.
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic topic1 
  config retention.ms=60000
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic topic1
  —config file.delete.delay.ms=40000
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic topic1
  --config segment.bytes=400000
--create seçeneği
Topic yaratır. Bu seçeneğin partition değeri ile ilgili Apache Kafka Partition Rakamını Hesaplama yazısına bakabilirsiniz

Örnek
Şöyle yaparız
--topic ile topic ismi belirtilir.
--partitions ile veri 10 tane partition 'a dağıtılıyor. 10 tane de consumer gerekir.
--bootstrap-server veya --zookeeper ile zookeeper adresi belirtilir. 
--bootstrap-server ile port numarası 9092'dir
--zookeeperile port numarası 2181'dir
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1
  --partitions 10 --topic topic-10p 
Örnek
Şöyle yaparız. Burada --zookeeper seçeneği kullanılıyor
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 
  --partitions 1 --topic gpslocation
Örnek
Şöyle yaparız. Burada --zookeeper seçeneği port numarası vermeden kullanılıyor
$KAFKA_HOME/bin/kafka-topics.sh --zookeeper localhost --create --topic transrec
--partitions 1 --replication-factor 1
Örnek
Şöyle yaparız --config cleanup.policy=compact kullanılıyor. Compaction Of Topic Data yazısına bakabilirsiniz
$KAFKA_HOME/bin/kafka-topics.sh --zookeeper localhost --create --topic storage-topic
--partitions 1 --replication-factor 1
--config cleanup.policy=compact
Örnek
Şöyle yaparız. Burada Avro Schema Validation etkinleştiriliyor
/usr/bin/kafka-topics 
--create 
--bootstrap-server localhost:9092
--replication-factor 1 
--partitions 1 
--topic company
--config confluent.value.schema.validation=true

-- config seçeneği
Örnek
Açıklaması şöyle. Özellikle metin gönderirken sıkıştırma çok faydalı olabilir
Especially when using text-based formats such as JSON, the effects of compression can be quite pronounced, with compression ratios typically ranging from 5x to 7x.
Şöyle yaparız
bin/kafka-topics.sh 
  --create \
  --topic snappy-compressed-topic \
  --zookeeper localhost:2181 \
  --config compression.type=snappy 
  --replication-factor 1 \
  --partitions 1
--delete seçeneği
Topic siler
Örnek
Şöyle yaparız.
kafka-topics.sh --delete --topic topic-1p --bootstrap-server localhost:9092
Örnek
Şöyle yaparız
./bin/kafka-topics.sh \
  --delete \
  --topic my-topic
--describe seçeneği
--topic ile belirtilen topic için bilgi verir

Örnek
Şöyle yaparız
kafka-topics.bat --describe --zookeeper localhost:2181 --topic [Topic Name]
Örnek
Şöyle yaparız
./bin/kafka-topics.sh --zookeeper localhost:2181 --topic account_event --describe

Topic:account_event
PartitionCount:1        ReplicationFactor:1     Configs:
Topic: account_event    Partition: 0    Leader: 1       Replicas: 1     Isr: 1

--list seçeneği
Topicleri listeler
Örnek
Şöyle yaparız
kafka-topics --zookeeper zookeeper:2181 --list
Örnek
Şöyle yaparız.
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
--replication-factor seçeneği
Şöyle yaparız.
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 
--partitions 1 --topic test
--zookeeper seçeneği - deprecated
--zookeeper deprecated. Bunun yerine --bootstrap-server kullanılmalı.

zookeper sunucusunun adresi belirtilir. Zookeeper varsayılan port olarak 2181'i kullanır. Tüm seçenekler için (alter, create, list vs) mutlaka zookeeper adresini belirtmek gerekir.
Örnek
Şöyle yaparız
kafka-topics.bat 
  --create 
  --zookeeper localhost:2181 
  --replication-factor 1 
  --partitions 1 
  --topic [topic name]

No comments:

Post a Comment

kafka-consumer-groups.sh komutu

Giriş Bir topic'i dinleyen consumer'ları gösterir. Aynı topic'i dinleyen consumer group'ları olabilir. Her topic farklı part...