假设你的hbase和hdfs的hadoop版本不同,但是我们的业务是将hbase的数据写入hdfs。该如何解决呢? 我们的方法是动态加载jar包。
1.Hbase和Hdfs分别定义借口HbaseInterface和HdfsInterface。
2.分别封装hbase和hdfs的方法生成相关jar包HbaseOperation.jar和HdfsOperation.jar。
3.将不同版本的hadoop部署到所有计算节点上。
4.封装我们本身的业务逻辑生成jar包storminterface.jar
5.调用这三个jar包生成我们最终的项目
由于是通过接口实现功能,hbase和hdfs调用的时候会动态加载hadoop版本,实现2者的兼容。