I am integrating flume (v 1.7) with solr morphline sinks. Solr version is 
6.6.0. But when starting up flume 
    flume-ng agent --conf conf/ --conf-file conf/agent.conf --name a1 
-Dflume.root.logger=INFO,console > logs/flume.log 

The log file throws NoClassDefFoundError
    java.lang.NoClassDefFoundError: org/apache/solr/client/solrj/SolrServer     
    at 
org.kitesdk.morphline.solr.LoadSolrBuilder$LoadSolr.<init>(LoadSolrBuilder.java:85)
        at 
org.kitesdk.morphline.solr.LoadSolrBuilder.build(LoadSolrBuilder.java:67)       
 at 
org.kitesdk.morphline.base.AbstractCommand.buildCommand(AbstractCommand.java:302)
        at 
org.kitesdk.morphline.base.AbstractCommand.buildCommandChain(AbstractCommand.java:249)
        at org.kitesdk.morphline.stdlib.Pipe.<init>(Pipe.java:46)        at 
org.kitesdk.morphline.stdlib.PipeBuilder.build(PipeBuilder.java:40)        at 
org.kitesdk.morphline.base.Compiler.compile(Compiler.java:126)        at 
org.kitesdk.morphline.base.Compiler.compile(Compiler.java:55)        at 
org.apache.flume.sink.solr.morphline.MorphlineHandlerImpl.configure(MorphlineHandlerImpl.java:12)
        at 
org.apache.flume.sink.solr.morphline.MorphlineSink.start(MorphlineSink.java:98) 
       at 
org.apache.flume.sink.DefaultSinkProcessor.start(DefaultSinkProcessor.java:45)  
      at org.apache.flume.SinkRunner.start(SinkRunner.java:79)
But I am sure solr-solrj-6.6.0.jar existed in lib folder

    -rw-rw-r-- 1 jason jason 1.2M Jun 27 15:53 lib/solr-solrj-6.6.0.jar

How can I fix this problem? 

Thanks. 
My morphline conf looks like 
solrLocator: {  collection : collection1  zkHost : "127.0.0.1:2181"}
morphlines : [  {
    id : morphline1    importCommands : ["org.kitesdk.**", "org.apache.solr.**"]
    commands : [      { readJson { } }      { generateUUID { field : id } }     
 { loadSolr: { solrLocator : ${solrLocator} } }    ]  }]
And flume agent conf containing morphline sink (other parts of conf e.g. 
sources are correctly configured as it works with different sources and sink 
such as kafka and s3)
a1.sinks.k1.type = org.apache.flume.sink.solr.morphline.MorphlineSolrSink
a1.sinks.k1.channel = c2a1.sinks.k1.morphlineFile 
=/path/to/conf/morphline.confa1.sinks.k1.morphlineId = morphline1

Reply via email to