Comments (6)
This doesn't really look specific to the ES connector. It looks from the stack trace like we're somehow getting a null
config map somehow. Is the MQTT connector required to reproduce this? Is it reproducible just by running the single command you provided on a new Connect cluster?
from kafka-connect-elasticsearch.
@ewencp Thank you . Here are the steps which i executed
connect-distributed /etc/kafka/connect-distributed.properties
In connect-distributed properties , i changed below configs
bootstrap.servers=ALL KAFKA BROKERS LISTED HERE
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter
key.converter.schemas.enable=false
value.converter.schemas.enable=false
curl -X POST -H "Content-Type: application/json" --data '{"name": "sensor-mqtt-connect", "config": {"connector.class":"com.evokly.kafka.connect.mqtt.MqttSourceConnector", "tasks.max":"1", "kafka.topic":"sensor-input","mqtt.server_uris":"tcp://XXXXXX:1883","mqtt.topic":"sensor","mqtt.qos":"1","message_processor_class":"com.evokly.kafka.connect.mqtt.sample.DumbProcessor"}}' http://XXXXX:8083/connectors
Then i placed kafka-connect-es jar under /usr/share/java/kafka-connect-es
Then i registered ES Connect
curl -X POST -H "Content-Type: application/json" --data '{"name":"elasticsearch-sink","config":{"connector.class":"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector","type.name":"autodesk","tasks.max":"1","topics":"sensor-output","key.ignore":"true","schema.ignore":"true","connection.url":"http://XXXXXXXX:9200"}}' http://XXXXXXX:8083/connectors
Thats it. Did i miss any steps in between ? Thank You
from kafka-connect-elasticsearch.
@srijiths That seems fine, but I can't reproduce the issue with the sequence of commands you provided. What version of Kafka/Connect are you running? I doubt the combination of MQTT and ES connectors is the issue since the stacktrace doesn't seem like it has anything to do with a conflict.
from kafka-connect-elasticsearch.
@ewencp i am using confluvent 3.0.0 version. I tried to register above ES connector again.
When i observed it has WARN on Concurrent Modification Exception from BulkProcessor class followed by JAVA HEAP SIZE exception. I have 4G alloted to JAVA.
Then it follows a series of exceptions and kafka connect , rest evrything stopped. Since its a lengthy stack trace , created a gist. Please see here
https://gist.github.com/srijiths/459725df0137c881090f7a03565f784f
Here is the MQTT connector which i am using. https://github.com/evokly/kafka-connect-mqtt
I tested ES connect with no MQTT connectors running. Still the same issues. Any pointers please ?
from kafka-connect-elasticsearch.
@srijiths this appears to be the root of the problem: java.lang.OutOfMemoryError: Java heap space
- It's possible that the ES connector is buffering so much data that you are running out of heap because of that.
max.buffered.records
defaults to 100000 which is rather high, you could try lowering that. - Are you running with customized heap settings? Using the standard scripts, you'd end up with
KAFKA_HEAP_OPTS=-Xmx256M
.You may want to consider growing that to say512M
if lowering the buffered records config does not help.
from kafka-connect-elasticsearch.
Please reopen if there are any unexpected issues here. The defaults for max.buffered.records
and batch.size
have been significantly lowered.
from kafka-connect-elasticsearch.
Related Issues (20)
- How to Convert JSON String field to ES Object?
- Capture Kafka key without using it as ID HOT 2
- Suggestion for INSERT operation "Ignoring EXTERNAL version conflict for operation INDEX on document"
- Used Elastic Java REST client is deprecated in 7.15.0 HOT 1
- Error with `"behavior.on.null.values": "delete"`
- Consumer paused indefinitely when using `AsyncOffsetTracker` with lot of null values
- Cannot use data stream with time_series mode HOT 2
- Error: Cannot infer mapping without schema HOT 1
- Connector fails with payloads >20 MB HOT 1
- Can't create a connector even if its loaded in Strimzi
- Support requests per second configuration options
- Log when there are too many requests errors
- [BUG] `TOO_MANY_REQUESTS` error craches the tasks with a unrecoverable exceptions without retries
- Ignore 'document_parsing_exception' HOT 1
- Inconsistent Logging for Tombstone Messages in Elastic Sink Connector
- abnormal data loss question
- Data Stream naming is far too restrictive HOT 1
- Creating index based on Timestamp doesn't work
- Limit retry backoff (and unlimited retries) HOT 4
- add support for index templates other than logs and metrics as types when using data streams
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kafka-connect-elasticsearch.