Thanks, thats correct. @Dongliang: Please follow the instructions Connor gave.
- Alex On Jan 14, 2013, at 8:10 AM, Connor Woodson <[email protected]> wrote: > He's running Pig, not Flume, but trying to get the Flume Log4jAppender > working. > > If you want to try to compile with the log4jappender, download Pig from > Github and add the following to ivy.xml, then 'ant build': > > <dependency org="org.apache.flume" name="flume-ng-clients" rev="1.3.1"/> > > > > On Sun, Jan 13, 2013 at 10:58 PM, Alexander Alten-Lorenz < > [email protected]> wrote: > >> Please post the flume startup line. I guess you have missed the --conf >> switch. >> >> - Alex >> >> On Jan 14, 2013, at 4:25 AM, 孙东亮 <[email protected]> wrote: >> >>> I'm a newbie for the Flume, and I just set up flume for a test. >>> I want to use the log4jappender to get log info from PIG scripts, the >>> log4j.properties is: >>> >>> log4j.appender.flume = >> org.apache.flume.clients.log4jappender.Log4jAppender >>> log4j.appender.flume.Hostname = localhost >>> log4j.appender.flume.Port = 41414 >>> log4j.logger.org.apache.pig=DEBUG,flume >>> >>> And for the flume.config: >>> >>> a1.sources = r1 >>> a1.sinks = k1 >>> a1.channels = c1 >>> >>> # Describe/configure the source >>> a1.sources.r1.type = avro >>> a1.sources.r1.bind = localhost >>> a1.sources.r1.port = 41414 >>> >>> # Describe the sink >>> a1.sinks.k1.type = logger >>> # Use a channel which buffers events in memory >>> a1.channels.c1.type = memory >>> a1.channels.c1.capacity = 1000 >>> a1.channels.c1.transactionCapacity = 100 >>> >>> # Bind the source and sink to the channel >>> a1.sources.r1.channels = c1 >>> a1.sinks.k1.channel = c1 >>> >>> But I got the following error when run a pig script: >>> java.lang.ClassNotFoundException: >>> org.apache.flume.clients.log4jappender.Log4jAppender >>> 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:179) >>> at >>> >> org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:320) >>> at >>> >> org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:121) >>> at >>> >> org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:664) >>> at >>> >> org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:647) >>> at >>> >> org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:568) >>> at >>> >> org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:442) >>> at >>> >> org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:367) >>> at org.apache.pig.Main.configureLog4J(Main.java:678) >>> at org.apache.pig.Main.run(Main.java:337) >>> at org.apache.pig.Main.main(Main.java:111) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> at >>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> at java.lang.reflect.Method.invoke(Method.java:597) >>> at org.apache.hadoop.util.RunJar.main(RunJar.java:156) >>> log4j:ERROR Could not instantiate appender named "flume". >>> >>> Could you please help me find what I miss or where is incorrect for the >>> configuration. >>> >>> Thanks a lot! >>> Dongliang >> >> -- >> Alexander Alten-Lorenz >> http://mapredit.blogspot.com >> German Hadoop LinkedIn Group: http://goo.gl/N8pCF >> >> -- Alexander Alten-Lorenz http://mapredit.blogspot.com German Hadoop LinkedIn Group: http://goo.gl/N8pCF
