CDC Pipeline

Debezium - Oracle 접속 실패

쫄보삽질러 2024. 9. 26. 21:12
728x90

데이터 변화 감지(CDC)를 위해 debezium과 oracle(aws rds) 연동 시 oracle DB 접속에 실패하는 에러가 발생했습니다.

 

1. oracle-connector error

{"error_code":400,"message":"Connector configuration is invalid and contains the following 1 error(s):\nUnable to connect: Failed to resolve Oracle database version}

먼저 oracle-connector로 REST API를 생성할 때 나타난 에러이고,

실행 중이던 kafka connect에 나타난 에러를 보면 다음과 같습니다.

 

2. kafka connect error

Caused by: java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@test-db.ct.ap-northeast-2.rds.amazonaws.com:1521/ORCL

 

해당 에러는 oracle에 접속하기 위한 jdbc driver를 찾지 못해서 발생한 오류로 ojdbc8.jar 파일의 경로를 바꿔주어 해결했습니다.

 

 

먼저 로컬에서 ojdbc8.jar 파일 다운로드 후, kafka container에 복사해주었습니다.

docker cp ojdbc8.jar kafka:/opt/kafka_2.13-2.8.1/connectors/

 

=> 기존 plugin.path=/opt/kafka_2.13-2.8.1/connectors에 설정한대로, 해당 플러그인 경로에 복사했습니다.

 

그러나 계속해서 동일한 에러가 발생했고, debezium 공식문서를 참고한 결과,

# debezium 공식문서 참고

 

/kafka/libs/ 디렉토리 아래에 다시 파일을 옮겨주었습니다.

mv ojdbc8.jar ../libs/
# oracle-connector 실행
curl -X POST -H "Content-Type: application/json" --data @oracle-config.json http://localhost:8083/connectors

이후 oracle-connector를 재실행 했더니 정상적으로 oracle db 접속에 성공했습니다!

 

 

- 이상 오늘의 삽질일기 끄읏🌞


여기저기 삽질도 해보고
날려도 먹으면서
배우는 게
결국 남는거다
- Z.Sabziller

 

 

'쫄보의삽질' 블로그 탄생스토리가 궁금하다면:

 

Git push 취소 방법 (feat. '쫄보의삽질' 블로그 탄생 배경)

아래는 저의 생생한 경험담을 바탕으로 작성한 것 입니다. Github 관리 폴더의 이름을 실수로 변경하고 삭제해버렸다. 작업 후 commit 하려고 아무리 찾아봐도 폴더가 보이지 않았다. 나의 피땀눈물

ninano1109.tistory.com