Kylin使用spark引擎构建cube报错:java.lang.VerifyError: class com.google.common.collect.EmptyImmutableList

Kylin启动失败||启动成功但Web界面显示404 阅读详情

1.问题

kylin版本:3.0.1

spark版本2.4.0(版本有很多修改,还有很多UDF)

yarn方式提交(local模式没有问题)

在kylin中使用spark引擎构建cube的时候,一直会报如下错误:

INFO DAGScheduler: ShuffleMapStage 0 (mapToPair at SparkCubingByLayer.java:169) failed in 9.119 s due to Job aborted due to stage failure: Task 6 in stage 0.0 failed 4 times, most recent failure: Lost task 6.3 in stage 0.0 (TID 18, sd-hadoop-datanode-5
1-131.idc.vip.com, executor 2): java.lang.VerifyError: class com.google.common.collect.EmptyImmutableList overrides final method toArray.([Ljava/lang/Object

这里有相关详细问题:https://issues.apache.org/jira/browse/KYLIN-4102

这已经被认定不是一个bug,root cause:jar conflict.

2.解决历程

1)根据报错日志,可以明确一点,spark在遇到action操作的时候会报错。

我在源码上对SparkCubingByLayer这个类加了几行代码如下(大概190行左右):

logger.info("SparkCubingByLayer jar real url is :{}", SparkCubingByLayer.class.getClassLoader().getResource("com/google/common/collect/EmptyImmutableList.class"));
allRDDs[0].take(5).forEach(item -> {
            logger.info("SparkCubingByLayer, item:{}, {}",item._1, item._2);
        });

打包,将apache-kylin-3.0.1-bin-hbase1x/lib/下的kylin-job-3.0.1.jar替换成源码assembly下的kylin-assembly-3.0.1-job.jar(记得改名字,改为kylin-job-3.0.1.jar)

重启kylin

bin/kylin.sh stop

bin/kylin.sh start

构建cube,日志如下:

SparkCubingByLayer real url is :jar:file:/xxx/xxx/xxx/xxx/xxx/xx-xx-xx/jars/guava-14.0.1.jar!/com/google/common/collect/EmptyImmutableList.class

20/04/06 21:04:12 WARN TaskSetManager: Lost task 11.0 in stage 0.0 (TID 10, jssz-bigdata-odatanode-359, executor 3): java.lang.VerifyError: class com.google.common.collect.EmptyImmutableList overrides final method toArray.([Ljava/lang/Object;)[Ljava/lang/Object;

可以看出加载的jar包是guava-14.0.1版本,看了jar的源码,根本没有啥问题。

经过分析kylin的源码略微可以知道,kylin提交spark任务是以套娃的形式提交,任务里面套了一层任务,此时我认为问题出在spark集群的执行节点。

(2)经过参考kylin文档(中文看的真舒服),在kylin web页面 System-> Server Config中添加配置:

kylin.engine.spark-conf.spark.yarn.archive=xxx

xxx为local模式spark运行需要的jar,将其放到hdfs目录,这样spark运行就会读取这个目录的jar,而不是读取每一个datanode上的jar。

重启kylin,重启之前可以删除bin目录下的cache开头的文件,这是一些缓存配置。

然后就这样解决了,问题是我们读spark进行了修改,引入了其他版本的guava jar。

3.心得

也算是解决了kylin的spark运行的伤,这个问题卡了两周,心痛,在此也感谢https://issues.apache.org/jira/browse/KYLIN-4102这位热心同道中人的解答。

别再只盯着MES了!半导体/面板厂CIM系统全家桶(EAP/YMS/SPC)保姆级入门指南 本文深入解析半导体制造中的CIM系统,涵盖EAP、YMS和SPC等关键子系统的协同工作。通过实战案例和技术细节,展示如何利用CIM系统提升生产效率、良率管理和设备维护,为半导体/面板厂提供全面的实施指南和优化策略。 阅读详情

相关推荐

Shopee前端反爬三要素:x-sap-Ri、x-sap-Sec与af-ac-enc-dat深度解析

电商前端反爬机制本质是运行时环境可信验证,其核心在于动态生成的请求指纹、会话签名与行为加密载荷。这类机制不依赖静态Token,而是基于浏览器真实交互(如鼠标轨迹、页面可见性、时间精度)实时计算,体现JS运行时环境不可模拟性。技术价值在于将风控前移至客户端,大幅提升自动化绕过成本;典型应用场景包括商品价格监控、竞品数据采集与合规爬虫开发。本文聚焦Shopee实战案例,深入拆解x-sap-Ri(设备+行为哈希指纹)、x-sap-Sec(动态密钥签名)及af-ac-enc-dat(AES加密行为载荷)三大字段的生

weixin_29015127的博客 401

[解决方法]Idal写简单的Spark编程时报错:java.lang.VerifyError: class com.fasterxml.jackson.module.scala.ser.

IDEA用的是2016.2的,在其下面创建看一个maven项目,就开始写代码了,一个人简单的代码,就是在读取该项目下的一个本地文件,然后将文件内容输出到屏幕,结果报错!错误信息如下: java.lang.VerifyError class com.fasterxml.jackson.module.scala.ser. ScalaIteratorSerializer overrides final

小屋 7064

FUXA实战:5步搞定基于Web的SCADA系统搭建(含Node.js版本避坑指南)

本文提供了一份基于开源工具FUXA搭建Web版SCADA系统的实战指南。文章重点解析了从环境准备到生产部署的五个核心步骤,并特别强调了Node.js版本选择对西门子S7 PLC通信兼容性的关键影响,帮助开发者避开常见陷阱,快速构建工业监控界面。

weixin_29172963的博客 140

kylin源码调试_Apache kylin 入门

本篇文章就概念、工作机制、数据备份、优势与不足4个方面详细介绍了Apache Kylin。Apache Kylin 简介1. Apache kylin 是一个开源的海量数据分布式预处理引擎。它通过 ANSI-SQL 接口,提供基于 hadoop 的超大数据集(TB-PB 级)的多维分析(OLAP)功能。2. kylin 可实现超大数据集上的亚秒级(sub-second latency)查询。1)确...

weixin_39683368的博客 278

2026年5月典型AI应用落地

2026年5月AI应用全面进入商用化阶段,呈现三大特征:产业端深度渗透核心业务场景,如法律领域AI合同处理系统完成8500万元项目;消费端实现规模普及,京东618全场景AI化,智能家居产品涌现;基础设施层面运营商推出词元套餐降低使用门槛。政策法规与国际合作同步推进,日本通过首部AI专项法律,中国举办多场产业对接会。AI应用从技术验证转向实效产出,进入精算回报的成熟期。

AI_Encyc的博客 2630

基于STM32与ESP8266的MQTT协议实现阿里云物联网平台远程LED控制

本文详细介绍了如何利用STM32单片机与ESP8266 Wi-Fi模块,通过MQTT协议连接阿里云物联网平台,实现远程控制LED灯的完整物联网项目。内容涵盖硬件连接、阿里云平台配置、MQTT协议与AT指令解析、STM32代码实战以及数据解析与调试技巧,为嵌入式开发者提供了一个清晰、实用的物联网入门实践指南。

svm4gardener的博客 791

Hive报错:Exception in thread "main" java.lang.Incom。。。。 Class com.google.common.collect.ImmutableSotil

Exception in thread “main” java.lang.IncompatibleClassChangeError: Class com.google.common.collect.ImmutableSotil.NavigableMap Exception in thread "main" java.lang.IncompatibleClassChangeError: Class ...

chun的博客 1048

【ComfyUI】【Nunchaku】【diffusers报错解决】秋叶整合包安装 Nunchaku 报错的解决方法

最近在折腾 AI 绘图时,我尝试在秋叶的 ComfyUI 整合包中安装 `ComfyUI-nunchaku` 插件(版本 0.3.3),结果启动后直接报错,提示无法从 `accelerate.utils.memory` 中导入 `clear_device_cache`,让我一度怀疑插件是否兼容。查阅了一堆 issue 和源码之后,总算找到了原因和解决方法。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1856

Hive 报错 java.lang.ClassNotFoundException:com.google.common.collect.ImmutableSortedMap

场景:Hive 创建表,查看表都可以,但是一使用select 命令就报错 com.google.common.collect.ImmutableSortedMap 版本:hadoop 3.2.0 hive 3.1 解决 将 Hive 的 lib 目录下的 guava-19.0.jar 替换掉 Hadoop 的 share/hadoop/common/lib 目录下的 guava-11.0.2.jar (删除前记得先备份一下) Hive的lib下只留guav

Simon的博客 1486

【制作100个unity游戏之22】3DRPG游戏开发07——其他详细的设计

我们会有有很多单例,如果每个单例都去写会很麻烦,所以我们定义泛型单例模式 Singleton,我们将所有的单例都继承这个泛型单例,就省略很多重复的工作定义一个GameManager类,继承Singleton,控制整个游戏的进度,比如如果主角死了,广播,游戏结束调用。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2577

2026实战:YOLOv11融合Swin Transformer,小目标检测精度暴涨47%

本文针对工业零件微小缺陷检测难题,提出了一种CNN与Transformer的最优融合方案。作者发现直接替换YOLOv11骨干网络为Swin Transformer会导致速度骤降69%而精度仅提升2.1%。通过大量实验,总结出三项核心设计原则:1)CNN为主、Transformer为辅;2)高层插入、浅层保留;3)模块化融合。最终提出三种渐进式融合方案,其中骨干部分替换方案(方案二)实现了小目标检测精度提升47%,推理速度仅下降8%的优异表现。文章详细解析了Swin Transformer的核心原理,提供了完

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 514

