首页 \ 问答 \ Spark如何使用Netty?(How does Spark use Netty?)

Spark如何使用Netty?(How does Spark use Netty?)

我知道Storm现在在Netty上运行,用于节点之间的通信?

Apache Spark也使用Netty吗? 如果真是这样,那么是以哪种方式?


I know that Storm now runs on Netty for communication betwen nodes?

Does Apache Spark also use Netty? If so, in what way?


原文:https://stackoverflow.com/questions/23330449
更新时间:2020-01-19 07:06

最满意答案

Spark使用Akka Actor进行RPC和消息传递,而后者使用Netty。

另外,为了移动批量数据,使用Netty。

  • 对于混洗数据,可以选择使用Netty。 默认情况下,NIO直接用于传输洗牌数据。
  • 对于广播数据(驾驶员对所有员工的数据传输),默认情况下使用Jetty。

Spark uses Akka Actor for RPC and messaging, which in turn uses Netty.

Also, for moving bulk data, Netty is used.

  • For shuffle data, Netty can be optionally used. By default, NIO is directly used to do transfer shuffle data.
  • For broadcast data (driver-to-all-worker data transfer), Jetty is used by default.

相关问答

更多
  • netty如何使用[2019-03-20]

    和spring , 先写一个类,然后与一般的bean同样配置
    Jedis已经足够强大,它的网络连接是基于阻塞式IO,实现非常简单易懂,但是OIO和NIO相比性能上有劣势,于是决定通过NIO来实现和Redis服务器的网络连接,现在业界最优秀的NIO框架非Netty莫属了,正好以前也学过Netty框架,所以决定基于Netty来实现
  • 是的,现在我知道那个神秘的例外的意思,执行者因为超过容器门槛而被杀死。 有几个原因可能会发生,但第一个罪魁祸首是检查你的工作或尝试添加更多的节点/执行者到你的集群。 Yeah now I know the meaning of that cryptic exception, the executor got killed because it exceeds the container threshold. There are couple of reasons that could happen but ...
  • 您只需覆盖messageReceived即可处理消息。 如果你想要一些“特殊”处理,你可以“覆盖”其他人。 You only need to override messageReceived to process messages. You "can" override others if you want some "special" handling.
  • 此问题与Netty版本不匹配有关,您需要确保Hadoop和Spark以及HDFS以相同的Netty版本运行。 This issue related to Netty version mismatch,You need to make sure Hadoop and Spark and HDFS running with same Netty version.
  • 正如@ErnestKiwele暗示的那样,这个问题是由Netty依赖造成的 Spring Boot 2.0(使用Spring 5)使用Netty 4.1.x,Spark 2.2.1使用Netty 4.0.x. 要解决这个问题,你可以在你的pom中覆盖Netty的依赖关系来使用旧版本: io.netty netty-all 4.0.43.Final
  • 我认为你可以调整spark.rpc.message.maxSize配置参数。 这是在这里记录 I think you can tune the spark.rpc.message.maxSize config parameter. This is documented here
  • Spark使用Akka Actor进行RPC和消息传递,而后者使用Netty。 另外,为了移动批量数据,使用Netty。 对于混洗数据,可以选择使用Netty。 默认情况下,NIO直接用于传输洗牌数据。 对于广播数据(驾驶员对所有员工的数据传输),默认情况下使用Jetty。 Spark uses Akka Actor for RPC and messaging, which in turn uses Netty. Also, for moving bulk data, Netty is used. For ...
  • 这是一个陷阱 ! netty组织在过去发生了变化。 从org.jboss.netty到io.netty,但它们包含相同的包。 排除(“org.jboss.netty”,“netty”)解决我的问题。 It's a trap ! netty organisation changed in the past. from org.jboss.netty to io.netty, but they contain the same package. exclude("org.jboss.netty", "netty ...
  • 好吧,在经历了许多考验和磨难之后,我找到了答案。 问题不在于SBT未能排除图书馆,而是完全排除它们。 问题在于,即使我排除了任何不是4.1.11.Final的Netty版本,Spark也在使用自己的罐子,在SBT外部和我建造的jar。 当spark-submit运行时,它包含$SPARK_HOME/lib目录中的jar。 其中一个是Netty 4的旧版本。此调用显示了此问题: bootstrap.getClass().getProtectionDomain().getCodeSource() 其结果是/us ...

相关文章

更多

最新问答

更多
  • 在可观察字段Knocout中显示$符号(Display $ sign in observable fields Knocout)
  • 全局和设备功能之间的差异(Difference between global and device functions)
  • ARM,MCU,DSP,FPGA,SOC各是什么?区别是什么
  • Facebook JavaScript SDK登录(Facebook JavaScript SDK Login)
  • 会计实操有没有用,北京哪家会计培训最好?
  • 字段列表错误中的MySQL未知列(MySQL Unknown column in fieldlist error)
  • 在DOM深层获取评论节点(Get comment nodes in DOM deep level)
  • 2015年的会计上岗证培训那里好,在西安
  • 将long lat转换为google maps long lat(converting long lat to google maps long lat)
  • XSD xs:列表混乱(XSD xs:list confusion)
  • 在Wordpress中,有没有办法让导航下拉菜单显示一个类别中的帖子?(In Wordpress, is there a way to make the navigation drop down menu show posts in a category?)
  • 当我想清空名为python的列表时,del a [:]和a = []之间有什么区别?(what is the difference between del a[:] and a = [] when I want to empty a list called a in python? [duplicate])
  • 我的第一个项目入门与设备之间的连接(Getting started with my first project with connectivity between devices)
  • azure site-to-site-vpn不允许流量通过(azure site-to-site-vpn does not let traffic through)
  • GoogleMaps - 调用onPause()(GoogleMaps - calling onPause())
  • 教师爱岗敬业演讲稿
  • 我正在编写c#代码,其中我想从Active Directory中搜索特定用户的详细信息(I am writing c# code wherein I want search for the details of a specific user from Active Directory)
  • sonar lint插件无法读取lint-results.xml(sonar lint plugin fails reading lint-results.xml)
  • Swift UITableView - 如何将新项目置于列表底部而不是列表的底部?(Swift UITableView - How to put new items on top not on the bottom of the list?)
  • 无法将“System.DBNull”类型的对象强制转换为MySQL Image的“System.Byte []”类型[复制](Unable to cast object of type 'System.DBNull' to type 'System.Byte[]' for MySQL Image [duplicate])
  • 在这种情况下我为Android登录RESTful api调整了什么?(What i adjust for android login into RESTful api in this conditions?)
  • 使用DBMS的C#VSTO(C# VSTO with DBMS)
  • 在NSTableView中更改自定义按钮单元格的图像(Change image of custom button cell inside NSTableView)
  • 从数据库中选择数据,选择任何行(select data from database with where selected any rows)
  • 与Grails持续集成(Continuous Integration with Grails [closed])
  • Laravel 4中的嵌套控制器(Nested Controllers in Laravel 4)
  • Qt - 插槽完成后不要销毁线程(Qt - don't destroy thread after slot is finished)
  • mysql 主从配置 需要什么网络环境
  • Spring 4可选> @RequestParam(Spring 4 Optional> @RequestParam)
  • 移动类型char,类似的赋值行为不同(Shifting a type char, similar assignments behave differently)