<menu id="u2y6m"></menu>
<tt id="u2y6m"><rt id="u2y6m"></rt></tt>
  • <input id="u2y6m"></input><tt id="u2y6m"><blockquote id="u2y6m"></blockquote></tt>
    <bdo id="u2y6m"><small id="u2y6m"></small></bdo>
  • <blockquote id="u2y6m"><optgroup id="u2y6m"></optgroup></blockquote>
  • 溫馨提示×

    Hbase原理架構與安裝部署教程

    發布時間:2020-07-27 08:53:54 來源:網絡 閱讀:103 作者:victor19901114 欄目:大數據

    1. HBase是什么

    1.1 HBase的概念

    • HBase基于Google的BigTable論文,是建立的==HDFS==之上,提供高可靠性、高性能、列存儲、可伸縮、實時讀寫的分布式數據庫系統。
    • 在需要==實時讀寫隨機訪問==超大規模數據集時,可以使用HBase。

    1.2 HBase的特點

    • ==海量存儲==
      • 可以存儲大批量的數據
    • ==列式存儲==
      • HBase表的數據是基于列族進行存儲的,列族是在列的方向上的劃分。
    • ==極易擴展==
      • 底層依賴HDFS,當磁盤空間不足的時候,只需要動態增加datanode節點就可以了
      • 可以通過增加服務器來對集群的存儲進行擴容
    • ==高并發==
      • 支持高并發的讀寫請求
    • ==稀疏==
      • 稀疏主要是針對HBase列的靈活性,在列族中,你可以指定任意多的列,在列數據為空的情況下,是不會占用存儲空間的。
    • ==數據的多版本==
      • HBase表中的數據可以有多個版本值,默認情況下是根據版本號去區分,版本號就是插入數據的時間戳
    • ==數據類型單一==
      • 所有的數據在HBase中是以==字節數組==進行存儲

    2、Hbase整天架構

    Hbase原理架構與安裝部署教程

    2.1 Client客戶端

    • Client是操作HBase集群的入口
      • 對于管理類的操作,如表的增、刪、改操縱,Client通過RPC與HMaster通信完成
      • 對于表數據的讀寫操作,Client通過RPC與RegionServer交互,讀寫數據
    • Client類型:
      • HBase shell
      • Java編程接口
      • Thrift、Avro、Rest等等

    2.2 ZooKeeper集群

    • 作用

      • 實現了HMaster的高可用,多HMaster間進行主備選舉

      • 保存了HBase的元數據信息meta表,提供了HBase表中region的尋址入口的線索數據

      • 對HMaster和HRegionServer實現了監控

    2.3 HMaster

    • HBase集群也是主從架構,HMaster是主的角色,是老大
    • 主要負責Table表和Region的相關管理工作:
    • 關于Table
      • 管理Client對Table的增刪改的操作
      • 關于Region
      • 在Region分裂后,負責新Region分配到指定的HRegionServer上
      • 管理HRegionServer間的負載均衡,遷移region分布
      • 當HRegionServer宕機后,負責其上的region的遷移

    2.4 HRegionServer

    • HBase集群中從的角色
    • 作用

      • 響應客戶端的讀寫數據請求
      • 負責管理一系列的Region
      • 切分在運行過程中變大的region

    2.5 Region

    • HBase集群中分布式存儲的最小單元
    • 一個Region對應一個Table表的部分數據

    3、HBase數據模型

    Hbase原理架構與安裝部署教程

    3.1 rowkey行鍵

    • table的主鍵,table中的記錄按照rowkey 的字典序進行排序
    • Row key行鍵可以是任意字符串(最大長度是 64KB,實際應用中長度一般為 10-100bytes)

    3.2 Column Family列族

    • 列族或列簇
    • HBase表中的每個列,都歸屬與某個列族
    • 列族是表的schema的一部分(而列不是),即建表時至少指定一個列族
    • 比如創建一張表,名為user,有兩個列族,分別是infodata,建表語句create 'user', 'info', 'data'

    3.3 Column列

    • 列肯定是表的某一列族下的一個列,用列族名:列名表示,如info列族下的name列,表示為info:name
    • 屬于某一個ColumnFamily,類似于我們mysql當中創建的具體的列

    3.4 cell單元格

    • 指定row key行鍵、列族、列,可以確定的一個cell單元格
    • cell中的數據是沒有類型的,全部是以字節數組進行存儲
      Hbase原理架構與安裝部署教程

      3.5 Timestamp時間戳

    • 可以對表中的Cell多次賦值,每次賦值操作時的時間戳timestamp,可看成Cell值的版本號version number
    • 即一個Cell可以有多個版本的值

      4、HBase安裝部署

      4.1、下載安裝包

      下載地址:https://archive.apache.org/dist/hbase/1.2.1/

      4.2、安裝Hbase

      解壓到安裝目錄: tar -zxcf habse-1.2.1-bin.tar.gz -C /opt/bigdata2.7
      重命名解壓目錄:mv hbase-1.2.1 hbase

      4.3、修改配置文件

      1、需要把hadoop中的配置文件core-site.xml,hdfs-site.xml拷貝到hbase安裝目錄下的conf文件夾中
      2、修改conf目錄下的配置文件
      (1)修改hbase-env.sh
      #添加java環境變量<br/>export JAVA_HOME=/kkb/install/jdk1.8.0_141<br/>export HBASE_MANAGES_ZK=false`

    (2)修改 hbase-site.xml

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

    (3)修改regionservers

    vim regionservers
    node02
    node03

    (4)修改backup-masters'

    node2

    3、配置hbase的環境變量

    vi /etc/profile

    export HBASE_HOME=/opt/bigdata2.7/hbase
    export PATH=$PATH:$HBASE_HOME/bin

    4.4、分發hbase目錄到其他節點

    進入habase目錄:cd /opt/bigdata2.7
    scp -r hbase node2:/opt/bigdata2.7
    scp -r hbase node3:/opt/bigdata2.7
    scp /etc/profile node2:/etc
    scp /etc/profile mpde3:/etc

    4.5、讓所有的節點hbase環境變量生效

    在所有節點執行:
    source /etc/profile

    5、Hbase集群啟動和停止

    (1)啟動
    前提條件:先啟動hadoop集群和zookeeper集群
    啟動hbase
    start-hbase.sh

    (2)停止
    stop-hbase.sh
    profile mpde3:/etc`

    4.5、讓所有的節點hbase環境變量生效

    在所有節點執行:
    source /etc/profile

    5、Hbase集群啟動和停止

    (1)啟動
    前提條件:先啟動hadoop集群和zookeeper集群
    啟動hbase
    start-hbase.sh

    (2)停止
    stop-hbase.sh

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    免費撥打  400 100 2938 免費撥打 400 100 2938
    24小時售后技術支持 24小時售后技術支持
    返回頂部 返回頂部
    <menu id="u2y6m"></menu>
    <tt id="u2y6m"><rt id="u2y6m"></rt></tt>
  • <input id="u2y6m"></input><tt id="u2y6m"><blockquote id="u2y6m"></blockquote></tt>
    <bdo id="u2y6m"><small id="u2y6m"></small></bdo>
  • <blockquote id="u2y6m"><optgroup id="u2y6m"></optgroup></blockquote>
  • 一本久道久久综合丁香五月_免费视频禁止18以下禁止观看_日本japanese熟睡人妻_成熟闷骚女邻居引诱2