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> |