Changes

Jump to: navigation, search

Apache Avro with Kafka

1,107 bytes added, 18:19, 19 April 2019
Logstash config
</source>
<br>
===Logstash config===
 A logstash image-en belül a konfigurációs fájl itt van: /usr/share/logstash/pipeline/'''logstash.conf'''<br>A kafka input-ban a codec-nek meg kell adni a '''avro_schema_registry plugin'''-t, amit a '''rokasovo/logstash-avro'''2 image már tartalmaz. Az '''endpoint''' paraméterben kell megadni a schema-registry url-jét. Fontos, hogy itt a belső, kafka-net overlay hálózati nevet adjuk meg, ami megegyezik a stack fájlban a service nevével. Ugyanis a service nevére egy stack-en belül a docker névfeloldást végez. Valamiért a deserializációs osztálynak a '''ByteArrayDeserializer''' osztályt kell megadni, nem a '''KafkaAvroDeserializer''' osztályt, amit nem is tartalmaz a plugin és még is működik. Az output-ban egyenlőre nem írjuk be Elasticsearch-be az üzeneteket, csak kiírjuk a log-ba.
<pre>
input {
</pre>
Ha a helyére tettük a konfigurációs fájlt, akkor indítsuk el lokálisan felcsatolva a '''/usr/share/logstash/pipeline''' mappába a konfigurációs fájlt, hogy ki tudjuk külön próbálni, hogy a konfiguráció megfelelő e. Persze a Kafka-hoz nem fog tudni csatlakozni, de a szintaktikai hibákat tudjuk ellenőrizni.
<pre>
# docker run -d --name logstash --mount type=bind,source=/home/adam/dockerStore/logstash/config/,target=/usr/share/logstash/pipeline rokasovo/logstash-avro2
</pre>
 
===Futtatás===

Navigation menu