hbase1.3.2+phoenix

配置zookeeper
cd zookeeper-3.4.11/
conf/zoo.cfg
dataDir=/opt/package/data/zookeeper
# zookeeper
export ZOOKEEPER_HOME=/opt/package/zookeeper-3.4.11/
export PATH=$PATH:$ZOOKEEPER_HOME/bin


zkCli.sh -server vb-7:2181


 hbase 安装。以hdfs 作为存储介质的singlemode.
 版本1.30
 
 参考;
 https://hbase.apache.org/book.html#quickstart
 
 rm bin/*.cmd
 vi conf/hbase-env.sh
 export JAVA_HOME=/usr/java/latest
 vi conf/hbase-site.xml
 

  
    hbase.rootdir
    hdfs://vb-7:9000/hbase
  
 
  hbase.cluster.distributed
  true
 

    hbase.zookeeper.quorum
    vb-7
  

        hbase.zookeeper.property.clientPort
      2181







start-hbase.sh
启动会报个警告。
注释掉conf/hbase-env.sh里一行即可。
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"




hbase shell
建表:
create 'test','cf'
list 'test'
describe 'test'
put 'test','row1','cf:name',"hshe"
put 'test','row2','cf:name','hhse2'
put 'test','row3','cf:name','hhse3'
scan 'test'
get 'test','row1'



上面singlemode 的hbase完成。




 
  hbase.cluster.distributed
  true
 


 这个配置分使用hbase 的master和regionserver分离进程。单机配置这个没有意义的。用于测试。
 ./bin/local-master-backup.sh start 2 3 5 启动从节点。。
 cat /tmp/hbase-testuser-1-master.pid |xargs kill -9
 


 
 完全分布式,是需要zookeeper支持。
 
 使用外部zookeeper. conf/hbase-env.sh
 export HBASE_MANAGES_ZK=false






安装 phoenix。
# phoenix
export PHOENIX_HOME=/opt/package/phoenix-4.13.0-HBase-1.3
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin



cp phoenix-4.13.0-HBase-1.3-server.jar /opt/package/hbase-1.3.1/lib/
重启hase


进入phoenix
./bin/sqlline.py  vb-7:2181


简单使用phoenix
http://phoenix.apache.org/Phoenix-in-15-minutes-or-less.html


创建三个文件,存放数据或查询语句,表结构 (官网的)
us_population.csv
us_population_queries.sql
us_population.sql


执行查询:
phoenix-4.13.0-HBase-1.3/bin/psql.py vb-7:2181 us_population.sql us_population.csv us_population_queries.sql


官网有更详细的Mapping to an Existing HBase Table
http://phoenix.apache.org/
http://phoenix.apache.org/language/index.html#create


在 pnoenix中建表,同时也会在hbase中创建表的。
删表也会删除hbase中的表。视图不会删除hbase 中的表。


建表测试:
CREATE TABLE IF NOT EXISTS us_population (
      state CHAR(2) NOT NULL,
      city VARCHAR NOT NULL,
      population BIGINT
      CONSTRAINT my_pk PRIMARY KEY (state, city));


在hbase中可以查看到已经建好的表。


建立与hbase的关联表。(注意表名的双引号,不加会自动变成大写,关联不上的。)
create table "test"(pk varchar primary key ,"cf"."name" varchar null);
建了表之后 ,不能再建视图。
Default column family not allowed on VIEW or shared INDEX. tableName=test
但是,可以这么做。


create 'test_view','cf'
put 'test_view','row1','cf:name',"hshe"
put 'test_view','row2','cf:name','hhse2'
put 'test_view','row3','cf:name','hhse3'


phoenix中创建视图:
这个报异常
CREATE VIEW "test_view"(pk VARCHAR primary key)default_column_family = 'cf'


创建视图成功。
create VIEW "test_view"(pk varchar primary key ,"cf"."name" varchar null);




在表之上创建视图。
create view "my_test_view" (name2 varchar) as select * from "test"


在视图之上建视图。
create view "my_test_view2" as select * from "my_test_view";






剩下就是jdbc操作了。


String driver = "org.apache.phoenix.jdbc.PhoenixDriver";
//String url = "jdbc:phoenix:192.168.206.21:2181";

你可能感兴趣的:(hbase1.3.2+phoenix)