当前位置:网站首页>Spark bug Practice (including bug: classcastexception; connectexception; noclassdeffounderror; runtimeexceptio, etc.)
Spark bug Practice (including bug: classcastexception; connectexception; noclassdeffounderror; runtimeexceptio, etc.)
2022-06-27 22:51:00 【Wr456wr】
Catalogue des articles
Environnement
scalaVersion:2.11.8
jdkVersion:1.8
sparkVersion:2.1.0
hadoopVersion:2.7.1
ubuntuVersion:18.04
windowVersion:win10
scalaLe Code estwindowsProgrammation de bout en bout,ubuntuInstaller sur la machine virtuelle,scala,jdk,spark,hadoopTout est installé surubuntuFin
Question 1
Description du problème:En servicewgetTéléchargerscalaHeure,- Oui. Unable to establish SSL connection

Résolution:
Plus les paramètres pour sauter la validation du certificat--no-check-certificate
Deuxième question
Description du problème:En servicescalaTest du programmewordCountUne erreur s'est produite lors du programme:
(scalaLe programme est sur l'hôte,sparkInstallé sur une machine virtuelle)
22/06/20 22:35:38 INFO StandaloneAppClient$ClientEndpoint: Connecting to master spark://192.168.78.128:7077...
22/06/20 22:35:41 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master 192.168.78.128:7077
org.apache.spark.SparkException: Exception thrown in awaitResult:
at org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:226)
...
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: /192.168.78.128:7077
Caused by: java.net.ConnectException: Connection refused: no further information

Résolution:
C'est exact.sparkEn basconfDans le cataloguespark-env.sh Configurer comme suit

Après la configuration sparkDémarrer sous le RépertoiremasterEtworker
bin/start-all.sh
Puis recommencez.wordCountProcédure,L'erreur suivante s'est produite
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
22/06/20 22:44:09 INFO SparkContext: Running Spark version 2.4.8
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration$DeprecationDelta
at org.apache.hadoop.mapreduce.util.ConfigUtil.addDeprecatedKeys(ConfigUtil.java:54)
at org.apache.hadoop.mapreduce.util.ConfigUtil.loadResources(ConfigUtil.java:42)
at org.apache.hadoop.mapred.JobConf.<clinit>(JobConf.java:123)
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-935LgtJu-1655814306434)(Processus de développement.assets/1655736581056.png)]](/img/05/ced290f170c5a54cf5f6e8b3085318.png)
InpomIntroduction dans le fichierhadooopDépendance
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
</dependency>
Exécuter le programme après avoir rafraîchi les dépendances ,- Oui.:
22/06/20 22:50:31 INFO spark.SparkContext: Running Spark version 2.4.8
22/06/20 22:50:31 INFO spark.SparkContext: Submitted application: wordCount
22/06/20 22:50:31 INFO spark.SecurityManager: Changing view acls to: Administrator
22/06/20 22:50:31 INFO spark.SecurityManager: Changing modify acls to: Administrator
22/06/20 22:50:31 INFO spark.SecurityManager: Changing view acls groups to:
22/06/20 22:50:31 INFO spark.SecurityManager: Changing modify acls groups to:
22/06/20 22:50:31 INFO spark.SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(Administrator); groups with view permissions: Set(); users with modify permissions: Set(Administrator); groups with modify permissions: Set()
Exception in thread "main" java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.metric()Lio/netty/buffer/PooledByteBufAllocatorMetric;
at org.apache.spark.network.util.NettyMemoryMetrics.registerMetrics(NettyMemoryMetrics.java:80)
at org.apache.spark.network.util.NettyMemoryMetrics.<init>(NettyMemoryMetrics.java:76)

