我正在使用合流jdbc源连接器运行以下作业:
{
"name": "jobName",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"mode": "timestamp",
"timestamp.column.name": "dateColumn",
"topic.prefix": "connect-test.",
"connection.password": "pw",
"tasks.max": "1",
"connection.user": "un",
"poll.interval.ms": "300000",
"name": "jobName",
"connection.url": "jdbc:sqlserver://serverName;Database=dbName;user=un;password=pw",
"table.whitelist": "tableName"
}
}
我有一个类似的kafka connect作业在同一个db和同一个用户上成功运行,但是使用了另一个较小的表。所以连接不是问题。
在运行作业的kafka connect服务器的日志中,我看到以下内容:
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "KafkaBasedLog Work Thread - connect-configs"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-coordinator-heartbeat-thread | connect-cluster"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-producer-network-thread | producer-1"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "KafkaBasedLog Work Thread - connect-offsets"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-producer-network-thread | producer-3"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "pool-4-thread-1"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-producer-network-thread | producer-2"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "KafkaBasedLog Work Thread - connect-status"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "DistributedHerder"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "pool-1-thread-5"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "org.eclipse.jetty.server.session.HashSessionManager@2c243a24Timer"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "qtp1434297727-21"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "qtp1434297727-26"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "qtp1434297727-27"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-producer-network-thread | producer-14"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-producer-network-thread | producer-15"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "pool-1-thread-4"
所以,没什么好谈的。运行此作业的服务器现在没有响应,并且没有响应rest调用。有什么想法吗?
1条答案
按热度按时间bsxbgnwa1#
你需要
通过ssh或其他方式登录到每个connect worker
强行停止Kafka连接进程
export KAFKA_HEAP_OPTS
比运行kafka connect的每台服务器上的默认值都大。例如KAFKA_HEAP_OPTS="-Xms512M -Xmx4G"
. 假设是linux,那么最好的地方就是一个bashrc文件kafka
用户。跑
connect-distributed
同样作为导出变量的用户另外,您可能还需要导出更多的值,以便能够公开jmx。这样,您就可以在进程崩溃之前监视它