Hbase(一) 簡介

      網友投稿 924 2025-04-02

      ü Key-Value 存儲: Amazon Dynamo, Voldemort, BDB, Kyoto Cabinet

      ü Key 結構化數據存儲:Redis

      ü 類BigTable 存儲: Google BigTable, Apache HBase, Apache Cassandra

      ü 文檔數據庫: MongoDB, CouchDB

      ü 全文索引: Apache Lucene, Apache Solr

      ü 圖數據庫: neo4j, HyperGraphDB, FlockDB

      HBase概念源自Google BigTable http://static.googleusercontent.com/media/research.google.com/zh-CN//archive/bigtable-osdi06.pdf

      Hbase以列族作為邏輯單位,物理上,也是以列族為單位存在HFile中。

      不會被存儲,所以不會有消耗。

      (Table, RowKey, Family, Column, Timestamp) → Value

      用java來描述就類似為:

      SortedMap

      >>>

      Hbase負載均衡的單元是Region,就是以row key 排序的連續存儲空間。類似Oracle的范圍分區。Region不斷增長,到閾值后會自動分區,一分為二。

      物理上,Region 由 Region Server加載,每個Server加載多個Region

      RPC協議支持:Protocol Buffer、Thrift、Avro

      REST客戶端支持,適合請求少但數據量大的場景。高吞吐量的場景中,適合二進制協議

      REST客戶端:http://wiki.apache.org/hadoop/Hbase/Stargate

      Thrift客戶端:http://wiki.apache.org/hadoop/Hbase/ThriftApi

      Avro客戶端:https://hbase.apache.org/0.94/apidocs/org/apache/hadoop/hbase/avro/package-summary.html

      HBql:Hbase基礎上的SQL語法 http://www.hbql.com/

      Hbase-DSL:格式化查詢輔助 https://github.com/altamiracorp/hbase-dsl

      JPA/JPO:使用DataNucleus在Hbase封裝 http://www.datanucleus.org/

      PyHbase:與Avro網關服務通信 https://github.com/hammer/pyhbase

      AsyncHBase:異步、非阻塞、線程安全 https://github.com/StumbleUponArchive/asynchbase

      Hbase Shell:最常用的API,使用JRuby格式

      Java API:Java原生API

      MapReduce:MapReduce Java API 和 Clojure的 Hbase-Runner項目

      Hive:HiveQL支持 https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration

      Pig:Pig Latin支持

      Cascading:MapReduce的替代API

      Web UI:Hbase的 Web UI可以查看狀態,也可以修改少量的狀態

      Hbase支持單行事務,對單個行健下的存儲數據支持原子的“讀-改-寫”序列

      Hbase單元格也可以當做計數器使用,并支持原子更新

      Hbase 每次更新數據時,先將數據寫入WAL(write-ahead log)中,然后寫入內存中的memstore。

      Memstore中的數據已經按照行健排序,超過最大值Flush到HFile中也是按照這個順序存貯的。WAL是Hbase保證一致性和故障恢復的手段。

      Hbase存儲架構來源自LSM樹。HFile通常保存在HDFS中,寫入就不可修改。這個機制會刷出很多小文件,所以通過minor compaction合并同列族的多個文件為一個大文件。這是一個多路歸并的過程,因為已經是排序好的,所以非常快,IO消耗也較低。Major compaction會順序重寫數據,過程中與minor不同的是,會掃描出刪除的“墓碑標記”,把標記刪除的數據真正刪除。

      Master dual quad-core CPUs, 2.0-2.5 GHz

      Slave dual quad-core CPUs, 2.0-2.5 GHz

      NameNode計算方式:每100TB數據或每100萬個文件大約占用堆1GB左右

      SecondaryNameNode:同NameNode

      DataNode:一般1G夠用

      Hbase Master:輕量級負載,一般4G夠用

      Hbase Region Server:內存負載重,一般設為12G,最大不超過16G,不然FGC時間會長,可能會使Master誤判RS假死

      ZooKeeper:一般1G

      Master一般采用RAID10

      Salve一般采用JBOD(Just a Bunch Of Disks,磁盤簇),有米上RAID更好

      SATA磁盤就可以滿足,SAS更好

      按數據規模估算,一般的選擇是千兆網卡,并保證交換機有足夠的吞吐能力。

      一般數據量*2配置網絡,因為網絡通常達不到理論標準

      ü 下載HBASE:http://www.apache.org/dyn/closer.cgi/hbase/

      ü 安裝JAVA,并設置JAVA_HOME

      ü 安裝Hadoop,選擇HDFS作為底層文件系統,全部jar要配置到Hbase的java.library.path

      ü 配置SSH和域名等輔助配置(可選)

      ü 調低/etc/sysctl.conf 的vm.swappiness配置,降低SWAP使用優先級(可選)

      Hbase(一) 簡介

      ü NTP同步時間,服務器間不能有太大的時間偏差

      ü 文件句柄設置,評估每個列族至少1個文件,一般按5個評估。也可以壓力測試后,查看一個region server的句柄數lsof -p

      | wc –l; 調整ulimit /etc/security/limits.conf 的nofile、/etc/sysctl.conf的fs.file-max

      ü 編輯hadoop的hdfs-site.xml,修改dfs.datanode.max.xcievers為4096,設置DataNode可處理的文件上限數

      ü 編輯conf/hbase-site.xml,至少配置hbase.rootdir(HDFS根地址)和hbase.zookeeper.property.dataDir、hbase.cluster.distributed、hbase.zookeeper.quorum

      ü 編輯conf/hbase-env.sh,配置java堆等選項

      ü 編輯conf/ regionservers 每行一個RS主機名(基于域名配置)

      ü 編輯 conf/log4j.properties配置日志級別

      ü 啟動bin/start-hbase.sh

      ü 交互bin/hbase shell,進入shell后輸入status命令可以查看server運行狀態,或使用Web UI,默認端口master 60010、RS 60030

      ü 關閉bin/stop-hbase.sh

      一般默認的文件系統為HDFS,但是不僅僅支持HDFS。

      通過設置URI,通過URI標識符中的scheme,即第一個冒號前的部分,標識了使用的磁盤。

      本地文件:file:///

      HDFS:hdfs://

      :

      /

      S3:s3://

      (基于塊) s3n://

      (原生模式,不超過5G)

      單機模式:是默認模式,使用本地文件系統,ZK和HBASE運行在一個JVM中

      偽分布式:一個主機,多個進程的模擬分布式,基于HDFS文件系統

      分布式:conf/hbase-site.xml的屬性hbase.cluster.distributed為true,基于HDFS,可選內部或外部的ZK,配置RS;保持各個server的配置同步,可以人工、腳本方式,基于云的部署可以考慮Apache Whirr、Puppet或Chef

      轉載請注明出處:華為云博客 https://portal.hwclouds.com/blogs

      hbase

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel公式設置絕對引用的方法
      下一篇:怎么用別的圖做背景(怎么把圖片做背景)
      相關文章
      777亚洲精品乱码久久久久久 | 偷自拍亚洲视频在线观看| 亚洲精品在线网站| 亚洲AV无码成人精品区在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久精品国产亚洲精品2020| 久久亚洲一区二区| 亚洲AV无码成人精品区在线观看 | 亚洲国产成人无码av在线播放| 久久夜色精品国产噜噜亚洲AV| 亚洲AV无码一区二区乱孑伦AS | 亚洲最大激情中文字幕| 在线亚洲精品福利网址导航| 中文字幕亚洲无线码| 中文字幕不卡亚洲| 亚洲精品自产拍在线观看| 亚洲人成色7777在线观看| 亚洲男同帅GAY片在线观看| 中文字幕精品亚洲无线码二区| 亚洲综合av永久无码精品一区二区| 亚洲人AV永久一区二区三区久久| 亚洲中久无码不卡永久在线观看| 亚洲欧洲久久久精品| 精品国产香蕉伊思人在线在线亚洲一区二区 | 亚洲午夜精品一区二区| 麻豆亚洲av熟女国产一区二| 亚洲色图.com| 亚洲一本之道高清乱码| 亚洲高清视频在线| 亚洲爆乳AAA无码专区| 另类小说亚洲色图| 中文字幕亚洲电影| 久久久久亚洲AV无码专区首| 久久精品国产精品亚洲毛片| 亚洲欧洲精品久久| 99亚偷拍自图区亚洲| 日本亚洲欧美色视频在线播放 | 精品久久久久久亚洲综合网| 亚洲男人天堂2020| 亚洲av一综合av一区| 亚洲色大成网站www永久|