问题现象
提交HBase on Spark的Yarn Cluster任务时,AM启动失败,抛出如下异常:
1 |
|
可能原因
Netty包冲突。
问题分析
从堆栈中可以看出,问题出在NioWorker的初始化过程中,发生了调用方法得到了非预期的返回值的状况。这种状况一般出现在依赖jar与环境jar版本不一致或者lib包出现多版本冲突的时候。根据堆栈可以得出问题出在Netty包,进而通过查询可以发现Netty在两个版本间接口存在变动。
解决方案
排查Classpath中是否存在多版本Netty包,以及编译Netty依赖是否与环境一致。
注:Spark Assembly包中通常含有Netty包的类,注意排查。