2017-03-23 11 views
0

jMeter plugin managerによってインストールされたjMeter extensionによって、カフカ消費者に動的に生成されたメッセージを送信して、テストカフカを読み込むことを検討しています。Kafkameter NoClassDefFoundError

私のカフカは完全に設定され、実行されています。私はカフカのテストプランを設定し、それを実行しますが、私は最大1を設定するたびに、それを実行するためにthese instructionsに続く、私はログにこのエラーが表示されます。

2017/03/23 10:35:48 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.assertions.BSFAssertion 
2017/03/23 10:35:49 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.extractor.BSFPostProcessor 
2017/03/23 10:35:49 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.modifiers.BSFPreProcessor 
2017/03/23 10:35:49 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2017/03/23 10:35:49 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2017/03/23 10:35:49 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2017/03/23 10:35:49 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
2017/03/23 10:35:49 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 
2017/03/23 10:35:49 INFO - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser 
2017/03/23 10:35:49 INFO - jorphan.exec.KeyToolUtils: keytool found at 'keytool' 
2017/03/23 10:35:49 INFO - jmeter.protocol.http.proxy.ProxyControl: HTTP(S) Test Script Recorder SSL Proxy will use keys that support embedded 3rd party resources in file /Users/jordan/Downloads/apache-jmeter-3.1/bin/proxyserver.jks 
2017/03/23 10:35:49 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.java.sampler.BSFSampler 
2017/03/23 10:35:49 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.mongodb.config.MongoSourceElement 
2017/03/23 10:35:49 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler 
2017/03/23 10:35:49 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.timers.BSFTimer 
2017/03/23 10:35:49 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.visualizers.BSFListener 
2017/03/23 10:35:49 INFO - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.visualizers.MonitorHealthVisualizer 
2017/03/23 10:35:49 INFO - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times 
2017/03/23 10:35:49 INFO - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 
2017/03/23 10:35:49 INFO - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true 
2017/03/23 10:35:49 INFO - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000 
2017/03/23 10:38:54 INFO - jmeter.services.FileServer: Default base='/Users/jordan' 
2017/03/23 10:38:54 INFO - jmeter.gui.action.Load: Loading file: /Users/jordan/Downloads/apache-jmeter-3.1/bin/test-plans/kafka-test.jmx 
2017/03/23 10:38:54 INFO - jmeter.services.FileServer: Set new base='/Users/jordan/Downloads/apache-jmeter-3.1/bin/test-plans' 
2017/03/23 10:38:54 INFO - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 
2017/03/23 10:38:54 INFO - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 
2017/03/23 10:38:54 INFO - jmeter.save.SaveService: Using SaveService properties version 3.1 
2017/03/23 10:38:54 INFO - jmeter.save.SaveService: All converter versions present and correct 
2017/03/23 10:38:54 INFO - jmeter.save.SaveService: Loading file: /Users/jordan/Downloads/apache-jmeter-3.1/bin/test-plans/kafka-test.jmx 
2017/03/23 10:38:54 INFO - jmeter.services.FileServer: Set new base='/Users/jordan/Downloads/apache-jmeter-3.1/bin/test-plans' 
2017/03/23 10:39:04 INFO - jmeter.engine.StandardJMeterEngine: Running the test! 
2017/03/23 10:39:04 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2017/03/23 10:39:04 INFO - jmeter.samplers.SampleEvent: List of sample_variables: [] 
2017/03/23 10:39:04 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: co.signal.kafkameter.KafkaProducerSampler. Uses tearDownTest: true 
2017/03/23 10:39:04 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*) 
2017/03/23 10:39:05 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group 
2017/03/23 10:39:05 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group. 
2017/03/23 10:39:05 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
2017/03/23 10:39:05 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false 
2017/03/23 10:39:05 INFO - jmeter.threads.ThreadGroup: Started thread group number 1 
2017/03/23 10:39:05 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
2017/03/23 10:39:05 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1 
2017/03/23 10:39:05 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.NoClassDefFoundError: org/apache/log4j/Logger 
    at kafka.utils.Logging$class.logger(Logging.scala:24) 
    at kafka.utils.VerifiableProperties.logger(VerifiableProperties.scala:23) 
    at kafka.utils.Logging$class.info(Logging.scala:66) 
    at kafka.utils.VerifiableProperties.info(VerifiableProperties.scala:23) 
    at kafka.utils.VerifiableProperties.verify(VerifiableProperties.scala:180) 
    at kafka.producer.ProducerConfig.<init>(ProducerConfig.scala:57) 
    at co.signal.kafkameter.KafkaProducerSampler.setupTest(KafkaProducerSampler.java:90) 
    at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:193) 
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475) 
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418) 
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 12 more 

2017/03/23 10:39:05 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1 
2017/03/23 10:39:05 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
2017/03/23 10:39:05 WARN - jmeter.engine.StandardJMeterEngine: Error encountered during shutdown of [email protected] java.lang.NullPointerException 
    at co.signal.kafkameter.KafkaProducerSampler.teardownTest(KafkaProducerSampler.java:96) 
    at org.apache.jmeter.protocol.java.sampler.JavaSampler.testEnded(JavaSampler.java:292) 
    at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfEnd(StandardJMeterEngine.java:216) 
    at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:437) 
    at java.lang.Thread.run(Thread.java:745) 

2017/03/23 10:39:05 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*) 

だから、私が手にエラーがそれができないと言っていますorg/apache/log4j/loggerを見つけてください。しかし、私はこの問題と戦う方法がわかりません。私はother known issuesを見てきましたが、他の人は自分のものと似ているかどうかを知りましたが、役に立たなかったのです。私はおそらく私がテスト計画を間違って書いたと思っていましたが、問題は見つけられません。私が間違っていることについて何か提案はありますか?

+0

これは完全なスタックトレースですか? – praveen

+0

今、別の実行から更新しました。 –

+0

実行時にlog4j jarがありますか?もしそのプロジェクトが依存関係としてlog4jを追加するならば。 – praveen

答えて

2

java.lang.ClassNotFoundExceptionこの例外は、 クラスがクラスパス上に見つかりませんでした。これは、クラス定義をロードしようとしたところ、 であり、クラスパスに のクラスが存在しなかったことを示しています。

log4j jarを追加してみてください。

もしあなたが以下の依存関係を追加することができれば、適切なバージョンに変更することができます。

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.15</version> 
</dependency> 

バージョンの競合がある場合のlog4j jarファイルを別の瓶の中に存在バンドルされる可能性がありますので、これはまた、見つけるとlog4jのjarファイルを除外しようと起こるかもしれません。

<dependency> 
    <groupId>org.apache.kafka</groupId> 
    <artifactId>kafka_2.10</artifactId> 
    <version>0.8.1.1</version> 
    <exclusions> 
     <exclusion> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+0

私はlog4j jarをjMeterのlib/extフォルダに入れますか? –

+1

あなたが正しい方向に私を指摘したように、あなたの答えを受け入れています。ご協力ありがとうございました。 –

0

私は問題を把握しました。 jMeterは、そのlibフォルダ内のlog4j jarファイルがダウンロードされ、そのフォルダに置かれていても、テストは問題なく実行されます。