리눅스/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의 이름을 지정