hbaseにphoenixを配置する

3207 ワード

1.phoenixとは
phoenixはhbaseの上で実現されるhadoopベースのOLT P技術であり、低遅延、事務性、sqlを使用可能、jdbcインターフェースを提供する特徴がある.また、phoenixはhbase二級インデックスの解決策を提供しています.hbaseクエリの多様性を豊かにし、hbase海量データの迅速なランダム検索の特徴を継承しています.
2.phoenixをダウンロードする
公式サイトに行くhttp://phoenix.apache.org/download.html 指定バージョンhbase対応のphoenixjarパッケージをダウンロードします.
3.セットアップ設定
  • は上記のステップでダウンロードしたファイルを解凍して、phoenix-42.11.0-HBase-1.2-server.jarのようなjarから$HBASE HOME/lib/以下
  • までコピーします.
  • 追加構成、hbase-site.xmlに以下の構成
  • を追加します.
    <property>
        <name>hbase.regionserver.wal.codecname>
        <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodecvalue>
    property>
    <property>
        <name>hbase.region.server.rpc.scheduler.factory.classname>
        <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactoryvalue>
    property>
    <property>
        <name>hbase.rpc.controllerfactory.classname>
        <value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory
        value>
    property>
    hbaseクラスタを再起動し、起動後、hbaseの中にphoenixのシステムテーブルが多くなっていることが分かります.
    4.テスト
    $PHOENIX_HOME/bin/sqlline.pyスタートphoenixのコマンドライン
    Connected to: Phoenix (version 4.11)
    Driver: PhoenixEmbeddedDriver (version 4.11)
    Autocommit status: true
    Transaction isolation: TRANSACTION_READ_COMMITTED
    Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
    125/125 (100%) Done
    Done
    sqlline version 1.2.0
    0: jdbc:phoenix:localhost:2181:/hbase> create table test1 (id varchar primary key,f1 varchar);
    No rows affected (1.418 seconds)
    0: jdbc:phoenix:localhost:2181:/hbase> upsert into test1 values('1','2');
    1 row affected (0.047 seconds)
    0: jdbc:phoenix:localhost:2181:/hbase> select * from test1;
    +-----+-----+
    | ID  | F1  |
    +-----+-----+
    | 1   | 2   |
    +-----+-----+
    1 row selected (0.044 seconds)