kylin报错及解决方案总结

一、在build cube这一步中报错:Value not exists! 查询该步的mr日志,提示 Not a valid value:2017-05-31,有两种可能 1.该错误是由于build过程中,所引用的维表数据发生了变化,使用该值查询维表,维表中不存在这条数据。 2.olap表关联了维表,但只使用了关联字段,如果olap表的code在维表里不存在,则会报错

zhangxiaomei1952的博客 1万+

【国产MCU系列】-GD32F4开发环境搭建(基于Embedded Builder)

GD32F4系列MCU采用Arm® Cortex®-M4内核,处理器主频高达240MHz,可支持算法复杂度更高的嵌入式应用,具备更快速的实时处理能力,并拥有业界领先的大容量存储优势。

视觉与物联智能 3078

kylin在启动后Web UI无法打开

如果启动kylin没有报错,出现这种情况,换一个ui地址 解决方案 http://hadoop102:7070/ 换成 http://hadoop102:7070/kylin/login

Knight 1969

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Kylin报错汇总

1.问题:java.io.FileNotFoundException: /developer/apache-kylin-2.3.0-bin/tomcat/conf/.keystore (No such file or directory) 解决方法:进入tomcat文件的的conf文件,修改server.xml文件,把这些注释掉。 <!-- <Connector port="74...

