成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

分布式數據庫 Hbase 的高可用管理和監控

運維 系統運維 分布式
HBase 作為 BigTable 的一個開源實現,隨著其應用的普及,越來越被各大企業應用于海量數據系統中。本文將幫助讀者在大數據云計算 Hadoop 集群應用中利用 HBase 更加高效、直觀、便捷地進行存儲,查詢和優化海量數據。

Apache HBase 的基本知識

2006 年 11 月,Google 發表了一篇名為《 BigTable 》論文 , 2007 年 2 月,Hadoop 的開發人員對其進行實現并命名為 HBase。 HBase 是基于 Hadoop 之上的一種新型的基于列存儲的開源數據存儲架構,用于解決大數據問題,是 Hadoop 的分布式數據庫。

HBase 現在已經比較成熟,***的穩定版本是 0.94.x。HBase 已經被很多大公司采用,如 Facebook, Twitter,Adobe, Cloudera, IBM, 等等。HBase 不是傳統 RDBMS 意義上的基于列的數據庫,而是利用磁盤進行列存儲格式的數據庫,其優勢在于提供基于關鍵字的特定列和順序范圍的快速訪問。

HBase 有三個重要的組件:客戶端庫,一個 master server(可以配置多個備用 master,后文將對此進行詳細描述)以及多個 Region Server。Master 負責分配 Region 到各個不同的 Region Server 上,Region Server 負責存儲實際的數據。同時,HBase 通過使用 ZooKeeper,一種可靠,高可用,一致性的分布式協同服務來幫助其完成相應的任務。HBase 集群管理員可以通過在系統運行過程中添加和刪除 Region Server 節點來調節改變工作負載。HBase 以 HFile 作為存儲數據的基本格式,其底層的文件系統默認采用 HDFS。

圖 1. HBases 基本架構

圖 1. 顯示了不同的組件如 HDFS,Zookeeper 是怎樣與 HBase 一起協調工作的。Master Server 負責處理跨 Region Server 的 regions 數據的導入平衡,卸載繁忙的 Region Server 負擔,將 region 轉移到更空余的 Region Server 上。

HBase Master 不負責實際的數據存儲,它協調導入平衡,維護集群的狀態,維護 schema 的更改和 metadata 元數據操作,如創建表和列族(column families),但從不提供任何數據服務。

Region servers 負責加載和維護 region,包括處理對其管理的 region 的所有讀寫請求,以及 region 大小增長到超過配置閥值的時候對其進行切分。

客戶端通過與 Zookeeper 通信獲取到其需要進行讀寫操作的 region 所在的 Region Server 之后,將直接與 Region Server 通信,并由 Region Server 處理所有相關的請求。#p#

IBM BigInsights 架構中的 HBase

IBM Big Data(大數據)產品 InfoSphere BigInsights 是大數據管理與分析平臺, 其底層架構也采用了 Hadoop 和 HBase 對結構化和非結構化數據進行存儲和查詢。

BigInsightsz 集群軟件層次中的 HBase

BigInsights 整合了很多已有的 Hadoop 開源組件,如 HDFS, MapReduce, HBase, Zookeeper 等,將它們很好的融入 BigInsights 軟件體系,并與其他 BigInsights 的組件一起協同工作在同一個平臺上。 HBase 被用作 BigInsights 的存儲數據庫,Zookeeper 被用作 BigInsights 的服務協同組件。如果要使用 HBase, 我們需要同時安裝 Hadoop, Zookeeper, 因為 HBase 采用 Hadoop 作為其文件系統,采用 Zookeeper 作為其服務協同支持。

當把 BigInsights 部署到一個集群上時,軟件層次的結構如圖 2. 所示:

圖 2. BigInsights 中 Hadoop 開源組件列表

HBase 安裝和配置

BigInsights 產品集成了經過 IBM JDK 編譯和一定改進擴展后的 HBase。在 BigInsights 產品的安裝過程中可以通過安裝界面選擇和配置 HBase, 配置內容包括指定 HBase 安裝路徑,日志目錄,指定集群中 HBase Master 和 HBase Regionservers 節點以及服務端口。HBase 的二進制軟件包默認安裝和配置在 BigInsights 集群的所有節點上,也就是說安裝完 BigInsights 以后的每個 BigInsights 節點都可以作為 HBase 的客戶端使用。

