2016-04-02 2 views
0

Я пытаюсь использовать пробник Hadoop/Hbase для подключения и сканирования таблиц, созданных в Hbase, однако мой тест не работает со следующими сообщениями.Ошибка сэмплирования JMeter Hbase с ошибкой ClassNotFoundException

Проверьте конфигурацию Hadoop/Hbase, все службы запущены и прослушивают соответствующий порт. (zookeeper работает и слушает 2181).

2016/04/02 15:44:04 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration 
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<init>(DefaultMetricsSystem.java:37) 
at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.<clinit>(DefaultMetricsSystem.java:34) 
at org.apache.hadoop.security.UgiInstrumentation.create(UgiInstrumentation.java:51) 
at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:217) 
at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:185) 
at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:237) 
at org.apache.hadoop.security.KerberosName.<clinit>(KerberosName.java:79) 
at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:210) 
at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:185) 
at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:237) 
at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:482) 
at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:468) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.apache.hadoop.hbase.util.Methods.call(Methods.java:37) 
at org.apache.hadoop.hbase.security.User.call(User.java:590) 
at org.apache.hadoop.hbase.security.User.callStatic(User.java:580) 
at org.apache.hadoop.hbase.security.User.access$400(User.java:51) 
at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:397) 
at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:392) 
at org.apache.hadoop.hbase.security.User.getCurrent(User.java:140) 
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionKey.<init>(HConnectionManager.java:435) 
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:180) 
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:155) 
at org.apache.hadoop.hbase.client.HTableFactory.createHTableInterface(HTableFactory.java:36) 
at org.apache.hadoop.hbase.client.HTablePool.createHTable(HTablePool.java:265) 
at org.apache.hadoop.hbase.client.HTablePool.findOrCreateTable(HTablePool.java:195) 
at org.apache.hadoop.hbase.client.HTablePool.getTable(HTablePool.java:174) 
at com.atlantbh.jmeter.plugins.hbasecomponents.config.HBaseConnectionVariable.getTable(HBaseConnectionVariable.java:43) 
at com.atlantbh.jmeter.plugins.hbasecomponents.samplers.HBaseScanSampler.sample(HBaseScanSampler.java:94) 
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:434) 
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:261) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 35 more** 

ответ

1

Проблема на вашей стороне JMeter. Как говорится в сообщении об ошибке:

Вызванный: java.lang.ClassNotFoundException: org.apache.commons.configuration.Configuration

означает, что HBase Scan Sampler требует Apache Commons Configuration библиотеки, но выглядит как Hadoop плагин не предоставляет его в своем zip package. Попробуйте спросить их forum, если они готовы исправить это.

На данный момент в качестве обходного пути вы можете:

  1. Download commons-configuration2-2.0-bin.zip с сайта
  2. разархивировать
  3. Копия commons-configuration2-2.0.jar в .../apache-jmeter/lib
  4. Restart JMeter
+0

Спасибо за ваш ответ. Обнаружено такое же исключение, даже после копирования конфигурации сообщества. Какие-либо предложения?. Тем временем я начал отслеживать группу JMeter-Plugins. –

+0

Вы пробовали обе версии, доступные на этом сайте (1.10 и 2.0)? Мы не знаем, какая версия этого пакета hasoop используется, поэтому попробуйте оба, но один за другим (т. Е. Не вставляйте обе версии одновременно в lib). –

+0

Кирилл, спасибо. Ваше предложение сработало! ... После копирования версии 1.10 он не сообщил об исключении конфигурации сообщества. Еще раз спасибо. –

Смежные вопросы