티스토리 뷰
데이터처리/Flink
[Flink] extension (5) should not be presented in certificate_request 오류 - postgresql 연동시
정선생 2022. 1. 27. 08:00반응형
문제
다음과 같이 sql-client.sh 상에서 PostgreSQL 을 연동하려고 했는데 다음과 같은 오류가 발생했다.
이건 flink 의 문제가 아니라, PostgreSQL 에서 연결할때 문제가 되는것이다. 가장 손쉬운 해결은 java 옵션을 추가해서 재실행하는것이다.
Flink SQL> CREATE CATALOG myDB WITH(
> 'type' = 'jdbc',
> 'base-url' = 'jdbc:postgresql://127.0.0.1:26257',
> 'default-database' = 'mydb',
> 'username' = '유저',
> 'password' = '암호'
> );
[ERROR] Could not execute SQL statement. Reason:
javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request
해결방법
java 실행시 -Djdk.tls.client.protocols=TLSv1.2 옵션을 추가해주면 된다. 근데, 쉘스크립트로 나열되어있어서 찾기 불편할텐데 flink 의 jobManager 와 taskManager 의 경우 FLINK_JAVA_OPTS 라는 환경변수가 먹기 때문에 다음과 같이 환경변수를 추가해서 반영 후 클러스터를 재기동하면된다.
추가로, sql-client.sh 에서는 FLINK_ENV_JAVA_OPTS 환경변수가 안먹기 때문에, sql-client.sh 스크립트에서 java 옵션관련 내용을 찾아서 옵션을 추가하거나, 찾기 번거로우면 JVM_ARGS 를 스크립트 적당히 위쪽(?)에 한줄을 추가후 실행해도 된다.
~/.bash_profile
## job-manager , task-manager 에서 적용되도록 하는 환경변수
export FLINK_ENV_JAVA_OPTS="-Djdk.tls.client.protocols=TLSv1.2"
$FLINK_HOME/bin/sql-client.sh
...생략...
## sql-client.sh 에서 적용되도록 하는 환경변수
JVM_ARGS="-Djdk.tls.client.protocols=TLSv1.2"
...생략...
결과
다음과 같이 카탈로그를 등록시도하면 성공하고, 테이블도 확인가능하다.
Flink SQL> CREATE CATALOG myDB WITH(
> 'type' = 'jdbc',
> 'base-url' = 'jdbc:postgresql://127.0.0.1:26257',
> 'default-database' = 'mydb',
> 'username' = '유저',
> 'password' = '암호'
> );
[INFO] Execute statement succeed.
Flink SQL> show catalogs;
+-----------------+
| catalog name |
+-----------------+
| myDB |
| default_catalog |
+-----------------+
2 rows in set
Flink SQL> use catalog myDB;
[INFO] Execute statement succeed.
Flink SQL> show tables;
+----------------------------------------------+
| table name |
+----------------------------------------------+
| public.myTable |
...생략...
| public.youTable |
+----------------------------------------------+
12 rows in set
반응형
'데이터처리 > Flink' 카테고리의 다른 글
[FLINK] yarn 세션 모드 : 클러스터 N대로 sql-client 접속하는 방법 (0) | 2022.02.15 |
---|---|
[Flink] sql-client 에서 쿼리 결과가 안나오는 문제 - checkpoint (0) | 2022.02.05 |
[Flink] PostgreSQL 연동시 Doesn't support Postgres type 'jsonb' yet 문제 (0) | 2022.01.26 |
[Flink] op 필드 없는 "debezium-avro-confluent" 포맷 사용 방법 (0) | 2022.01.12 |
[Flink] JDBC Connector 에서 "ORACLE" 연동하기 - flink 1.13 (1) | 2022.01.05 |
댓글