J'ai besoin de votre aide et des conseils pour l'exécution Spark KafkaWordCount exemple Apache sur un cluster d'allumage autonome:Spark en streaming - KafkaWordCount ne peut pas exécuter sur un cluster autonome Spark
je peux courir Spark exemple, KafkaWordCount, en mode local par
spark-submit .... --master local[4] ....
et je peux obtenir le message de Kafka Server, qui est dans un autre noeud (machine virtuelle) et obtenir les résultats imprimés sur la console du terminal.
Cependant, lors de la présentation de l'application pour déclencher groupe autonome (via
spark-submit .... --master spark://master:7077 ....
), je trouve des exceptions dans chaque répertoires de nœud des travailleurs de $ SPARK_HOME/travail /../../ stderr annuaire. Et le résultat de chaque lot de comptage de mots est NOT imprimé dans $ SPARK_HOME/work /../ .. stdout dans chaque noeud de travail.
Voici mes paramètres chaque travailleur étincelle de nœud de ressources en $ SPARK_HOME/conf/spark-env.sh:
export SPARK_MASTER_IP=master
export SPARK_WORKER_CORES=4
export SPARK_WORKER_MEMORY=3g
export SPARK_WORKER_INSTANCES=2
J'ai 5 nœuds de machine virtuelle (dans les noms d'hôte): mykafka, maître, data1 , data2 et data3.
Nous vous remercions de votre aide et de vos conseils à l'avance.
Les suivants sont les exceptions de RpcTimeoutException trouvés dans chaque travailleur:
16/04/11 23:07:30 WARN NettyRpcEndpointRef: Error sending message [message = Heartbeat(5,[Lscala.Tuple2;@2628a359,BlockManagerId(5, data3, 34838))] in 1 attempts org.apache.spark.rpc.RpcTimeoutException: Cannot receive any reply in 10 seconds. This timeout is controlled by spark.executor.heartbeatInterval at org.apache.spark.rpc.RpcTimeout.org$apache$spark$rpc$RpcTimeout$$createRpcTimeoutException(RpcTimeout.scala:48) at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:63) at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:59) at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) at scala.util.Failure$$anonfun$recover$1.apply(Try.scala:185) at scala.util.Try$.apply(Try.scala:161) at scala.util.Failure.recover(Try.scala:185) at scala.concurrent.Future$$anonfun$recover$1.apply(Future.scala:324) .... .... at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.TimeoutException: Cannot receive any reply in 10 seconds at org.apache.spark.rpc.netty.NettyRpcEnv$$anon$1.run(NettyRpcEnv.scala:242) ... 7 more 16/04/11 23:07:31 ERROR CoarseGrainedExecutorBackend: RECEIVED SIGNAL 15: SIGTERM beat(5,[Lscala.Tuple2;@2628a359,BlockManagerId(5, data3, 34838))] in 1 attempts org.apache.spark.rpc.RpcTimeoutException: Cannot receive any reply in 10 seconds. This timeout is controlled by spark.executor.heartbeatInterval at org.apache.spark.rpc.RpcTimeout.org$apache$spark$rpc$RpcTimeout$$createRpcTimeoutException(RpcTimeout.scala:48) at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:63) at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:59) .... .... at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.concurrent.TimeoutException: Cannot receive any reply in 10 seconds at org.apache.spark.rpc.netty.NettyRpcEnv$$anon$1.run(NettyRpcEnv.scala:242) ... 7 more
vous avez dit que vous avez 5 machines virtuelles sont-ils capables de se connecter à chaque autre? Y a-t-il un pare-feu qui les empêche d'accéder à certains ports? Êtes-vous des serveurs liés à une interface publique? – Vishnu667
Oui, ils peuvent se connecter les uns aux autres via les paramètres de mot de passe SSH moins. Et je suis capable de soumettre d'autres travaux d'allumage en mode client avec succès. Aussi à partir du nœud maître, je suis capable de me connecter au nœud "mykafka". – Alan
Je l'ai soumis en mode client de fil, et trouvé un des exécuteurs ne peut pas être lancé: {{JAVA_HOME}}/bin/java -server -XX: OnOutOfMemoryError = 'tuez% p' -Xms4096m -Xmx4096m -Djava.io .tmpdir = {{PWD}}/tmp '-Dspark.driver.port = 44618' -Dspark.yarn.app.container.log.dir = -XX: MaxPermSize = 256m org.apache.spark.executor.CoarseGrainedExecutorBackend --driver-url spark: // CoarseGrainedScheduler –
Alan