Hbase+Phoenix 安裝及基本操作

1.安裝Hbase:

     解壓:tar-zxvf hbase-1.2.1-bin.tar.gz

     重命名:mvhbase-1.2.1  hbase

 

2.配置環境變量

exportJAVA_HOME=/usr/local/software/jdk1.8.0_66

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

exportHBASE_HOME=/usr/local/software/hbase_1.2.1

exportPATH=.:$JAVA_HOME/bin:$HBASE_HOME/bin:$PATH

 

3.修改hbase/conf/hbase-env.sh配置文件

exportJAVA_HOME=/opt/jdk

exportHBASE_MANAGES_ZK=true   #配置由hbase自己管理zookeeper

 

4.修改hbase/conf/hbase-site.xml配置文件,指定Hbase數據的存儲位置:

 file:///opt/hbase/data #或者hdfs://master1:8020/hbase

<property>

  <name>hbase.rootdir</name>

  <value>hdfs://master:9000/hbase</value>

</property>

<property>

  <name>hbase.cluster.distributed</name>

  <value>true</value>

</property>

<property>

  <name>hbase.zookeeper.quorum</name>

  <value>master</value>

</property>

<property>

  <name>dfs.replication</name>

  <value>1</value>

</property>

 

5.啓動Hbase:start-hbase.sh

手動在從節點上單獨啓動HregionServer:

bin/hbase-daemon.sh start regionserver      hbase-daemon.shstart master

6.驗證啓動,查看運行的Hbase進程:jps  HMaster  HregionServer QuorumPeerMain

7.WebUI: http://node1:16010/

 

集羣配置:

1.修改hbase-env.sh使用外部zookeeper

exportHBASE_MANAGES_ZK=false

 

2. 修改hbase-site.xml

<property>

 <name>hbase.rootdir</name>

 <value>hdfs://master:9000/hbase</value>

</property>

<property>

 <name>hbase.cluster.distributed</name>

 <value>true</value>

</property>

<property>

 <name>hbase.zookeeper.quorum</name>

  <value>master,work01,work02</value>

</property>

<property>

 <name>hbase.zookeeper.property.dataDir</name>

 <value>/bigdata/hbase/zktmp</value>

</property>

<property>

  <name>hbase.tmp.dir</name>

  <value>/bigdata/hbase/tmp</value>

</property>

<property>

 <name>dfs.replication</name>

 <value>1</value>

</property>

</configuration>

3.把hadoop的core-site.xml和hdfs-site.xml考到hbase的conf目錄下。

基本操作

建表:

create  'stu','cf1','cf2'

put 'stu', 'key1','cf1:name','luozhao'

put 'stu', 'key1','cf1:sex','man'

put 'stu', 'key1','cf2:age','24'

put 'stu', 'key1','cf2:adress','cqupt'

 

查看錶中的所有數據:

hbase(main):003:0> scan 'stu'

ROW     COLUMN+CELL                                                                                                                                  

key1    column=cf1:name, timestamp=1509613019570, value=luozhao                                                                                      

key1    column=cf1:sex, timestamp=1509613498507, value=man                                                                                            

key1    column=cf2:adress, timestamp=1509613375543, value=cqupt                                                                                      

key1    column=cf2:age, timestamp=1509613370794, value=24 

 

查看其中某一個Key的數據:

hbase(main):003:0> get 'stu','key1'

COLUMN           CELL                                                                                                                                         

cf1:name         timestamp=1509613019570,value=luozhao                                                                                                       

cf1:sex          timestamp=1509613498507,value=man                                                                                                           

cf2:adress       timestamp=1509613375543,value=cqupt                                                                                                         

cf2:age          timestamp=1509613370794, value=24

 


phoenix安裝

1.tar zxvfapache-phoenix-4.12.0-HBase-1.2-bin.tar.gz

2.export PNX_HOME=/home/app/phoenix4.12

export PATH=$PATH:$PNX_HOME/bin

3.進入到phoenix的安裝目錄把phoenix-4.12.0-HBase-1.2-server.jar拷貝到集羣中每個節點( 主節點也要拷貝 )的 hbase 的 lib 目錄下

4.重啓hbase

5. 啓動phoenix:

bin/sqlline.py master,work01,work02:2181進入命令行

#端口可以省略 sqlline.py master


退出: !quit注意,命令前有感嘆號,或者 !q

6.執行自帶腳本測試

psql.py master,work01,work02:2181WEB_STAT.sql

 

7.新建sql腳本:

-- create tableuser

create table ifnot exists user (id varchar primary key,account varchar ,passwd varchar);

 

-- insert data

upsert intouser(id, account, passwd) values('001', 'admin', 'admin');

upsert intouser(id, account, passwd) values('002', 'test', 'test');

upsert intouser(id, account, passwd) values('003', 'zx', 'zx');

 

-- query data

select * fromuser;


運行:psql.py master,work01,work02:2181 user.sql


希望和大家一起每天進步一點點!剛剛開始在公衆號同步博客,請大家多多支持,如有不足之處多多包含,最後多多關注哈哈哈。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章