springboot + hbaseの統合

プロジェクトはフェニックスを使用してSQLを使用してHbaseデータベースを操作しますが、DbeaverでのSQLクエリ速度は問題ありませんが、フェニックス+ ibatisを使用した後、結果セットのデータ量は20wであり、非常に遅いです。キャッシュするようにredis、しかしメモリは限られています、私はそれを使用することだと思います、hbase直接接続、それを解決するためにそれをテストします、

1つ:はじめに
hbase-clientは、HBaseによって提供される比較的低レベルのAPIです。ユーザーにより良いAPIを提供するには、実際の使用でカプセル化する必要があります。

hbaseクライアントを操作する方法はいくつかあります。

HBaseのクライアントは、より低レベルで、それ以外の場合はエラー報告します、あなたはさらにカプセル化するために、自分でAPIを必要とし、バージョン番号とHBaseのも一致している必要がありますインストール
春-データHadoopの4月5日、保守2019ストップ
ApacheのフェニックスをSQLを使用してHBaseを操作する

  • 以下は、springboot + hbase-clientの方法です

注意!slf4jおよびlog4jjarを削除する必要があります。削除しないと、対応するエラーが報告されます:pom.xml import

<dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>2.1.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

注!hbase application.yml設定:hbase.zookeeper.znodeがhbase.zookeeper.parentに修正されました

hbase:
  config:
    hbase.zookeeper.quorum: 127.0.0.1
    hbase.zookeeper.port: 2181
    hbase.zookeeper.parent: /hbase
    hbase.client.keyvalue.maxsize: 1572864000

hbase.zookeeper.parentの役割:

Zookeeperの役割は次のとおりです。

1. Hbase regionserverはzookeeperに登録し、hbase regionserverのステータス情報(オンラインかどうか)を提供します。

2. hmasterが起動すると、hbaseシステムテーブル-ROOT-がzookeeperクラスターにロードされ、現在のシステムテーブル.METAのストレージに対応するregionserver情報をzookeeperクラスターから取得できます。

Zookeeperは、hbaseクラスターの「コーディネーターですzookeeperの軽量性により、zookeeperクラスターを複数のhbaseクラスターと共有して、多くのサーバーを節約できます。する方法するために、複数のHBaseクラスタのZooKeeperクラスタを共有するには、IPアドレスの同じセットを使用し、「変更することですzookeeper.znode.parentの」プロパティ異なるのHBaseクラスタを別のルートディレクトリを使用します。たとえば、cluster1は/ hbase-c1を使用し、cluster2は/ hbase-c2を使用します。

HMasterの主な機能は、HMasterを介してシステムテーブル-ROOT- 、. META。を維持し、regionserverに対応するリージョン変更情報を記録することです。さらに、現在のhbaseクラスター内のregionserverのステータス変更情報を監視および処理する役割も果たします。

Hbase regionserverは、複数/単一のメンテナンスリージョンに使用されます。

リージョンは、hbaseデータテーブルのテーブルパーティションデータメンテナンスに対応します。

参照:https//www.cnblogs.com/cxzdy/p/5369187.html

https://www.jianshu.com/p/67a817a157ee

プロジェクト建設リファレンスは次のとおりです。

https://blog.csdn.net/vbirdbest/article/details/88410954

3. hbase API推奨リファレンス:

https://www.cnblogs.com/frankdeng/p/9310209.html

4. hbaseの基本的なJavaApiデータ操作とデータフィルタリング(フィルター)

https://www.cnblogs.com/frankdeng/p/9310262.html

https://www.cnblogs.com/asker009/p/10626508.html

 

おすすめ

転載: blog.csdn.net/JHON07/article/details/97164236