apache-kafka - 无法为 kafka 设置 connection.url 为 oracle 设置连接设置
问题描述
我正在尝试设置一个管道以从 oracle 数据库中流式传输数据并将其放入主题中。我使用本地的 tnsnames.ora 文件连接到该数据库。请注意,此数据库不在本地主机上。
tnsnames.ora:
DV06 = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =dev-db.uc.com)(PORT = 5222))
(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = devdbsc.uc.com)))
我正在lensesio/fast-data-dev
为所有必需的 Kafka 服务使用映像,并在 Docker 下运行所有内容。
创建连接器的步骤:
步骤1 :
识别 jar 路径:
当我尝试连接到 oracle 数据库时,我首先尝试查找 Kafka-connect-jdbc*,以便我可以下载 odbc jar 并将其放在同一文件夹中。
root@fast-data-dev / $ find / -name kafka-connect-jdbc\*.jar
/opt/landoop/connectors/third-party/kafka-connect-jdbc/kafka-connect-jdbc-5.2.3.jar
root@fast-data-dev / $
第2步:
放置jar文件:
下一步是下载 odbc jar 并放在相同的路径中。我已经从 Maven 存储库下载了它并将它放在同一个文件夹中:ojdbc8-12-2.0.1.jar
root@fast-data-dev / $ ls opt/landoop/connectors/third-party/kafka-connect-jdbc/
audience-annotations-0.5.0.jar jline-0.9.94.jar mariadb-java-client-2.2.1.jar postgresql-9.4.1212.jar sqlite-jdbc-3.25.2.jar
common-utils-5.2.3.jar jtds-1.3.1.jar netty-3.10.6.Final.jar sample-config zkclient-0.10.jar
doc kafka-connect-jdbc-5.2.3.jar ojdbc8-12-2.0.1.jar slf4j-api-1.7.25.jar zookeeper-3.4.13.jar
root@fast-data-dev / $
第 3 步:
创建连接器:
我尝试了两个选项connection.url
。
选项1:
curl -X POST "http://localhost:8083/connectors" -H "Content-type:application/json" --data \
'{
"name" : "orc_source",
"config" : {
"connector.class" : "io.confluent.connect.jdbc.JdbcSourceConnector",
"connection.url" : "jdbc:oracle:thin:@dev-db.uc.com:5222,
"connection.user":"FG",
"connection.password":"1234",
"mode":"bulk",
"topic.prefix": "oracle_",
"table.whitelist":"DRVR_TBL",
"poll.interval.ms":10000
}
}'
选项 2:
curl -X POST "http://localhost:8083/connectors" -H "Content-type:application/json" --data \
'{
"name" : "orc_source",
"config" : {
"connector.class" : "io.confluent.connect.jdbc.JdbcSourceConnector",
"connection.url" : "jdbc:oracle:thin:@dev-db.uc.com:5222/devdbsc.uc.com,
"connection.user":"FG",
"connection.password":"1234",
"mode":"bulk",
"topic.prefix": "oracle_",
"table.whitelist":"DRVR_TBL",
"poll.interval.ms":10000
}
}'
但在这两种情况下,我都得到以下错误:
"error_code":400,"message":"Connector configuration is invalid and contains the following 2 error(s):\nInvalid value java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@dev-db.uc.com:5222 for configuration Couldn't open connection to jdbc:oracle:thin:@dev-db.uc.com:5222\nInvalid value java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@dev-db.uc.com:5222 for configuration Couldn't open connection to jdbc:oracle:thin:@dev-db.uc.com:52221\nYou can also find the above list of errors at
the endpoint `/{connectorType}/config/validate`"}.
我传递connection.url的方式似乎存在一些问题,但不确定哪里出错了。请建议。
解决方案
推荐阅读
- model-view-controller - 设置剑道 NumericTextBoxFor 的格式
- kubernetes - 编织 kubernetes 中的就绪探测失败错误
- php - 如何修复无法在 laravel 中创建控制器更新配置文件
- android - 宽度 match_parent 时 drawableRight 靠近文本
- bash - 使用 bash 脚本自动输入 root 密码
- c# - C#递归函数调用:这个函数如何不无限调用自己?
- c# - 当我离开页面时如何停止计时器
- angular - 从 angular5 升级到 angular 7 后,如何修复找不到 webpack 和谐模块错误?
- c# - 如何正确使用 C# 中的参数制作 URI?
- android - 无法在本机反应中发送带有自定义标头和数据的 POST 请求