Windows 환경에서 Kafka Connect를 실습을 했을 때 발생했던 에러 상황에 대하여 코멘트를 남기겠다.
java.io.FileNotFoundException: D:\kafka\connect\confluent-7.3.1\config\connect-log4j.properties (지정된 경로를 찾을 수 없습니다)
해당 문제는 connect-log4j.properties 파일이 위치하는 경로에 없기 때문에 발생했던 문제이다.
해결 방법으로는 먼전 connect-log4j.properties파일 위치를 확인을 한다.
./etc/kafka위치로 들어가서 해당 파일이 있는지 확인을 하고 만약 해당 파일이 존재한다면 connect-distributed.bat파일을 열어서 대략 30번 째 줄에서
set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/config/connect-log4j.properties
해당 주소를 config에서 etc/kafka로 변경을 해주면 된다.
Classpath is empty. Please build the project first e.g. by running 'gradlew jarAll
해당 문제는 ./bin/windows로 들어가서 kafka-run-class.bat라는 파일을 열어서 -rem Classpath addition for core이라고 적힌 부분을 찾는다.
그리고 아래의 코드를 추가해주면 해결이 된다.
rem classpath addition for LSB style path
if exist %BASE_FIR%\share\java\kafka\* (
call:concat %BASE_DIR%\share\java\kafka\*
)
Windows환경 JDBC커넥터 설정
./etc/kafka에서 connect-distributed.properties파일 내부에 Plugin 정보를 확인하자.
(마지막 부분에 있을 것이다.)
# plugin.path=/user/share/java
plugin.path=\D:\\Work\\confluentinc-kafka-connect-jdbc-10.0.1\\lib
이와 같이 기존의 주소가 아닌 confluentinc-kafka-connect내부 lib디렉토리 주소를 작성해주면 된다.
JDBC 드라이버 설정
Windows 환경 사용자라면 사용자명의 폴더 내부에 숨겨진 폴더 User/.m2/repository에 자신이 사용하는 데이터베이스 명의 디렉토리가 존재할 것이다. 해당 디렉토리 내부에 들어가면 ~~~-connector-java-버전.jar 파일이 있을 것이다
(필자는 MariaDB사용, repository/org내부에 mariaDB디렉토리 발견)
해당 파일을 복사하여
./share/java/kafka에 붙여넣어서 실행