Spark和Hadoop、HBase集成,使用Maven管理依赖的时候需要考虑包的兼容性:
报错:java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does notmatch signer information of other classes in the same package
三个依赖有冲突:
spark-core: org.eclipse.jetty.orbit:javax.servlet
hbase-server:org.mortbay.jetty:servlet-api-2.5
hadoop-client:javax.servlet:servlet-api
解决方案:
直接在maven的pom.xml文件中使用exclusions元素将冲突包进行去除
直接在hadoop-client和hbase-server中进行去除就可以了
注意:不要把org.eclipse.jetty.orbit:javax.servlet这个依赖去除了
<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>${hbase.version}</version> <exclusions> <exclusion> <artifactId>servlet-api-2.5</artifactId> <groupId>org.mortbay.jetty</groupId> </exclusion> </exclusions> </dependency> |