如何解决当debezium连接器从sql服务器中获取数据时,有没有一种方法可以限制kafka连接堆空间
我正在尝试建立一个连接器,该连接器从SQL Server提取数据以与apache kafka一起使用。我已经使用docker-compose文件设置了所有的kafka服务,但是SQL Server在另一台服务器上。 这是我在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:
有关如何解决此问题的任何想法?只是给我的服务器更多内存。
解决方法
您的计算机上的可用内存不足〜118MB:
Native memory allocation (mmap) failed to map 118489088 bytes for committing reserved memory
您将需要在计算机上增加或释放内存以启动JVM。如果正在运行,则可以使用以下环境变量来更改JVM的堆内存设置:
KAFKA_HEAP_OPTS="-Xms256M -Xmx2G"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。