HBase 學習(二) Hbase安裝與啟動


一,前言

二,前期准備

  2.1 文件下載

  2.2 服務器准備

三,配置文件配置

  3.1 hbase-env.sh

  3.2 hbase-site.xml

  3.3 regionservers

  3.4 將hbase的bin目錄添加到環境變量

  3.5 Hbase的官方配置文檔

四,Hbase服務啟動

  4.1 Hbase啟動

  4.2 Hbase的web頁面訪問

五,Hbase的shell簡單使用

  5.1 Hbase的命令行客戶端

  5.2 Hbase的簡單使用

  5.3 Hbase的DML

    5.3.1 增加數據

   5.3.2 查詢數據

   5.3.3 刪除數據

 

 

正文

一,前言

  上節我們知道Hbase是hadoop體系中的分布式存儲的nosql,他依賴於HDFS進行數據存儲,依賴於Zookeeper進行hmaster的高可用,同時若要對其進行數據分析,可能還用到MapReduce。所以在進行服務安裝的時候,必須要先安裝HDFS,Zookeeper和yarn。若對這些安裝有疑問,請查看前面章節。

二,前期准備

  2.1 文件下載和解壓

  點擊下載Hbase:當然也可以自己到官網下載相應的版本。鏈接地址:http://archive.apache.org/dist/hbase/

  解壓文件如下:

     

  2.2 服務器准備

  

  注意:JDK,Hdoop,zookeeper已經安裝完成,若對這些安裝有疑問,可以查看前面文章。

三,配置文件配置

  下面對配置文件進行配置,主要當其中一台配置完畢后,需要將這些配置文件復制到另外兩台。我這里配置的是hd3,配置完畢后,我將整個hbase的安裝目錄復制到了另外兩台服務器。

  3.1 hbase_env.sh

  主要添加的配置如下:

export JAVA_HOME=/root/apps/jdk1.7.0_67
export HBASE_MANAGES_ZK=false

  上述配置是指明運行環境,JDK和是否使用內置的zookeeper這里選擇的是false,因為我們需要使用的是我們自己定義的zookeeper.

  實際配置示例:

 

  3.2 hbase_site.xml

  主要添加的配置如下:

<configuration>
        <!-- 指定hbase在HDFS上存儲的路徑 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://hd1:9000/hbase</value>
        </property>
        <!-- 指定hbase是分布式的 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <!-- 指定zk的地址,多個用“,”分割 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>hd1:2181,hd2:2181,hd3:2181</value>
        </property>
</configuration>

  注意:上述配置是最基本配置,若要對齊配置進行優化設置,可以查看官方文檔。

  實際配置示例:

 

  3.3 regionservers

  主要添加配置:

hd1
hd2
hd3

  上述配置主要是添加需要啟動HRegionServer的主機名。

 

  3.4 將hbase的bin目錄添加到環境變量

  添加環境變量如下所示:

 

  3.5 官方配置文件地址

  點擊進入

四,Hbase服務啟動

  4.1 Hbase啟動

  啟動前需要對服務器進行時間同步,否則會報錯:

  報錯信息如下:

  時間同步:

# 依次執行如下步驟


# 一,安裝ntp服務

yum install ntp

# 二,設置服務啟動方式
systemctl enable ntpd


# 三,啟動服務
service ntpd restart


# 四,將系統時區修改為上海時間
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  然后對其啟動:

-->直接在命令行運行start-hbase.sh
[root@hd1 ~]$ start-hbase.sh

  然后可以通過JPS進行進程訪問,如下所示:

  

  4.2 Hbase的web頁面訪問

  hbase啟動完畢后,可以訪問Hmaster所在服務的主機進行Hbase訪問,如下所示:

   

五,Hbase的shell簡單使用

  5.1 hbase的命令行客戶端

  執行如下命令進入Hbase的命令行客戶端:

[root@hd1 ~]$ hbase shell

  如下示例:

  5.2 hbase的簡單使用

Hbase> list     // 查看表
Hbase> status   // 查看集群狀態
Hbase> version  // 查看集群版本

  5.3 hbase的shell的DML

    5.3.1 插入數據

hbase(main):011:0> put 't_user_info','001','base_info:username','zhangsan'
0 row(s) in 0.2420 seconds

hbase(main):012:0> put 't_user_info','001','base_info:age','18'
0 row(s) in 0.0140 seconds

hbase(main):013:0> put 't_user_info','001','base_info:sex','female'
0 row(s) in 0.0070 seconds

hbase(main):014:0> put 't_user_info','001','extra_info:career','it'
0 row(s) in 0.0090 seconds

hbase(main):015:0> put 't_user_info','002','extra_info:career','actoress'
0 row(s) in 0.0090 seconds

hbase(main):016:0> put 't_user_info','002','base_info:username','liuyifei'
0 row(s) in 0.0060 seconds

    5.3.2 查看數據

    查看方式一:scan 掃描

hbase(main):017:0> scan 't_user_info'
ROW                               COLUMN+CELL                                                                                     
 001                              column=base_info:age, timestamp=1496567924507, value=18                                         
 001                              column=base_info:sex, timestamp=1496567934669, value=female                                     
 001                              column=base_info:username, timestamp=1496567889554, value=zhangsan                              
 001                              column=extra_info:career, timestamp=1496567963992, value=it                                     
 002                              column=base_info:username, timestamp=1496568034187, value=liuyifei                              
 002                              column=extra_info:career, timestamp=1496568008631, value=actoress    

    查看方式二:get單行數據

hbase(main):020:0> get 't_user_info','001'
COLUMN                            CELL                                                                                            
 base_info:age                    timestamp=1496568160192, value=19                                                               
 base_info:sex                    timestamp=1496567934669, value=female                                                           
 base_info:username               timestamp=1496567889554, value=zhangsan                                                         
 extra_info:career                timestamp=1496567963992, value=it                                                               
4 row(s) in 0.0770 seconds

    5.3.3 刪除數據

    刪除一個kv數據

hbase(main):021:0> delete 't_user_info','001','base_info:sex'
0 row(s) in 0.0390 seconds

    刪除整行

hbase(main):024:0> deleteall 't_user_info','001'
0 row(s) in 0.0090 seconds

hbase(main):025:0> get 't_user_info','001'
COLUMN                            CELL                                                                                            
0 row(s) in 0.0110 seconds

    刪除整個表

hbase(main):028:0> disable 't_user_info'
0 row(s) in 2.3640 seconds

hbase(main):029:0> drop 't_user_info'
0 row(s) in 1.2950 seconds

hbase(main):030:0> list
TABLE                                                                                                                             
0 row(s) in 0.0130 seconds

=> []


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM