我使用的是kafka-connect-jdbc:5.3.1,当我运行连接器时,它会抛出异常:java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Thread-11"
我尝试将堆空间增加到4gb,但仍然失败。 EC2实例类型为t2.large,记录数不超过400万。
我的属性文件看起来像
name=jdbc_source_postgres
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
key.converter=org.apache.kafka.connect.storage.StringConverter
key.converter.schemas.enable=false
value.converter=org.apache.kafka.connect.json.JsonConverter
value.converter.schemas.enable=false
connection.url=jdbc:postgresql:/localhost:5432/demo?user=********&password=*******&defaultFetchSize=10000&useCursorFetch=true
tasks.max=10
table.types=TABLE
table.whitelist=sample_table
mode=timestamp
timestamp.column.name=last_modified
validate.non.null=false
batch.max.rows=100
topic.prefix=kafka02-
poll.interval.ms=3600
我正在通过EC2上的Docker容器运行此连接器,而我的docker文件如下所示
version: "3"
services:
connect:
image: kafka-connect:latest
ports:
- 80:8083
network_mode: host
volumes:
- .:/src:cached
environment:
CONNECT_REST_PORT: 8083
CONNECT_PLUGIN_PATH: "/usr/share/java"
CLASSPATH: /usr/share/java/monitoring-interceptors/monitoring-interceptors-5.3.0.jar
CONNECT_GROUP_ID: "connect"
CONNECT_CONFIG_STORAGE_TOPIC: connect-configs
CONNECT_OFFSET_STORAGE_TOPIC: connect-offsets
CONNECT_STATUS_STORAGE_TOPIC: connect-status
CONNECT_KAFKA_HEAP_OPTS: "-Xms256M -Xmx8G"
CONNECT_BOOTSTRAP_SERVERS: localhost:9092
command: connect-standalone /src/connect-standalone.properties /src/connectors/kafka-source.properties
我已经尝试了所有可能的配置调整,但是都失败了。任何帮助将不胜感激
答案 0 :(得分:1)
该属性不是CONNECT_KAFKA_HEAP_OPTS
。只是KAFKA_HEAP_OPTS
请注意,t2.large本身最多具有8 GB,并且您需要操作系统的开销,因此无论如何您都无法纯粹将8GB分配给容器中运行的Java进程
旁注,建议不要覆盖要独立连接的命令,而应尽可能在多个Connect worker群集中分配任务