Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 卡夫卡+;火花流:ClosedChannel异常_Apache Spark_Apache Kafka_Spark Streaming_Kafka Consumer Api_Kafka Producer Api - Fatal编程技术网

Apache spark 卡夫卡+;火花流:ClosedChannel异常

Apache spark 卡夫卡+;火花流:ClosedChannel异常,apache-spark,apache-kafka,spark-streaming,kafka-consumer-api,kafka-producer-api,Apache Spark,Apache Kafka,Spark Streaming,Kafka Consumer Api,Kafka Producer Api,我正试着和卡夫卡一起做一个Spark流媒体工作 我通过Kafka发送csv日志文件,以便它将消息发布到我的Spark流媒体应用程序 我在Spark流媒体应用程序中使用直接方法来实现这一点 日志文件中的数据在开始时很好地插入,但过了一会儿,我在Scala IDE上看到以下错误消息 环境:我在所有内核上本地运行Spark。动物园管理员,卡夫卡也在我的系统上本地运行 错误: 16/09/05 17:53:28 ERROR Executor: Exception in task 0.0 in stage

我正试着和卡夫卡一起做一个Spark流媒体工作

我通过Kafka发送csv日志文件,以便它将消息发布到我的Spark流媒体应用程序

我在Spark流媒体应用程序中使用直接方法来实现这一点

日志文件中的数据在开始时很好地插入,但过了一会儿,我在Scala IDE上看到以下错误消息

环境:我在所有内核上本地运行Spark。动物园管理员,卡夫卡也在我的系统上本地运行

错误:

16/09/05 17:53:28 ERROR Executor: Exception in task 0.0 in stage 390.0 (TID 390)
java.nio.channels.ClosedChannelException
    at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)
    at kafka.consumer.SimpleConsumer.liftedTree1$1(SimpleConsumer.scala:78)
    at kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:68)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(SimpleConsumer.scala:112)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply(SimpleConsumer.scala:112)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply(SimpleConsumer.scala:112)
    at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:33)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply$mcV$sp(SimpleConsumer.scala:111)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply(SimpleConsumer.scala:111)
    at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply(SimpleConsumer.scala:111)
    at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:33)
发生的情况是,该异常在中途抛出,有时控制台上的错误消息后面会出现一堆日志数据

我有点困惑,因为这看起来像是一个网络错误——“封闭通道异常”,但由于我在本地运行所有这些进程,我想知道是否还有其他原因可能是根本原因


如果我能得到一些解决这个问题的建议,那就太好了

在kafka producer.properties配置(如metadata.broker.list)中将localhost替换为您的机器IP。也在/etc/hosts文件中替换:

127.0.0.1 localhost localhost.localdomain

x、 x.x.x localhost localhost.localdomain

其中x.x.x.x是您的机器IP。
看看是否有帮助。

下面的答案对你有帮助吗?你找到解决方案了吗?@dirceusemighini从帖子中看到答案,可能会有帮助。@Nietzsche谢谢,我想我的问题是配置的问题,但是这个环境已经关闭,我无法再测试解决方案了。嗨,谢谢你的评论。我试过你说的话,但不幸的是,它仍然给出同样的错误。我的Kafka安装在Windows 10中,因此我无法在我的计算机上找到/etc/hosts。但是,我更改了producer.properties文件,如图所示。metadata.broker.list=xx.xx.xx.xx:xxxx