SPARK 2.3抛出以下异常。有人能帮忙吗!!我试着加入罐子
308 [驱动程序] 错误 org.apache.spark.deploy.yarn.ApplicationMaster - 用户类抛出异常:java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.metric()Lio/netty/buffer/PooledByteBufAllocatorMetric; java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.metric()Lio/netty/buffer/PooledByteBufAllocatorMetric;在 org.apache.spark.network.util.NettyMemoryMetrics.registerMetrics(NettyMemoryMetrics.java:80) 在 org.apache.spark.network.util.NettyMemoryMetrics.(NettyMemoryMetrics.java:76) 在 org.apache.spark.network。 client.TransportClientFactory.(TransportClientFactory.java:109) at org.apache.spark.network.TransportContext.createClientFactory(TransportContext.java:99) at org.apache.spark.rpc.netty.NettyRpcEnv.(NettyRpcEnv.scala:71)在 org.apache.spark.rpc.netty.NettyRpcEnvFactory.create(NettyRpcEnv.scala:461) 在 org.apache.spark.rpc.RpcEnv$.create(RpcEnv.scala:57) 在 org.apache.spark.SparkEnv$ .create(SparkEnv.scala:249) 在 org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:175) 在 org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:256) 在 org.apache.spark .SparkContext.(SparkContext.scala:423) at org.apache.spark.api.java.JavaSparkContext.(JavaSparkContext.scala:58) at com.voicebase.etl.HBasePhoenixPerformance2.main(HBasePhoenixPerformance2.java:55) at sun。反射.本机方法A ccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method. java:498) at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$4.run(ApplicationMaster.scala:706) 315 [main] ERROR org.apache.spark.deploy.yarn.ApplicationMaster - 未捕获的异常:org .apache.spark.SparkException:awaitResult 中抛出的异常:在 org.apache.spark.util.ThreadUtils$.awaitResult(ThreadUtils.scala:205) 在 org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala) :486) 在 org.apache.spark.deploy.yarn.ApplicationMaster.org$apache$spark$deploy$yarn$ApplicationMaster$$runImpl(ApplicationMaster.scala:345) 在 org.apache.spark.deploy.yarn.ApplicationMaster$ $anonfun$run$2.apply$mcV$sp(ApplicationMaster.scala:260) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$run$2.apply(ApplicationMaster.scala:2 60) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$run$2.apply(ApplicationMaster.scala:260) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anon$5.run(ApplicationMaster. scala:800) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java: 1836) 在 org.apache.spark.deploy.yarn.ApplicationMaster.doAsUser(ApplicationMaster.scala:799) 在 org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:259) 在 org.apache.spark .deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:824) at org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala) 引起:java.util.concurrent.ExecutionException:盒装错误
aws-java-sdk需要一个较旧版本的Netty。删除所有的netty jar并从项目中删除aws-java-sdk解决了这个问题。
这个问题是由于Hadoop和Spark为Netty编译的版本不匹配造成的。所以你可以跟着这个。
类似的问题,可以通过使用特定版本的Netty手动编译Spark来解决
另一个是Suhas推荐的,通过将SPARK_HOME/jars文件夹的内容复制到各个lib文件夹中,或者仅将HADOOP_HOME/share/HADOOP中的Thread中的内容复制到其中,也解决了这个问题。但这是一个肮脏的补丁。因此,可以使用这两个版本的最新版本,或者手动编译它们。
这是因为用旧版本编译的Hadoop二进制文件需要我们替换它们。通过替换Hadoop,我没有遇到任何问题。
您需要更换netty-3.6。2.决赛。jar和netty-all-4.0。23.最后。jar
来自路径$HADOOP\u HOME\share\HADOOP
和netty-all-4.1。17.决赛。jar和netty-3.9。9.决赛。jar
。
我试图理解DirectByteBuffer如何在Linux上工作,并编写了以下在strace下运行的非常简单的程序: 实际上,我期望一些mmap或sys\u brk系统调用直接从操作系统分配内存,但实际上它只是设置请求页面的读写保护。我的意思是: 这似乎是分配直接缓冲区比分配堆缓冲区慢的原因,因为每次分配都需要系统调用。 如果我错了,请纠正我,但是堆缓冲区分配(如果发生在TLAB内部)相当于返回一
我遇到了这样一个查询:在Netty4.0中创建一个关于从byte[]到ByteBuf以及从ByteBuffer到ByteBuf的转换的ByteBuf。我很想通过另一种方式了解转换: io.netty.buffer.ByteBufjava.nio.ByteBuffer 以及如何高效地执行此操作,而不进行复制?我读了一些书,经过反复试验,我发现这种转换方式效率低下(有两份副本): 我的问题是,我们可以
有没有一种方法可以在请求处理程序中获得反应堆网络中使用的字节缓冲区分配器?类似于如何在纯Netty中执行?
我正在尝试为DMA Linux编写驱动程序,但我的驱动程序一直无法执行DMA_CONCENTER_alloc,我已经增加了CMA内存和CONCENTERY_pool。。。 我错过了什么? dmesg在物理CPU 0x0上引导Linux<br>Linux版本4.14.0-xilinx-v2018.2(oe-user@oe-host)(gcc版本7.2.0(gcc))#5 SMP抢占Sun二月17日2
主要内容:参考地点,转换后备缓冲器(TLB)寻呼的缺点 页表的大小可能非常大,因此浪费了主存。 CPU将花费更多时间从主存储器中读取单个字。 如何减少页面大小 页面大小可以通过增加页面大小来减小,但会导致内部碎片,并且也会导致页面浪费。 其他方式是使用多级分页,但增加了有效访问时间,因此这不是一个实际的方法。 如何减少有效的访问时间 CPU可以使用一个寄存器,里面存储页表,这样访问页表的访问时间可以变得非常少,但是寄存器并不便宜,并且与页表
BK.Buffer 缓冲器 方法 构造函数 new BK.Buffer(length,netOrder) 参数 类型 名称 备注 length string buffer长度 netOrder string 是否为网络字节序 为1代表网络字节序,其他为主机字节序(选填) 返回值: 类型 名称 备注 Object BK.Buffer对象 例子: var buff = new BK.Buffer(84