【发布时间】:2021-01-27 20:37:19
【问题描述】:
我正在尝试设置一个从 SQL 服务器获取数据以与 apache kafka 一起使用的连接器。我已经使用 docker-compose 文件设置了所有 kafka 服务,但是 SQL 服务器位于另一台服务器上。 这是我在 ksqldb 中的 debezium 连接器的配置:
create source connector sql_connector with
('connector.class'='io.debezium.connector.sqlserver.SqlServerConnector',
'database.server.name'='sqlserver',
'database.hostname'= 'xxxxx',
'database.port'='1433',
'database.user'= 'xxxx',
'database.password'= 'xxxxxx',
'database.dbname'='xxxxxxxxx',
'database.history.kafka.bootstrap.servers'='broker:29092',
'database.history.kafka.topic'='dbz_dbhistory.sqlserver.asgard-01');
当我这样做时,我得到一个连接器已成功创建的响应,但是当我通过对我的连接器使用“显示连接器”查询 ksqldb 时,我收到以下错误消息:
io.confluent.ksql.util.KsqlServerException: org.apache.http.conn.HttpHostConnectException: Connect to connect:8083 [connect/172.18.0.6] failed: Connection refused (Connection refused)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to
connect:8083 [connect/172.18.0.6] failed: Connection refused (Connection
refused)
Caused by: Could not connect to the server.
Caused by: Could not connect to the server.
当我检查我的 kafka 连接日志时,我可以看到它向服务器发出 select 语句,但过了一会儿我收到以下错误并且我的 kafka 连接关闭:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000b5400000, 118489088, 0) failed; error='Not enough space' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 118489088 bytes for committing reserved memory.
# An error report file with more information is saved as:
关于如何解决这个问题的任何想法?其他的只是给我的服务器更多的内存。
【问题讨论】:
-
你的意思是堆空间,不是 RAM,对吧?
-
是的,我的意思是堆空间,我对 kafka 很陌生,还不知道正确的术语
-
堆大小是 JVM,与 Kafka 无关。在 ksql 和 connect 的启动脚本中,可以找到用于调整内存使用的属性
-
在哪里可以找到这些启动脚本?
-
是的,我肯定要增加服务器的总内存,但我想我得到了我想要的,感谢您的帮助
标签: apache-kafka apache-kafka-connect ksqldb debezium