今天spark在写数据到hive中出现错误
Job aborted due to stage failure: Task 7 in stage 5.0 failed 4 times, most recent failure: Lost task 7.3 in stage 5.0 (TID 68,
NM-304-SA5212M4-BIGDATA-2016-356.BIGDATA.CHINATELECOM.CN):
java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z
at org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy(Native Method)
at org.apache.hadoop.io.compress.Codec.checkNativeCodeLoaded(SnappyCodec.java:63)
at org.apache.hadoop.io.compress.SnappyCodec.getCompressorType(SnappyCodec.java:133)
at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:148)
at org.apache.hadoop.io.compress.CompressionCodec$Util.createOutputStreamWithCodecPool(CompressionCodec.java:131)
at org.apache.hadoop.io.compress.SnappyCodec.createOutputStream(SnappyCodec.java:98)
at org.apache.hadoop.mapred.TextOutputFormat.getRecordWriter(TextOutputFormat.java:136)
at org.apache.spark.SparkHadoopWriter.open(SparkHadoopWriter.scala:91)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopDataset$1$$anonfun$13.apply(PairRDDFunctions.scala:1191)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopDataset$1$$anonfun$13.apply(PairRDDFunctions.scala:1183)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
at org.apache.spark.scheduler.Task.run(Task.scala:89)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:227)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
乍看之下,是Snappy压缩的问题。但是,在/etc/spark/conf下面的spark-default.conf里面已经配置了
extraClassPath
spark.driver.extraClassPath /usr/lib/hadoop/lib/*:/usr/lib/spark/hlib/*
spark.driver.extraLibraryPath /usr/lib/hadoop/lib/native/
spark.executor.extraClassPath /usr/lib/hadoop/lib/
spark.executor.extraLibraryPath /usr/lib/hadoop/lib/native/*
但是问题就出在这里,最后一行有个*号。
导致Snappy jar包重复,出现
可以看到,有个duplicate的字样,说明有上传重复的的文件。去掉*号,正常运行,不再报错
今天spark在写数据到hive中出现错误 Job aborted due to stage failure: Task 7 in stage 5.0 failed 4 times, most recent failure: Lost task 7.3 in stage 5.0 (TID 68, NM-304-SA5212M4-BIGDATA-2016-356.BIGDATA.CHINATEL
java.lang.UnsatisfiedLinkError: no
snappy
java in java.library.path
我用的mac,在运行
spark
程序时遇到此问题。我使用的相关依赖包的版本如下:
<scala.version>2.11.8</scala.version>
<scala.binary.version>2.11</scal...
在使用
spark
Mllib的时候,训练好的模型save之后,在线service需要load加载该模型,实现线上预测。
实际加载load的时候,抛出异常:
Native
snappy
library not available: this version of lib
hadoop
was built without
snappy
support
查了下,发现是因为Hado...
有一种方式是指定java.library.path的路径,但是不太好
最好的方式是使用依赖管理的方式更换
snappy
版本。
在你的pom文件里面加入如下内容,统一管理
snappy
的版本
<dependencyManagement>
<dependencies>
<dependency>
<groupId>
org
.xerial.
snappy
</groupId>
<artif
解决
Hadoop
运行时的WARN
util
.
Native
Code
Loader
: Unable to load
native
-
hadoop
library for your platform
每次运行
hdfs
命令时,都会
出现
下图的警告: 问题:每次运行
hdfs
命令时,都会
出现
下图的警告: WARN
util
.
Native
Code
Loader
: Unable to load
native
-
hadoop
library for your platform… using builtin –java classes where applicable
原因:
native
-
hadoop
library本地库不一致导致了该问题的
出现
:
解决方法:
hadoop
的一些不兼容性,需要通过编译对应
hadoop
版本
在
hadoop
中
的学习
中
经常会
出现
不同的问题,今天对一些问题进行汇总。
问题一:
org
.
apache
.
hadoop
.
util
.
Native
Code
Loader
: Unable to load
native
-
hadoop
library for your platform... using builtin-java classes where applicable
在安装好VM以及Linux
您好!flink
写
数据
到
hdfs
需要以下两个依赖:
1.
org
.
apache
.flink:flink-core:这个依赖包含了Flink的核心API和运行时环境,需要在应用程序
中
添加。
2.
org
.
apache
.flink:flink-
hadoop
-fs:这个依赖包含了与
Hadoop
兼容的文件系统和文件系统API,需要在应用程序
中
添加。
希望能够帮到您!