리눅스/kafka

kafka connect standalone 설정을 위한 connect-standalone.properties파일 , connect-file-source.properties 파일

정지홍 2024. 11. 3. 18:07

/home/jeongjihong/confluent/etc/kafka의 connect-standalone.properties

  • 단일 모드 커넥트를 참조하는 설정파일이다.
  • 단일 모드 커넥트를 위해서는 위의 파일을 수정해야함.

 

bootstrap.servers=localhost:9092
  • connect와 연동할 kafka cluster의 host와 port를 작성함.
  • 2개 이상인 경우에는 ,로 구분하여 작성
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

key.converter.schemas.enable=true
value.converter.schemas.enable=true
  • data를 저장할때 or 가져올때 변환하는 경우에 사용.
  • JsonConverter , StringConverter , ByteArrayConverter를 기본 제공
  • 위의 형태를 쓰고 싶지 않다면 enable옵션은 false로 지정
offset.storage.file.filename=/tmp/connect.offsets
  • 단일 모드 커넥트는 로컬 파일에 오프셋 정보를 저장함.
  • 이는 source connector or sink connector가 데이터 처리 시점을 저장하기 위해 사용
  • 만약에 특정한 오프셋까지 읽었다가 재기동시, connector는 이를 참고하여 마지막 읽은 위치부터 다시 읽어서 topic으로 data처리
offset.flush.interval.ms=10000
  • task가 처리 완료한 offest을 summit하는 interval을 설정
# plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors,
plugin.path=/usr/share/java
  • 플러그인 형태로 추가할 커넥터의 dir path를 입력한다.
  • 만약에 오픈소스로 다운 박거나 직접 개발한 커넥터의 jar파일이 존재하는 dir값으로 입력
    • 그러면 커넥터 실행시 해당 dir에서 jar file을 load한다.
  • 이외에도 converter , transform도 추가 가능

 

 

 

 

 

 


 

 

 

/home/jeongjihong/confluent/etc/kafka의 connect-file-source.properties

  • 단일모드는 connect설정파일과 함께 connector 설정 파일도 같이 정의 해야함
  • 위의 예시는 kafka에서 기본으로 제공하는 파일 소스 커넥터이다.
  • 이는 특정 위치에 있는 파일을 읽어서 topic으로 data를 저장하는데 사용하는 connector이다.

 

name=local-file-source
  • connector의 이름을 지정.
  • 이는 connect에서 유일해야 함
connector.class=FileStreamSource
  • 사용할 커넥터의 클래스 이름을 지정
  • FileStreamSource는 kafka에서 기본으로 제공하는 클래스임.
tasks.max=1
  • connector로 실행할 task 개수를 지정
  • 이를 늘려서 병렬로 처리도 가능
file=test.txt
  • 읽을 파일의 위치 지정
topic=connect-test
  • 읽은 파일의 data를 저장할 topic의 이름을 지정