在安裝 BigInsights 之前,需要從解壓以后的根目錄下運行 start.sh 腳本,然后在瀏覽器中輸入 URL http://your-server:8300/Install/ 打開安裝向導,安裝向導將***您完成后續的安裝步驟,安裝過程將包括:安裝類型(選擇多節點分布式集群安裝和配置)選擇,文件系統選擇,組,用戶名及 SSH 配置,指定集群節點,組件安裝,安全類型選擇等,下面給出具體的 HBase 以及 Zookeeper 的安裝配置實例。

圖 3. HBase 安裝和配置

圖 4. Zookeeper 安裝和配置

***,當安裝完成以后,點擊“Finish”或者在后臺命令行運行“start.sh shutdown”關閉安裝向導。#p#

IBM 對 HBase 的改進和擴展

BigInsights ***限度的提供了統一的,IBM 特有的 HBase 管理功能,包括用戶界面以及后臺命令行管理模式。這樣,用戶可以通過簡單的界面操作或者后臺命令來啟停 / 查看 HBase 集群,而不用關心具體的實現細節。

與此同時,IBM 還提供了統一的用戶界面和添加、刪除節點命令來支持 HBase 集群的可伸縮性。

另外,HBase Master 多結點功能的實現,提供并保證了 HBase 在 BigInsights 中的高可用性。以下將對這些改進和擴展功能進行展開介紹。

IBM BigInsights 中的 HBase 集群管理和監控

BigInsights 集群為 HBase 提供了完備的管理功能,包括統一的 HBase 用戶管理界面,后臺命令行管理模式,HBase 服務狀態監控,檢查、同步、添加、刪除、啟動、停用、查看 HBase 服務,反向代理 UI,查看 HDFS 中的 HBase,HBase 應用程序提交等。

Web 界面管理 HBase 服務狀態

通過 http:// 主節點主機名或 IP:8080/data/html/index.html 進入 BigInsights Web 管理控制臺。使用 BigInsights 安裝所有模塊包括 Hadoop、Hbase、Zookeeper、Oozie、Flume 等。(注意:如果您使用的是 BigInsights Basic 版本,請使用 http:// 主節點主機名或 IP:8080/BigInsights 打開控制臺。下文截圖全部基于 Enterprise 版本,Basic 版本會略有差別。)

圖 5. BigInsights Web 管理界面

在 BigInsights Web 管理界面中點擊“Cluster Status”頁面,可以實現對 HBase, Zookeeper 以及其他模塊狀態的監控、啟停。

“Cluster Status”頁面左上方分別列出 BigInsights 集群中所有組件的服務的運行狀態。可以看到所有服務目前都處于正常的運行狀態中。選擇“HBase”,可以查看 HBase 集群的服務信息,如圖 8,列出了 HBase 的簡要信息,包括 HBase 集群狀態 (Start/Stop),HBase Master 節點及進程號,平均 Load 數,HBase 集群中生存的 Region Server 個數,死亡的 Region Server 個數等。

圖 6. HBase 服務狀態監控

圖 7. HBase Master 服務狀態監控及啟停

圖 8. HBase Region Servers 服務狀態監控及啟停

此外,BigInsights 提供了統一的命令行接口對集群的組件進行管理。用戶可以方便的使用命令行來檢查 HBase 集群使用的健康狀態,增加和刪除 HBase 節點 , 啟動、停止某個服務,或者查詢服務的狀態等。#p#

檢查 HBase 組件的健康狀態

您可以 BigInsights 管理節點上通過以下命令來驗證 HBase 集群的健康狀態:

  1. $/bin/sh $BIGINSIGHTS_HOME/bin/healthcheck.sh hbase 

同步 HBase 的配置文件

作為集群管理人員,通常需要修改配置參數來調優 HBase 的集群性能,或者修改相關配置,所有的這些操作都需要修改 HBase 的配置文件,如 hbase-site.xml. regionservers, hbase-env.sh, hadoop-metrics.properties 或者 log4j.properties,BigInsights 集群管理為各組件提供統一的配置文件同步功能,以保證統一之組件在所有節點上配置的一致性。您可以通過以下命令來同步 HBase 配置文件:

