Java – pig server log4j :ERROR Could not instantiate class [org. apache.hadoop.log.metrics.EventCounter]

pig server log4j :ERROR Could not instantiate class [org. apache.hadoop.log.metrics.EventCounter]… here is a solution to the problem.

pig server log4j :ERROR Could not instantiate class [org. apache.hadoop.log.metrics.EventCounter]

I use Pig embedded in Java. I want to instantiate PigServer to execute a Pig statement. My first words were:

PigServer pigServer = new PigSever("local")

When I execute this code, I get the following error:

log4j:ERROR Could not instantiate class [org.apache.hadoop.log.metrics.EventCounter].
java.lang.ClassNotFoundException: org.apache.hadoop.log.metrics.EventCounter
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198)
at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:326)
at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:752)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
   at    org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:547)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:483)
  at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
at org.apache.log4j.Logger.getLogger(Logger.java:104)
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:102)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
at org.apache.pig.impl.util.PropertiesUtil.<clinit>(PropertiesUtil.java:33)
at org.apache.pig.PigServer.<init>(PigServer.java:192)
at org.apache.pig.PigServer.<init>(PigServer.java:182)
at bicing.pig.PigEstadisticas.main(PigEstadisticas.java:18)
log4j:ERROR Could not instantiate appender named "EventCounter".
Exception in thread "main" java.lang.NoClassDefFoundError:  org/apache/hadoop/security/Credentials
at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:325)
at  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.init(HExecutionEngine.java:175)
at  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.init(HExecutionEngine.java:117)
at org.apache.pig.impl.PigContext.connect(PigContext.java:240)
at org.apache.pig.PigServer.<init>(PigServer.java:215)
at org.apache.pig.PigServer.<init>(PigServer.java:200)
at org.apache.pig.PigServer.<init>(PigServer.java:196)
at org.apache.pig.PigServer.<init>(PigServer.java:192)
at org.apache.pig.PigServer.<init>(PigServer.java:182)
at bicing.pig.PigEstadisticas.main(PigEstadisticas.java:18)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.security.Credentials
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 10 more

I want to know

because I don’t know what jar I have to import.
Can someone help me?

Solution

I think you need hadoop-commmon to implement this class .
http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common/2.7.2

Related Problems and Solutions