hbase上部署phoenix

1.什么是phoenix

phoenix是一个在hbase上面实现的基于hadoop的OLTP技术,具有低延迟、事务性、可使用sql、提供jdbc接口的特点。
而且phoenix还提供了hbase二级索引的解决方案,丰富了hbase查询的多样性,继承了hbase海量数据快速随机查询的特点。

2.下载phoenix

到官网 http://phoenix.apache.org/download.html 下载指定版本hbase对应的phoenixjar包

3.安装配置

  • 将上面一步下载的文件解压到一个地方
    下载后解压,从里面拷贝phoenix-4.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)

你可能感兴趣的:(hbase,phoenix)