1. 您可以在 BigInsights 管理節點的 $BIGINSIGHTS_HOME/hdm/components/hbase/conf/ 目錄下更新 HBase 配置文件 

2. 在 BigInsights 管理節點上通過運行以下命令同步所有的節點的 HBase 配置文件:

  1. $/bin/sh $BIGINSIGHTS_HOME/bin/syncconfig.sh  

hbase 增刪 HBase 節點

BigInsights 平臺支持增刪 HBase 節點的功能。 

1. 增加節點 

您可以在 BigInsights 管理節點上運行以下命令來增加一個或多個節點到 HBase 集群中:

  1. $/bin/sh $BIGINSIGHTS_HOME/bin/addnode.sh hbase node1 -type=master 
  2. $/bin/sh $BIGINSIGHTS_HOME/bin/addnode.sh hbase node1 -type=regionserver 

其中 node1 可以是 IP 地址也可以是 hostname. 

2. 刪除節點 

您可以在 BigInsights 管理節點上運行以下命令來從 HBase 集群中刪除一個或多個節點,刪除 HBase 節點只會刪除 HBase 服務,不會刪除任何數據。

  1. $/bin/sh $BIGINSIGHTS_HOME/bin/removenode.sh hbase  

其中 node1 可以是 IP 地址也可以是 hostname. 

啟停和查看 HBase 服務

您可以在 BigInsights 管理節點上運行以下命令來啟動 HBase 集群服務:

  1. $/bin/sh $BIGINSIGHTS_HOME/bin/start.sh hbase  

您可以在 BigInsights 管理節點上運行以下命令來停止 HBase 集群服務:

  1. $/bin/sh $BIGINSIGHTS_HOME/bin/stop.sh hbase  

查看 HBase 服務: 

您可以在 BigInsights 管理節點上運行以下命令來查看 HBase 集群服務狀態:

  1. $/bin/sh $BIGINSIGHTS_HOME/bin/status.sh hbase  

#p#

HBase Master 多結點高可用支持

我們可以在 HBase 集群中啟動多個 Master 節點,其中***個啟動的節點作為活躍 (Active)Master 對外提供服務,而其他的作為備份 (Backup)Master 節點;實際上,HBase 通過 Zookeeper 來保存活躍 Master 節點信息,一旦當前活躍 Master 節點由于硬件故障或者斷電等原因失去連接,備份 Master 會通過 Zookeeper 收到該信息,并選舉產生新的活躍 Master 提供服務。接下來將詳細描述如何通過 BigInsights 啟動多個 Master 并進行狀態監控。

1. 通過命令行模式添加 / 啟動 / 監控 HBase Master

A) 登錄 BigInsights 管理節點,查看當前 HBase 集群狀態 

  1. [biadmin@bdvm070 ~]$ status.sh hbase 
  2. [INFO] Progress - Status hbase 
  3. [INFO] @bdvm070.svl.ibm.com - hbase-master(active) started, pid 18157 
  4. [INFO] @bdvm071.svl.ibm.com - hbase-regionserver started, pid 12072 
  5. [INFO] Deployer - hbase service started 
  6. [INFO] Progress - 100% 
  7. [INFO] DeployManager - Status; SUCCEEDED components: [hbase]; Consumes : 9699ms 

B) 添加 bdvm071 為備用 Master 節點 

  1. [biadmin@bdvm070 ~]$ addnode.sh hbase bdvm071.svl.ibm.com -type=master 
  2. [INFO] DeployManager - Check SSH setup on [bdvm071.svl.ibm.com] 
  3. [INFO] @bdvm071.svl.ibm.com - OK, password-less SSH has setup. 
  4. ... 
  5. [INFO] DeployManager - Add hbase nodes; SUCCEEDED components: [hbase]; Consumes : 0ms 

