Giter Site home page Giter Site logo

Error while starting Kafka-neo4j connect using distributed properties | Error [ java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics] about neo4j-streams HOT 3 CLOSED

ankit302 avatar ankit302 commented on June 12, 2024
Error while starting Kafka-neo4j connect using distributed properties | Error [ java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics]

from neo4j-streams.

Comments (3)

mroiter-larus avatar mroiter-larus commented on June 12, 2024

Hi @ankit302 ,

which plugin did you try to install? neo4j-kafka-connect-neo4j-2.0.2.zip or neo4j-streams-4.1.2.jar?
If you've tried with the Neo4j Streams JAR then you've simply choose the wrong plugin.

Since you would like to use Neo4j Streams as Kafka Connect connector, you have to install the neo4j-kafka-connect-neo4j-2.0.2 package. What you need to do is to unpackage it in one of the folder declared into the Kafka Connect plugin.path parameter and restart your Kafka Connect.

Please note that if you're running Kafka Connect in distributed mode, the connector has to be placed in all the Kafka Connect instances.

If you've already done the above steps, could you please share your:

  • Kafka Connect configuration
  • Neo4j connector configuration

Hope this helps!

Mauro

from neo4j-streams.

ankit302 avatar ankit302 commented on June 12, 2024

Hello @mroiter-larus
Thankyou !! for your quick response.

Yes i have been using this plugin neo4j-kafka-connect-neo4j-2.0.2.zip. Also the connect plugins are copied into respective brokers which are part of cluster & plugin.path is defined where kafka connect jar are kept.

Cluster configuration

  1. Cluster with 3 kafka broker node & 1 zookeeper node, running on Azure cloud VM instance of ubuntu 20..04 ,

  2. Java version
    openjdk version "11.0.17" 2022-10-18
    OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu220.04)
    OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu220.04, mixed mode)

  3. Kafka Version
    kafka_2.12-2.8.2

cat /home/azureuser/kafka_2.12-2.8.2/config/connect-distributed.properties


# A list of host/pofkart pairs to use for establishing the initial connection to the Kafka cluster.
bootstrap.servers=kafka-0:9092;kafka-1:9092,kafka-2:9092

# unique name for the cluster, used in forming the Connect cluster group. Note that this must not conflict with consumer group IDs
group.id=connect-cluster
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
# Converter-specific settings can be passed in by prefixing the Converter's setting with the converter we want to apply
key.converter.schemas.enable=false
value.converter.schemas.enable=false

# Topic to use for storing offsets. This topic should have many partitions and be replicated and compacted.

# to run this example on a single-broker cluster and so here we instead set the replication factor to 1.
offset.storage.topic=connect-offsets
offset.storage.replication.factor=2
#offset.storage.partitions=25

# Topic to use for storing connector and task configurations; note that this should be a single partition, highly replicated,

# to run this example on a single-broker cluster and so here we instead set the replication factor to 1.
config.storage.topic=connect-configs
config.storage.replication.factor=2


status.storage.topic=connect-status
status.storage.replication.factor=2
#status.storage.partitions=5

# Flush much faster than normal, which is useful for testing/debugging
offset.flush.interval.ms=10000

# These are provided to inform the user about the presence of the REST host and port configs
# Hostname & Port for the REST API to listen on. If this is set, it will bind to the interface used to listen to requests.
#rest.host.name=
#rest.port=8083

# The Hostname & Port that will be given out to other workers to connect to i.e. URLs that are routable from other servers.
#rest.advertised.host.name=
#rest.advertised.port=

# Set to a list of filesystem paths separated by commas (,) to enable class loading isolation for plugins
plugin.path=/home/azureuser/kafka_2.12-2.8.2/libs,/home/azureuser/kafka_2.12-2.8.2/libs/neo4j-kafka-sink-libs

To bring up the neo4j kafka connect i execute this command:-
/home/azureuser/kafka_2.12-2.8.2/bin/connect-distributed.sh /home/azureuser/kafka_2.12-2.8.2/config/connect-distributed.properties

One point to mention here kafka connect work fine when i remove the neo4j jar file from libs 'kafka-connect-neo4j-2.0.2.jar'.
So, It appears to be issue with kafka neo4j connect plugins available.tried with multiple version of Neo4j connector kafka connector 4.X  to 5.X, but still issue persist.Issue is with neo4j kafka connect plugins are written in Kotlin language &  Kafka is in Java & Scala, which leads to dependencies class file not found error, which is not even getting resolved by placing required runtime jars for kotlin at the plugin.path directory where rest of jar are located for kafka connect.

Any help or inputs is highly appreciated.

from neo4j-streams.

conker84 avatar conker84 commented on June 12, 2024

@ankit302 do you still have the issue? Feel free to reopen it in case so. Btw we have successfully installed it into azure with neo4j-kafka-connect-neo4j-5.0.2-kc-oss.zip

from neo4j-streams.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.