欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboo2 集成 hbase 2

程序员文章站 2022-05-23 08:36:47
...

文章目录

springboo2 集成 hbase 2

环境说明:

hbase:2.1.5
springboot:2.1.1.RELEASE
hadoop :2.8.5
java: 8+

hadoop环境:Hadoop 2.8.5 完全分布式HA高可用安装(二)–环境搭建
hbase环境:hbase 2.1 环境搭建–完全分布式模式 Advanced - Fully Distributed

注意:Spring for Apache Hadoop已经停止维护,新版不支持哦!

现在网上的资料都已经过时了,太老了。hbase使用的都是比较老的版本,而且Spring for Apache Hadoop也已经停止维护:
springboo2 集成 hbase 2
所以,目前已经无法正常使用spring-data-hadoop来操作hbase了。
如果我们使用这样的版本:

<dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-hadoop-boot</artifactId>
            <version>2.5.0.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-hadoop</artifactId>
            <version>2.5.0.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>2.1.5</version>
        </dependency>

会报错:

java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.HTableInterface

因为在2.1.5版本的hbase-client中已经将HTableInterface删除。
我们看看老版本的hbase-client对HTableInterface的描述:
springboo2 集成 hbase 2
可以看到,HTableInterface已经不推荐使用,而是使用Table来代替,显然由于spring-data-hadoop停止维护,没有对其进行更新。

解决办法:

老版本的请参考其他人的博客:https://blog.csdn.net/rohsuton/article/details/84827973

相关标签: hbase