Hi,

It looks a problem of class path at spark side.

Thanks,
- Tsuyoshi

On Fri, Aug 29, 2014 at 8:49 AM, arthur.hk.c...@gmail.com
<arthur.hk.c...@gmail.com> wrote:
> Hi,
>
> I use Hadoop 2.4.1, I got "org.apache.hadoop.io.compress.SnappyCodec not
> found” error:
>
> hadoop checknative
> 14/08/29 02:54:51 WARN bzip2.Bzip2Factory: Failed to load/initialize
> native-bzip2 library system-native, will use pure-Java version
> 14/08/29 02:54:51 INFO zlib.ZlibFactory: Successfully loaded & initialized
> native-zlib library
> Native library checking:
> hadoop: true
> /mnt/hadoop/hadoop-2.4.1_snappy/lib/native/Linux-amd64-64/libhadoop.so
> zlib:   true /lib64/libz.so.1
> snappy: true
> /mnt/hadoop/hadoop-2.4.1_snappy/lib/native/Linux-amd64-64/libsnappy.so.1
> lz4:    true revision:99
> bzip2:  false
>
> (smoke test is ok)
> bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar
> teragen 300000 /tmp/teragenout
> 14/08/29 07:40:41 INFO mapreduce.Job: Running job: job_1409253811850_0002
> 14/08/29 07:40:53 INFO mapreduce.Job: Job job_1409253811850_0002 running in
> uber mode : false
> 14/08/29 07:40:53 INFO mapreduce.Job:  map 0% reduce 0%
> 14/08/29 07:41:00 INFO mapreduce.Job:  map 50% reduce 0%
> 14/08/29 07:41:01 INFO mapreduce.Job:  map 100% reduce 0%
> 14/08/29 07:41:02 INFO mapreduce.Job: Job job_1409253811850_0002 completed
> successfully
> 14/08/29 07:41:02 INFO mapreduce.Job: Counters: 31
> File System Counters
> FILE: Number of bytes read=0
> FILE: Number of bytes written=197312
> FILE: Number of read operations=0
> FILE: Number of large read operations=0
> FILE: Number of write operations=0
> HDFS: Number of bytes read=167
> HDFS: Number of bytes written=30000000
> HDFS: Number of read operations=8
> HDFS: Number of large read operations=0
> HDFS: Number of write operations=4
> Job Counters
> Launched map tasks=2
> Other local map tasks=2
> Total time spent by all maps in occupied slots (ms)=11925
> Total time spent by all reduces in occupied slots (ms)=0
> Total time spent by all map tasks (ms)=11925
> Total vcore-seconds taken by all map tasks=11925
> Total megabyte-seconds taken by all map tasks=109900800
> Map-Reduce Framework
> Map input records=300000
> Map output records=300000
> Input split bytes=167
> Spilled Records=0
> Failed Shuffles=0
> Merged Map outputs=0
> GC time elapsed (ms)=22
> CPU time spent (ms)=1910
> Physical memory (bytes) snapshot=357318656
> Virtual memory (bytes) snapshot=1691631616
> Total committed heap usage (bytes)=401997824
> org.apache.hadoop.examples.terasort.TeraGen$Counters
> CHECKSUM=644086318705578
> File Input Format Counters
> Bytes Read=0
> File Output Format Counters
> Bytes Written=30000000
> 14/08/29 07:41:03 INFO terasort.TeraSort: starting
> 14/08/29 07:41:03 INFO input.FileInputFormat: Total input paths to process :
> 2
>
>
> However I got "org.apache.hadoop.io.compress.SnappyCodec not found” when
> running spark smoke test program:
>
> scala> inFILE.first()
> java.lang.RuntimeException: Error in configuring object
> at
> org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
> at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
> at
> org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
> at org.apache.spark.rdd.HadoopRDD.getInputFormat(HadoopRDD.scala:158)
> at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:171)
> at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:204)
> at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:202)
> at scala.Option.getOrElse(Option.scala:120)
> at org.apache.spark.rdd.RDD.partitions(RDD.scala:202)
> at org.apache.spark.rdd.MappedRDD.getPartitions(MappedRDD.scala:28)
> at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:204)
> at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:202)
> at scala.Option.getOrElse(Option.scala:120)
> at org.apache.spark.rdd.RDD.partitions(RDD.scala:202)
> at org.apache.spark.rdd.RDD.take(RDD.scala:983)
> at org.apache.spark.rdd.RDD.first(RDD.scala:1015)
> at $iwC$$iwC$$iwC$$iwC.<init>(<console>:15)
> at $iwC$$iwC$$iwC.<init>(<console>:20)
> at $iwC$$iwC.<init>(<console>:22)
> at $iwC.<init>(<console>:24)
> at <init>(<console>:26)
> at .<init>(<console>:30)
> at .<clinit>(<console>)
> at .<init>(<console>:7)
> at .<clinit>(<console>)
> at $print(<console>)
> 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.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:788)
> at
> org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1056)
> at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:614)
> at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:645)
> at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:609)
> at org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:796)
> at
> org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:841)
> at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:753)
> at org.apache.spark.repl.SparkILoop.processLine$1(SparkILoop.scala:601)
> at org.apache.spark.repl.SparkILoop.innerLoop$1(SparkILoop.scala:608)
> at org.apache.spark.repl.SparkILoop.loop(SparkILoop.scala:611)
> at
> org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply$mcZ$sp(SparkILoop.scala:936)
> at
> org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:884)
> at
> org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:884)
> at
> scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
> at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:884)
> at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:982)
> at org.apache.spark.repl.Main$.main(Main.scala:31)
> at org.apache.spark.repl.Main.main(Main.scala)
> 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.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:303)
> at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55)
> at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
> Caused by: java.lang.reflect.InvocationTargetException
> 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.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
> ... 55 more
> Caused by: java.lang.IllegalArgumentException: Compression codec
> org.apache.hadoop.io.compress.SnappyCodec not found.
> at
> org.apache.hadoop.io.compress.CompressionCodecFactory.getCodecClasses(CompressionCodecFactory.java:135)
> at
> org.apache.hadoop.io.compress.CompressionCodecFactory.<init>(CompressionCodecFactory.java:175)
> at
> org.apache.hadoop.mapred.TextInputFormat.configure(TextInputFormat.java:45)
> ... 60 more
> Caused by: java.lang.ClassNotFoundException: Class
> org.apache.hadoop.io.compress.SnappyCodec not found
> at
> org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1801)
> at
> org.apache.hadoop.io.compress.CompressionCodecFactory.getCodecClasses(CompressionCodecFactory.java:128)
> ... 62 more
>
>
>
> This is my setting in mapred-site.xml related to snappy
>    <property>
>     <name>mapred.output.compress</name>
>     <value>false</value>
>     <description>Should the job outputs be compressed?</description>
>    </property>
>    <property>
>     <name>mapred.output.compression.type</name>
>     <value>RECORD</value>
>     <description>If the job outputs are to compressed as SequenceFiles, how
> should they be compressed? Should be one of NONE, RECORD or
> BLOCK.</description>
>    </property>
>    <property>
>     <name>mapred.output.compression.codec</name>
>     <value>org.apache.hadoop.io.compress.SnappyCodec</value>
>     <description>If the job outputs are compressed, how should they be
> compressed?
>     </description>
>    </property>
>    <property>
>     <name>mapred.compress.map.output</name>
>     <value>true</value>
>     <description>Should the outputs of the maps be compressed before being
> sent across the network. Uses SequenceFile compression.</description>
>    </property>
>    <property>
>     <name>mapred.map.output.compression.codec</name>
>     <value>org.apache.hadoop.io.compress.SnappyCodec</value>
>     <description>If the map outputs are compressed, how should they be
> compressed?</description>
>   </property>
>
>   <property>
>    <name>mapreduce.map.output.compress</name>
>    <value>true</value>
>   </property>
>   <property>
>    <name>mapred.map.output.compress.codec</name>
>    <value>org.apache.hadoop.io.compress.SnappyCodec</value>
>   </property>
>
>
>
> Can you please advise if my mapred-site.xml setting is incorrect?
>
> Regards
> Arthur
>



-- 
- Tsuyoshi

Reply via email to