C) 啟動備用 Master 節點 

  1. [biadmin@bdvm070 ~]$ start.sh hbase  
  2. [INFO] Progress - Start hbase  
  3. [INFO] Deployer - make sure zookeeper service is started before start hbase service  
  4. [INFO] @bdvm070.svl.ibm.com - hbase-master(active) already running, pid 18157  
  5. [INFO] @bdvm071.svl.ibm.com - hbase-master(backup) started  
  6. [INFO] @bdvm071.svl.ibm.com - hbase-regionserver already running, pid 12072  
  7. [INFO] Deployer - hbase service started  
  8. [INFO] Progress - 100%  
  9. [INFO] DeployManager - Start; SUCCEEDED components: [hbase]; Consumes : 14110ms  

D) 重新查看 HBase 集群狀態 

  1. [biadmin@bdvm070 ~]$ status.sh hbase  
  2. [INFO] Progress - Status hbase  
  3. [INFO] @bdvm070.svl.ibm.com - hbase-master(active) started, pid 18157  
  4. [INFO] @bdvm071.svl.ibm.com - hbase-master(backup) started  
  5. [INFO] @bdvm071.svl.ibm.com - hbase-regionserver started, pid 12072  
  6. [INFO] Deployer - hbase service started  
  7. [INFO] Progress - 100%  
  8. [INFO] DeployManager - Status; SUCCEEDED components: [hbase]; Consumes : 14382ms  

E) 停止當前活躍 Master 節點并查看 HBase 集群狀態 

  1. [biadmin@bdvm070 ~]$ $HBASE_HOME/bin/hbase-daemon.sh stop master  
  2. stopping master.  
  3. [biadmin@bdvm070 ~]$ status.sh hbase  
  4. [INFO] Progress - Status hbase  
  5. [INFO] @bdvm070.svl.ibm.com - hbase-master stopped  
  6. [INFO] @bdvm071.svl.ibm.com - hbase-master(active) started, pid 19840  
  7. [INFO] @bdvm071.svl.ibm.com - hbase-regionserver started, pid 12072  
  8. [INFO] Deployer - hbase service started  
  9. [INFO] Progress - 100%  
  10. [INFO] DeployManager - Status; SUCCEEDED components: [hbase]; Consumes : 52069ms  

通過上述操作我們可以看到,通過命令行可以在 BigInsights 集群中隨時添加備份 Master 并進行 Master 的啟停 / 監控。另外需要注意的是,備份 Master 檢測到活躍 Master 宕機并切換為活躍 Master 需要一定的時間,因此在實際集群使用過程當中應當盡量避免主動停止當前活躍 Master 進程的操作。下面給出上述操作序列在 BigInsights Web 管理頁面的監控情況。

2. BigInsights Web 管理頁面監控 HBase 集群狀態

A) 添加備用 Master 前 HBase Master 運行狀態

圖 9. 添加備用 Master 前 HBase Master 運行狀態

B) 添加備用 Master 并啟動后 HBase Master 運行狀態

圖 10. 添加備用 Master 后 HBase Master 運行狀態

C) 停止當前活躍 Master 后 HBase Master 運行狀態

圖 11. 停止當前活躍 Master 后 HBase Master 運行狀態

D) 再次啟動已停止的 Master 節點之后 HBase Master 運行狀態(由于此時已有活躍 Master,重新啟動的 Master 節點將作為備用 Master)

圖 12. 再次啟動已停止的 Master 節點之后 HBase Master 運行狀態

通過 BigInsights Web 管理頁面也可以方便的啟動 / 停止指定的 Master 節點,具體步驟請參考相關章節,此處不再贅述。#p#

反向代理 HBase UI

Reverse proxy 是 BigInsights 提供的反向代理工具,可以對 BigInsights 中所擁有 UI 界面的服務組件進行反向代理連接支持。(注意:此功能僅在 BigInsights Enterprise 版本里提供。)

圖 13. Reverse proxy 管理 HBase 頁面

例如,在打開 Reverse proxy 管理頁面之后,利用 Reverse proxy 提供的 URL 和 Alias 映射功能,能夠簡便地將服務 UI 通過直觀的鏈接來重定向打開。

通過 Reverse Proxy 頁面,點擊“hbase-master”可以直接打開 HBase Master 管理頁面。

圖 14. 打開 HBase Master 管理頁面

