当前位置:网站首页>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
边栏推荐
- Memoirs of actual combat: breaking the border from webshell
- First knowledge of the second bullet of C language
- 跟着存档教程动手学RNAseq分析(四):使用DESeq2进行DE分析的QC方法
- Learn to go concurrent programming in 7 days go language sync Application and implementation of cond
- 最虚的华人首富更虚了
- Macro task and micro task understanding
- Azure Kinect DK realizes 3D reconstruction (Jetson real-time version)
- 跟着存档教程动手学RNAseq分析(三):使用DESeq2进行计数标准化
- Crawler notes (2) - parse
- Process judgment - ternary operation - for loop
猜你喜欢

Penetration learning - shooting range chapter -dvwa shooting range detailed introduction (continuous updating - currently only the SQL injection part is updated)

这届考生,报志愿比高考更“拼命”

Kill the general and seize the "pointer" (Part 2)

【微服务】(十六)—— 分布式事务Seata

最虚的华人首富更虚了

7 jours d'apprentissage de la programmation simultanée go 7 jours de programmation simultanée go Language Atomic Atomic Atomic actual Operation contains ABA Problems

Structured machine learning project (I) - machine learning strategy

Go language slice vs array panic: runtime error: index out of range problem solving

医美大刀,砍向00后

爬虫笔记(3)-selenium和requests
随机推荐
Livox Lidar+APX15 实时高精度雷达建图复现整理
关于davwa的SQL注入时报错:Illegal mix of collations for operation ‘UNION‘原因剖析与验证
STM32与RC522简单公交卡系统的设计
移动端避免使用100vh[通俗易懂]
Open source of local run / development library of hiplot online drawing tool
對話喬心昱:用戶是魏牌的產品經理,零焦慮定義豪華
Conversation Qiao Xinyu: l'utilisateur est le gestionnaire de produits Wei Brand, zéro anxiété définit le luxe
Crawler notes (1) - urllib
Do280openshift access control -- Security Policy and chapter experiment
Day 7 of "learning to go concurrent programming in 7 days" go language concurrent programming atomic atomic actual operation includes ABA problem
信通院举办“业务与应用安全发展论坛” 天翼云安全能力再获认可
Typescript learning
Ellipsis after SQLite3 statement Solutions for
解决本地连接不上虚拟机的问题
Dialogue with Qiao Xinyu: the user is the product manager of Wei brand, and zero anxiety defines luxury
PHP连接数据库实现用户注册登录功能
Oracle obtains the beginning and end of the month time, and obtains the beginning and end of the previous month time
Flask application case
Livox lidar+ Hikvision camera real-time 3D reconstruction based on loam to generate RGB color point cloud
DCC888 :Register Allocation