java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.<init>(ZIIIIIIZ)V

java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.(ZIIIIIIZ)V

Java操作spark出现上述错误,如下代码:

import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

import java.util.ArrayList;
import java.util.List;

class sparkConnect {

    sparkConnect() {

        //解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset

        System.setProperty("hadoop.home.dir","D:\\SoftWares\\Apache\\spark-3.3.1-bin-hadoop3");


        JavaSparkContext sc = new JavaSparkContext("local", "thisSpark");
        List<Integer> list = new ArrayList<Integer>();
        list.add(1); list.add(2); list.add(3);

        //内存中获取数据常见rdd
        JavaRDD<Integer> rdd = sc.parallelize(list);

        //rdd计算
        JavaRDD<Integer> listPlus = rdd.map(y->y+5);

        System.out.println("list is:" + list);
        System.out.println("listPlus is:"+ listPlus);
        System.out.println("the relation is list plus five = listPlus");


    }

    public static void main(String[] args) {

        sparkConnect sparkConnect = new sparkConnect();
    }

}

这个错误困扰了我一天半,及其头疼,在查看了报错的Netty官方文档https://netty.io/4.1/api/overview-summary.html后也没找到解决方案。

在这里插入图片描述

spark开发文档

在这里插入图片描述

于是寻找度娘,终于看到了该博主的文章解决了我的问题【Spark3.2】io.netty.buffer.PooledByteBufAllocator.<init>(ZIIIIIIZ)V和这位博主遇到的问题是同意类型,但解决方案却不同。

报错如下:

在这里插入图片描述

dependencyManagement

Maven 可以通过 dependencyManagement 元素对依赖进行管理,它具有以下 2 大特性:

  • 在该元素下声明的依赖不会实际引入到模块中,只有在 dependencies 元素下同样声明了该依赖,才会引入到模块中。
  • 该元素能够约束 dependencies 下依赖的使用,即 dependencies 声明的依赖若未指定版本,则使用 dependencyManagement 中指定的版本,否则将覆盖 dependencyManagement 中的版本。

为了避免多次引入造成的冲突问题,将io.netty.buffer交由dependencyManagement管理。pom如下:

在这里插入图片描述

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-buffer</artifactId>
                <version>4.1.58.Final</version>
            </dependency>
            
        </dependencies>
    </dependencyManagement>

java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.util.LookupCache

spring boot中自带jackson没找到是spring boot版本太低了提高一下spring boot版本即可。

在这里插入图片描述

使用2.1.8报错提高到2.7.6后就可以了。

在这里插入图片描述

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xvwen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值