通過 Reverse Proxy 頁面,點擊“hbase-regionserver”可以直接打開 HBase Regionserver 管理頁面。

圖 15. 打開 HBase Region Server 管理頁面

#p#

查看 HDFS 中的 HBase

通過管理 HDFS 中的 HBase 頁面,可以直接查看 HBase 在 HDFS 中的使用情況,包括 -ROOT-, .META., logs, BigInsights Monitoring 的監控信息, hbase.id, hbase.version, splitlog, 點擊“hbase”可以查看 HBase 目錄大小,用戶和目錄權限等,如圖。

圖 16. 圖形化管理 HDFS 中的 HBase

提交 HBase 應用程序

BigInsights 提供簡單的 HBase 應用 demo,通過“Application”中的 HBase 頁面打開。根據需要,用戶可以選擇其中的 HBase 應用程序發布和運行。(注意:此項功能僅在 BigInsights Enterprise 版本里提供。)

圖 17. HBase 應用程序

圖 18 描述了一個簡單的 HBase 的應用的發布與運行,此應用程序將自動完成表導出成 CSV 格式。

圖 18. 運行 HBase 導出表應用程序

輸入必要的參數后,如執行操作的名稱,表名,Row 鍵值,要取得的 record 數目等,HDFS 中的輸出格式,輸出目錄等,點擊運行按鈕,作業將被提交到 BigInsight 的 HBase 集群上運行,作業運行的詳細情況可以通過 Application status 頁面監視

圖 19. 查看程序運行狀態

從該頁面可以查看作業名稱,配置文件,作業開始的運行時間以及結束的時間,并且能夠方便的查看作業執行的狀態。

責任編輯:黃丹 來源: developerWorks
相關推薦

2023-08-22 13:16:00

分布式數據庫架構數據存儲

2017-04-17 09:54:34

分布式數據庫PhxSQL

2023-09-11 11:22:22

分布式數據庫數據庫

2021-12-20 15:44:28

ShardingSph分布式數據庫開源

2023-12-05 07:30:40

KlustronBa數據庫

2023-07-31 08:27:55

分布式數據庫架構

2023-07-28 07:56:45

分布式數據庫SQL

2023-11-14 08:24:59

性能Scylla系統架構

2022-06-09 10:19:10

分布式數據庫

2022-03-10 06:36:59

分布式數據庫排序

2023-03-07 09:49:04

分布式數據庫

2020-06-23 09:35:13

分布式數據庫網絡

2022-08-01 18:33:45

關系型數據庫大數據

2024-09-09 09:19:57

2011-05-19 09:18:48

分布式數據庫

2020-04-14 11:14:02

PostgreSQL分布式數據庫

2022-09-28 09:12:16

HBase分布式數據庫數據庫

2024-03-11 08:57:02

國產數據庫證券

2021-10-26 00:33:00

分布式數據庫系統

2022-12-14 08:00:00

數據庫分布式數據庫隔離
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美中文字幕在线观看 | 免费不卡av | 啪啪免费网站 | 中文字幕在线播放第一页 | 99视频入口 | 国产美女一区二区 | 亚洲一区视频在线 | 国产中文区二幕区2012 | 91在线中文字幕 | 日本免费一区二区三区四区 | 美女一区 | 国产成人精品午夜视频免费 | 久久这里只有精品首页 | 五月免费视频 | 成人在线视频网站 | 91国内精品久久 | 999国产视频 | 精品日韩在线观看 | 欧美精品一区二区三区四区 在线 | 久久国产精品久久久久久久久久 | 亚洲高清av在线 | 一级女毛片 | av中文字幕在线观看 | 国内精品久久久久久久影视简单 | 国产在线激情视频 | 欧美国产91 | 国产精品成人国产乱一区 | 蜜桃av鲁一鲁一鲁一鲁 | 日韩视频区 | 亚洲欧洲综合av | 成人免费视频在线观看 | 美日韩中文字幕 | www.av在线 | 成人免费黄色 | 久久精品国产免费 | 亚洲热在线视频 | 国产精品99久久久久久久久 | 欧美精品久久久久 | 欧美一级在线观看 | 91视频在线 | 国产高清在线 |