Mise à jourspark-coreVersion dépendante,C'était2.1.0, Mise à jour à 2.3.0,spark-coreDepomLes dépendances sont les suivantes:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>2.3.0</version>
</dependency>
Après avoir rafraîchi les dépendances, il y a eu un autre problème de connexion
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-5aCGosbR-1655814306436)(Processus de développement.assets/1655737140250.png)]](/img/62/19cc73fb261628bd758bd1cc02ac9e.png)
ModifierpomLa dépendance est
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mesos_2.11</artifactId>
<version>2.1.0</version>
</dependency>
Rafraîchir et signaler à nouveau une erreur :java.lang.RuntimeException: java.lang.NoSuchFieldException: DEFAULT_TINY_CACHE_SIZE
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-a2eBPfzi-1655814306436)(Processus de développement.assets/1655779696035.png)]](/img/ea/521961d605216fe83d5422faffc33f.png)
Ajouterio.nettyDépendance
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.0.52.Final</version>
</dependency>
Un problème de connexion réapparaît après l'exécution
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-b9NjY23a-1655814306437)(Processus de développement.assets/1655780018354.png)]](/img/63/09ae16b7418166366aa161ee9177ee.png)
Affichage de la machine virtuellesparkDemasterConditions de démarrage
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-TAi3JuIs-1655814306437)(Processus de développement.assets/1655780121179.png)]](/img/5f/6b896bd68648184d028f9cc85eb78d.png)
Tout a démarré avec succès , Exclure les raisons pour lesquelles le démarrage n'a pas réussi
ModifiersparkDeconfEn basspark-env .shDocumentation
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-VY3mBPyk-1655814306437)(Processus de développement.assets/1655780670484.png)]](/img/ee/66bbe637481253ae3a9ecd0df678e9.png)
Redémarrerspark
sbin/start-all.sh
Connexion réussie à la machine virtuelle après le démarrage du programme sparkDemaster
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-LnC2GfcA-1655814306438)(Processus de développement.assets/1655780808544.png)]](/img/dd/2ccd07fea591e7b0950517d92d97ab.png)
Question 3
Description du problème:
ExécutionscalaDewordCount- Oui.:com.fasterxml.jackson.databind.JsonMappingException: Incompatible Jackson version: 2.13.0
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-BFx03mtx-1655814306438)(Processus de développement.assets/1655781028153.png)]](/img/46/b28492219cd898cf3cc30b2e7b227e.png)
C'est parce queJackson Les versions incohérentes de cette bibliothèque d'outils .Solutions:Tout d'abord,KafkaDans les dépendances de, Exclusion pour JackonDépendance,Pour empêcherMaven Importation automatique de la version haute de la Bibliothèque , Ensuite, ajoutez manuellement la version inférieure Jackon Dépendances de la Bibliothèque ,ReimportC'est tout..
Ajouter une dépendance:
<dependency>
<groupId> org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>1.1.1</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.6.6</version>
</dependency>
Rediriger le programme après l'importation ,Le problème réapparaît:
NoClassDefFoundError: com/fasterxml/jackson/core/util/JacksonFeature
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-SLr4iDc6-1655814306438)(Processus de développement.assets/1655781408043.png)]](/img/44/bac3f27b5292f815a7d430dfbbd675.png)
La raison en est quejacksonDépendance incomplète,ImporterjacksonDépendance
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.6.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.6.7</version>
</dependency>
Une autre course apparaît :Exception in thread “main” java.net.ConnectException: Call From WIN-P2FQSL3EP74/192.168.78.1 to 192.168.78.128:9000 failed on connection exception: java.net.ConnectException: Connection refused: no further information; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

Supposons que ce soit hadoopConnexion refusée,Au lieu desparkDemasterProblèmes de connectivité
ModifierhadoopDeetcEn bascore-site.xmlDocumentation