学海无涯的博客 1082

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

kylin:web页面登录问题: ERROR [localhost-startStop-1] context.ContextLoader : Context initialization failed

kylin安装后进行启动,然后登录kylin的web页面,出现了404问题,查看kylin的日志后发现报错: 报错太长了,截取了一段 ERROR [localhost-startStop-1] context.ContextLoader:350 : Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.sprin

TzBugs的博客 2893

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

启动Kylin出现的问题

一、安装 1.从 Apache Kylin下载网站 下载一个适用于您 Hadoop 版本的二进制文件。或者点击下载 2.将下载好的压缩包上传到Linux上,并解压: tar -zxvf apache-kylin-2.5.1-bin-hbase1x.tar.gz 3.改名: mv apache-kylin-2.5.1-bin-hbase1x.tar.gz kylin-2.5.1 4.此时,kylin就安装成功,接下来需要配置kylin环境变量,编辑文件,(因为要用到hbase、hive、hadoop,所

duyenson的博客 4371

错误java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap,巨坑

又碰到了坑。。。折腾了两三个小时,发现Maven有时候还真的是坑。 今天打算玩一玩hystrix。添加了POM依赖以后,启动程序,发现报错: java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap 咦?莫名其妙,仔细检查了一下发现是HystrixCommandAspect引用的一个guava包中的一个类...

马路上开飞机 1万+

打开.jmx文件时报错:CannotResolveClassException

打开.jmx报错CannotResolveClassException解决方法

殷小速的博客 945

com.google.common.collect.ImmutableList$SerializedForm

com.google.common.collect.ImmutableList$SerializedForm

xiejunna的博客 356

xStream xml转java bean,抛出CannotResolveClassException异常原因

这两天开发时遇到个奇怪的问题,使用xStream实现xml和java bean互转。在eclipse中运行时xml转java bean一切正常,导入到产品里面去就运行就抛出CannotResolveClassException异常,于是开始查找原因。 具体异常信息如下: Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassE...

为何生存 3万+

升级jenkins 导致jenkins启动失败_害你加班的Bug是我写的,记一次升级Jenkins插件引发的加班

本文主要记录了下Jenkins升级插件过程中出现的场景,一次加班经历,事发时没有截图,有兴趣可以看看。起因需求最近有个需求:在Jenkins流水线中完成下载Git上的文件简单修改并提交的功能起初找到了相关的插件用法,即使用 SSH Agent Plugin 来完成这个功能插件不生效经测试无法完成效果,分别怀疑了以下几点:凭据配置有误写错了脚本当前未安装此插件当前插件版本过低当前插件由于某种原因未生...

weixin_39927378的博客 1951

文本数据导入HBASE库找不到类com/google/common/collect/Multimap

文本数据导入HBASE库找不到类com/google/common/collect/Multimap  打算将文本文件导入HBASE库,在运行命令的时候找不到类com/google/common/collect/Multima [hadoop@hadoop1 lib]$  hadoop jar /home/hadoop/hbase-0.94.6/hbase-0.94

anhuidelinger的专栏 1万+

Android项目更换开发环境时出现的 java.lang.VerifyError 异常解决办法

项目是从同事的电脑上直接拷贝过来的,项目里面的jar包是在项目跟下libs里面存放的。到我电脑上部署没有出现错误,运行时就报java .lang.VerifyError的异常. google过,网上大概有下面几种说法:    1. 大多数可能引用的外部jar文件出现了问题,比如说package的路径产生了问题,但该类被class文件定义了。   2. 调用了一些编译器产生异议的问题,可能是

梦中梦专栏 1万+

com.google.common.collect.ImmutableSet

com.google.common.collect  Class ImmutableSet java.lang.Object com.google.common.collect.ImmutableCollection com.google.common.collect.ImmutableSet All Implemented Interfaces:Serializab

You and me~ 7695

hadoop+javaWeb的开发中遇到包冲突问题(java.lang.VerifyError)

  1.HDFS + WEB 项目 报java.lang.VerifyError... 异常 抛异常: Exception in thread "main" java.lang.VerifyError: (class: com/google/common/collect/Interners, method: newWeakInterner signature: ()Lcom/google/c...

weixin_33781606的博客 791
上一篇: IDEA 解决import类飘红
RichurLiu
博客等级 码龄14年 4粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值