inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Ứng dụng kiến trúc microservice (MSA) phát triển với Spring Cloud

Sử dụng Kafka Source Connect

No suitable driver 나오시는 분들

7090

작성자 없음

3

https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar

제 경우 mariadb 커넥터 대신 mysql 커넥터 사용해서 해결했습니다.

(... confluentXXX/share/java/kafka 폴더에 위치)


정말.. 하루종일 아래 예외로 애먹었네여..

Error while starting connector ...

No suitable driver found for jdbc:mysql://localhost:3307/mydb

 

mariadb 버전별 커넥터를 5개정도 해봐도 안되어서

자포자기한 채로 mysql 커넥터를 사용하니 되었습니다 ㅠㅠ

자세한 버전 정보입니다. (윈도우)

kafka : 2.13-3.4.0

kafka-connect-jdbc : 10.7.2

confluent : 7.4.0

mariaDB : 10.11

java : 17 

 

설정 정보입니다.

confluent/etc/kafka/connect-distributed.properties

89번 행 근처
plugin.path=\C:\\Work\\confluentinc-kafka-connect-jdbc-10.7.2\\lib

 

confluent/bin/windows/kafka-run-class.bat

97번 행 근처
rem classpath addition for LSB style path
if exist "%BASE_DIR%\share\java\kafka\*" (
	call :concat "%BASE_DIR%\share\java\kafka\*"
)

(...)

122번 행 근처
rem Log4j settings
IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] (
	if exist %~dp0../../etc/kafka/tools-log4j.properties (
		set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%~dp0../../etc/kafka/tools-log4j.properties
	) else (
		set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/etc/kafka/tools-log4j.properties
	)
) ELSE (
  rem create logs directory
  IF not exist "%LOG_DIR%" (
      mkdir "%LOG_DIR%"
  )
  set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%~dp0../../etc/kafka/tools-log4j.properties
)

 

confluent/bin/windows/connect-distributed.bat

28번 행 근처
rem Log4j settings
IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] (
	set KAFKA_LOG4J_OPTS=-Dlog4j.configuration=file:%BASE_DIR%/etc/kafka/connect-log4j.properties -Dlog4j.config.dir=%BASE_DIR%/etc/kafka
)


POST Request

{
  "name":"my-source-connect",
  "config":{
    "connector.class" : "io.confluent.connect.jdbc.JdbcSourceConnector",  
    "connection.url":"jdbc:mysql://localhost:3307/mydb",
    "connection.user":"root",
    "connection.password":"1234",
    "mode":"incrementing",
    "incrementing.column.name":"id",
    "table.whitelist":"users",
    "topic.prefix":"my_topic_",
    "tasks.max":"1"
  }
}

spring-boot jpa 아키텍처 spring-cloud kafka msa

Câu trả lời 2

8

metanet

저도 같은 문제로 고생해서 제가 해결한 방법 공유드립니다.

결론부터 말씀드리면 url의 mysql 부분을 mariadb로 변경해서 해결했습니다.

"connection.url":"jdbc:mariadb://localhost:3306/mydb"

kafka-connect가 정확히 어떻게 드라이버를 찾는지는 모르겠으나 프로토콜이 mysql이면 mariadb jdbc를 잘 못찾는 듯합니다.

https://github.com/confluentinc/kafka-connect-jdbc/blob/master/src/main/java/io/confluent/connect/jdbc/dialect/MySqlDatabaseDialect.java#L52

https://github.com/confluentinc/kafka-connect-jdbc/blob/master/src/main/java/io/confluent/connect/jdbc/dialect/DatabaseDialectProvider.java#L171

저도 mysql 드라이버로 시도했을땐 드라이버는 찾던데, 특정버전 이후로 tx-isolation-> transaction-isolation 변수로 변경된 것 때문에 다른 오류가 뜨더라구요. 그래서 어쩔수 없이 mariadb driver 사용하면서 url 부분 변경하니 작동됐습니다.

mysql driver에서는 transaction-isolation을 찾는데, mariadb에서 tx-isolation 변수만 있어 생긴 에러라고 합니다.
찾아보니 mariadb도 최신버전부터 변경된 변수로 적용한다는데, 저는 brew를 통해서 설치한지라 최신버전을 설치할 수 없었습니다.

마지막으로 제 실행환경 공유합니다.(mac)

kafka : stable 3.4.0
kafka-connect-jdbc : 10.7.24
mariaDB : 11.0.2-MariaDB Homebrew
java : openjdk-17

-5

communityai8509

안녕하세요, 인프런 AI 인턴이에요.

해당 오류는 JDBC 드라이버가 추가되지 않아서 발생하는 오류입니다. jdbc 드라이버를 추가해보세요.

마리아DB 버전별 드라이버 링크는 아래와 같아요.
https://mariadb.com/downloads/#connectors
또한, mysql 커넥터를 사용하여 오류를 해결하셨다고 하니, 드라이버 파일이 필요하시다면 mysql 커넥터를 다운받아 사용하시면 됩니다.

참고로, confluentXXX/share/java/kafka 폴더에 위치시키셨으니 해당 경로를 활용하시기 바랍니다.

더 자세한 오류 메시지와 함께 문제가 해결되었는지 알려주시면 더욱 도움될 것 같습니다.

좋은 하루 되세요!

rabbitmq에 configservice 연결에 대해 질문있습니다.

0

45

1

kafka 업데이트 강의 듣고 시포요

0

131

2

강의 교안

0

119

2

마이크로서비스간 통신 시, 인증 처리

0

136

2

api gateway 에서 인증 처리

0

85

1

섹션 19 질문드립니다

0

97

2

강의 자료 업데이트

0

121

2

부하분산 강의 섹션

0

78

1

강의자료는 어디에서?

0

106

2

강의 자료는 어디서 다운 받을 수 있나요?

0

147

2

전체 사용자 조회시 오류

0

74

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

136

2

학습 방향

0

107

2

카프카 커넥터 사용 목적 문의

0

110

2

kafka 강의

0

128

2

서비스 디스커버리 종류

0

107

2

강의 자료에 대해서 궁금해요

0

140

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

101

2

Kafka Source Connect 버전 에러

0

116

2

소스커넥터는 사용안한 거 맞죠?

0

103

2

강의자료 업데이트 문의

0

103

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

68

1

강의 업데이트 계획이 궁금합니다.

0

129

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

175

2