Redémarrer aprèshadoopExécuter le programme, De nouveaux problèmes surgissent :
WARN scheduler.TaskSetManager: Lost task 1.0 in stage 0.0 (TID 1, 0.0.0.0, executor 0): java.lang.ClassCastException: cannot assign instance of scala.collection.immutable.List$SerializationProxy to field org.apache.spark.rdd.RDD.org$apache$spark$rdd$RDD$$dependencies_ of type scala.collection.Seq in instance of org.apache.spark.rdd.MapPartitionsRDD
at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2301)
at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1431)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2411)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2329)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2187)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2405)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2329)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2187)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:503)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:461)
at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:75)
at org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:114)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:85)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:53)
at org.apache.spark.scheduler.Task.run(Task.scala:99)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-N6EssLDt-1655814306440)(Processus de développement.assets/1655786575000.png)]](/img/17/4845ada83ca6314a4380e990c95499.png)
La capture d'écran du problème devrait montrer que la connexion devrait être sans problème , Et le début de la réservation wordCountLe travail, Cette fois, ça pourrait être un problème de code .
wordCountCompletscalaCode:
import org.apache.spark.{
SparkConf, SparkContext}
object WordCount {
def main(arg: Array[String]): Unit = {
val ip = "192.168.78.128";
val inputFile = "hdfs://" + ip + ":9000/hadoop/README.txt";
val conf = new SparkConf().setMaster("spark://" + ip + ":7077").setAppName("wordCount");
val sc = new SparkContext(conf)
val textFile = sc.textFile(inputFile)
val wordCount = textFile.flatMap(line => line.split(" "))
.map(word => (word, 1)).reduceByKey((a, b) => a + b)
wordCount.foreach(println)
}
}
Paramètres requisjarSac,Emballer le projet
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-1fgMuGMF-1655814306440)(Processus de développement.assets/1655812962723.png)]](/img/10/7a769ec1c6a72cc1ccb9090a8d5163.png)
Et le projet emballé est targetSous le chemin,Trouver la correspondancejarEmplacement du sac,Copier
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-nnVVC8Xn-1655814306440)(Processus de développement.assets/1655813012337.png)]](/img/34/6dc70b2b48b184ebcaa6f745cd341e.png)
Chemin de réplication ajouté à la configuration setJarDans la méthode,CompletScala WordCountCode
import org.apache.spark.{
SparkConf, SparkContext}
object WordCount {
def main(arg: Array[String]): Unit = {
//EmballéjarAdresse du paquet
val jar = Array[String]("D:\\IDEA_CODE_F\\com\\BigData\\Proj\\target\\Proj-1.0-SNAPSHOT.jar")
//sparkAdresse de la machine virtuelle
val ip = "192.168.78.129";
val inputFile = "hdfs://" + ip + ":9000/hadoop/README.txt";
val conf = new SparkConf()
.setMaster("spark://" + ip + ":7077") //masterAdresse du noeud
.setAppName("wordCount") //sparkNom du programme
.setSparkHome("/root/spark") //sparkAdresse d'installation( Ça devrait être possible sans )
.setIfMissing("spark.driver.host", "192.168.1.112")
.setJars(jar) // Configurer après l'emballage jarSac
val sc = new SparkContext(conf)
val textFile = sc.textFile(inputFile)
val wordCount = textFile.flatMap(line => line.split(" "))
.map(word => (word, 1)).reduceByKey((a, b) => a + b)
val str1 = textFile.first()
println("str: " + str1)
val l = wordCount.count()
println(l)
println("------------------")
val tuples = wordCount.collect()
tuples.foreach(println)
sc.stop()
}
}
Résultats approximatifs de l'opération :
![[Impossible de transférer l'image de la chaîne externe,Il peut y avoir un mécanisme antivol à la station source,Il est recommandé de sauvegarder l'image et de la télécharger directement(img-i1D32Pdr-1655814306441)(Processus de développement.assets/1655814085565.png)]](/img/b2/c56726e066147097086358d8bec899.png)
md,csdn Quand puis - je importer directement markdown Dossier complet , L'image d'importation ne peut pas être importée directement chaque fois que l'ordinateur a terminé d'écrire , Et une capture d'écran à coller
边栏推荐
- 关于davwa的SQL注入时报错:Illegal mix of collations for operation ‘UNION‘原因剖析与验证
- 「R」 Using ggpolar to draw survival association network diagram
- ABAP随笔-物料主数据界面增强-页签增强
- Ellipsis after SQLite3 statement Solutions for
- Go language slice vs array panic: runtime error: index out of range problem solving
- Teach you how to print your own log -- how to customize log4j2 components
- 跟着存档教程动手学RNAseq分析(二)
- Yolov6: the fast and accurate target detection framework is open source
- 中金证券经理给的开户链接办理股票开户安全吗?我想开个户
- 初识C语言 第二弹
猜你喜欢

2022年第一季度“广州好人”刘磊峰:具有强烈的诚信意识和食品安全意识

爬虫笔记(1)- urllib

Improving deep neural networks: hyperparametric debugging, regularization and optimization (III) - hyperparametric debugging, batch regularization and program framework

Learn to go concurrent programming in 7 days go language sync Application and implementation of cond

About the SQL injection of davwa, errors are reported: analysis and verification of the causes of legal mix of settlements for operation 'Union'

Consumer finance app user insight in the first quarter of 2022 - a total of 44.79 million people
扁平数组和JSON树的转换

Livox Lidar+海康Camera 基于loam的实时三维重建生成RGB彩色点云
Conversion between flat array and JSON tree

“顶流爱豆制造机”携手四个产业资本,做LP
随机推荐
Management system itclub (Part 1)
Introduce you to ldbc SNB, a powerful tool for database performance and scenario testing
Open source of local run / development library of hiplot online drawing tool
Basic data type and complex data type
Vue+MySQL实现登录注册案例
《7天學會Go並發編程》第7天 go語言並發編程Atomic原子實戰操作含ABA問題
OpenSSL Programming II: building CA
初识C语言 第二弹
Ellipsis after SQLite3 statement Solutions for
跟着存档教程动手学RNAseq分析(四):使用DESeq2进行DE分析的QC方法
移动端避免使用100vh[通俗易懂]
Bibliothèque d'exploitation / de développement locale open source pour l'outil de dessin en ligne hiplot
Using xgboost with tidymodels
「R」使用ggpolar绘制生存关联网络图
"I make the world cooler" 2022 Huaqing vision R & D product launch was a complete success
Macro task and micro task understanding
First knowledge of the second bullet of C language
医美大刀,砍向00后
The "business and Application Security Development Forum" held by the ICT Institute was re recognized for the security capability of Tianyi cloud
ABAP随笔-物料主数据界面增强-页签增强