求大神解惑:
spark1.6版本操作hdfs报错:
在spark-shell里:
val file = sc.textFile("hdfs://master138:9000/sparktest/README.md")
val spc = file.filter(line => line.contains("Spark"))
当运行spc.count 或者 spc.saveAsTextFile("hdfs://master138:9000/sparktest/1") 时报错
当我把hadoop/etc/hadoop/core-site.xml 文件里下面配置信息注释掉后就可以正常运行了,配置如下:
<property>
<name>io.compression.codecs</name>
<value>
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec
</value>
<description>.
</description>
</property>
<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
之前错误如下:
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:185)
at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:198)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
at org.apache.spark.SparkContext.runJob(SparkContext.scala:1929)
at org.apache.spark.rdd.RDD.count(RDD.scala:1143)
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:32)
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:37)
at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:39)
at $iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:41)
at $iwC$$iwC$$iwC$$iwC.<init>(<console>:43)
at $iwC$$iwC$$iwC.<init>(<console>:45)
at $iwC$$iwC.<init>(<console>:47)
at $iwC.<init>(<console>:49)
at <init>(<console>:51)
at .<init>(<console>:55)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065)
at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1346)
at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840)
at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871)
at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819)
at org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:857)
at org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:902)
at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:814)
at org.apache.spark.repl.SparkILoop.processLine$1(SparkILoop.scala:657)
at org.apache.spark.repl.SparkILoop.innerLoop$1(SparkILoop.scala:665)
at org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$loop(SparkILoop.scala:670)
at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply$mcZ$sp(SparkILoop.scala:997)
at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
at org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$process$1.apply(SparkILoop.scala:945)
at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
at org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$process(SparkILoop.scala:945)
at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1059)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
... 66 more
Caused by: java.lang.IllegalArgumentException: Compression codec com.hadoop.compression.lzo.LzoCodec 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)
... 71 more
Caused by: java.lang.ClassNotFoundException: Class com.hadoop.compression.lzo.LzoCodec not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1980)
at org.apache.hadoop.io.compress.CompressionCodecFactory.getCodecClasses(CompressionCodecFactory.java:128)
... 73 more
解决方案:
在spark-1.6.0-bin-hadoop2.6目录里创建一个libexec文件夹,把hadoop-lzo.xx.jar放入其中。
在spark-1.6.0-bin-hadoop2.6/conf/目录下 编辑 spark-defaults.conf 添加以下内容:
spark.driver.extraClassPath /usr/local/spark-1.6.0-bin-hadoop2.6/libexec/*
spark.executor.extraClassPath/usr/local/spark-1.6.0-bin-hadoop2.6/libexec/*
重启spark集群,问题完美解决。
相关推荐
"基于Linux平台下的Hadoop和Spark集群搭建研究" 本文主要研究了基于Linux平台下的Hadoop和Spark集群搭建,旨在提高计算速率和数据性能。Hadoop是最流行的处理平台,主要解决了数据存储和分布式计算的问题,而Spark...
当创建 SparkContext 并启动一个 Spark 应用程序时,会经历以下关键步骤: - 创建 DAGScheduler 和 TaskScheduler 两个核心组件。 - DAGScheduler 负责根据应用程序的依赖关系构建执行计划,划分成多个 Stage,并为...
在本例中,我们将搭建一个3节点的Spark集群,其中每个节点上都部署了Worker服务,同时为了保证高可用,我们还在hadoop001、hadoop002和hadoop003上分别部署了Master服务,Master服务由ZooKeeper集群进行协调管理,...
通过以上步骤,您可以顺利地搭建起一个完整的Spark集群开发环境。这不仅适用于学习Spark和Hadoop的基础知识,也能够帮助开发者快速上手大数据处理任务。在整个过程中,注意每个步骤的细节,确保每一步都能够准确无误...
在IT领域,大数据处理是不可或缺的一部分,而Hadoop和...总之,通过学习和实践这个Hadoop及Spark集群搭建文档,你可以掌握大数据处理的基础知识,提升在分布式计算领域的技能,为大数据分析和应用开发打下坚实基础。
Spark on Yan集群搭建的详细过程,减少集群搭建的时间
Spark 集群搭建的硬件环境包括一个 Master 节点和两个 Slave 节点,Master 节点配置为 Intel Core i5-2310 CPU @ 2.90GHz × 4G 内存 300G 硬盘,Slave 节点配置为 Intel Core i3-2100 CPU @ 3.10GHz × 4G 内存 500...
Spark集群搭建的完整过程,可参考搭建一个属于自己的Spark集群。非常适合新手,学习spark平台的搭建。
2. **Cluster Manager**:管理整个Spark集群的资源,可以是Spark原生的、Apache Mesos或Hadoop YARN。它根据应用需求分配和释放Worker Node上的资源。 3. **Executor**:在Worker Node上运行的进程,每个Executor...
Hadoop 是一个分布式计算框架,是 Spark 的依赖项之一,需要安装 Hadoop 2.7.3 版本。在 Windows 平台上,需要安装 Hadoop,因为 Spark 需要依赖 Hadoop。 Spark 的安装与配置 Spark 是大数据处理的框架,需要安装...
hadoop与spark集群搭建,了解hadoop分布式、伪分布式等方式集群搭建
hadoop2.2集群搭建遇到的各种问题。
CentOS集群搭建、Hadoop集群搭建 配置免密 连接外网,Hive安装 Zookeeper搭建 Kafka scala flume安装 Spark搭建及启动
Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和...
基于CDH的spark集群搭建,包括了httpd等服务的部署过程
Hadoop-Apache2.7.3和...以上是根据文档提供的信息梳理出的Hadoop和Spark集群搭建的知识点。注意,由于文档中存在部分OCR识别错误,可能会影响对知识点的完整理解,具体操作时需要结合实际情况和官方文档进行校正。
在Spark集群搭建的过程中,我们需要了解一系列关键概念和技术。首先,Spark是大数据处理领域的一个高性能、通用的并行计算框架,它构建在Hadoop之上,但提供了更高效的内存计算能力,适用于实时数据处理、批量数据...
Spark 2.x 集群搭建是一个复杂但关键的过程,对于大数据处理和分析至关重要。本文将详细介绍如何在Linux环境中设置Spark 2.x集群,并提供一些基础的参数调优建议。 首先,我们需要准备至少两台安装了JDK的Linux...
- 初始化Spark集群,包括启动Spark Master和Worker节点。 4. **Hive**:Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。它适合做离线分析,不适用于实时查询...
使用vm搭建Spark集群