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
 
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://vb-7:9000/hbase</value>
  </property>
 <property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
 </property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>vb-7</value>
  </property>
<property>
        <name>hbase.zookeeper.property.clientPort</name>
      <value>2181</value>
</property>
</configuration>






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完成。




 <property>
  <name>hbase.cluster.distributed</name>
  <value>true</value>
 </property>


 这个配置分使用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";
阅读更多
上一篇基于hadoop3.1.0安装hive2.3.3
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