Running Kafka Connect with Simple Connectors
ในเวิร์คชอปนี้เราจะลองเล่น Kafka Connect แบบเรียบร้อย โดยเราจะ import ข้อมูลจากไฟล์เข้าไปที่ topic และ export ข้อมูลจาก topic ไปที่ไฟล์
Starting Kafka Connect
ก่อนที่จะรัน Kafka Connect ขึ้นมา เราต้องมีตัว connector ก่อน ในที่นี้เราจะใช้
connect-file-3.9.0.jar
เพื่อเชื่อมต่อไปยังไฟล์ โดยให้เราปรับแก้ไฟล์ configuration ที่ชื่อ
config/connect-standalone.properties
แล้วเซตค่า plugin.path
ตามนี้
ที่ไฟล์ config/connect-file-source.properties
และ
config/connect-file-sink.properties
จะเป็น configuration ของ source และ sink
ที่เราจะไป connect ด้วยตามลำดับ
โดย source ที่ตั้งไว้ใน configuration จะเป็นไฟล์ที่ชื่อ test.txt
ดังนั้นให้เราสร้างไฟล์นี้ขึ้นมาก่อนด้วยคำสั่งด้านล่างนี้
ส่วน sink จะเป็นไฟล์ชื่อ test.sink.txt
และ topic จะชื่อ connect-test
หลังจากนั้น เพื่อความง่ายเราจะรัน Kafka Connect ขึ้นมาแบบ standalone โดยใช้คำสั่งด้านล่างนี้ (ในขณะที่ Kafka server และ ZooKeeper ยังรันอยู่)
bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties
พอรันเสร็จเราจะเห็นว่ามีไฟล์ test.sink.txt
เกิดขึ้นมา แล้วถ้าเราแก้ไฟล์ต้นทาง test.txt
เราก็ควรจะเห็นข้อมูลในไฟล์ test.sink.txt
มีการเปลี่ยนแปลง ทดสอบได้ด้วยคำสั่งด้านล่างนี้
Running a Consumer
นอกจากนี้เรายังสามารถรัน consumer ขึ้นมาเพื่อดึง message จาก topic connect-test
ได้อีกด้วย ให้ใช้คำสั่งตามนี้
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning
แล้วลองแก้ไขไฟล์ source ตามคำสั่งด้านล่างนี้ แล้วดูผลลัพธ์