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

HBase集群管理

大數據
如何在集群運行的時候以最小的代價來執行這些操作呢?下面總結一下HBase集群的相關運維和管理知識點。

通過之前文章的描述,我們已經有能力設計并部署搭建HBase集群了

當我們的HBase集群開始運行的時候,新的挑戰又來了

例如,我們可能會遇到在集群運行的時候添加或者刪除節點

又或者需要拷貝/備份整個集群的數據等等

如何在集群運行的時候以最小的代價來執行這些操作呢?

下面總結一下HBase集群的相關運維和管理知識點

運維任務

添加/刪除節點

在HBase中動態添加/刪除節點非常簡單,只需要一些命令操作即可,HBase會自動幫你處理節點上下線需要做的事情

添加節點

1.修改conf目錄下的regionservers文件,將新節點的主機名另起一行添加進去

2.復制該文件到集群中的所有機器

3.啟動該機器完成節點的添加

節點啟動之后會在ZK上注冊創建對應的znode, 然后它會加入集群被分配region等

啟動該節點的方式有兩種:

  • master節點上執行start-hbase.sh腳本,其會檢查regionservers文件并跳過已經啟動的子節點,將其中未啟動的節點啟動
  • 對應的子節點上執行hbase-daemon.sh start regionserver命令,隨后該機器上的RegionServer服務啟動

刪除節點

首先到需要停止運行的機器上執行:

  1. hbase-daemon.sh stop regionserver 

隨后該節點關閉所有region,停止進程

ZK中的znode臨時節點將會過期,master會注意到該region服務器停止了, 并按照故障處理的流程將該機器上的所有region重新分配到其他機器上

下線節點需要注意兩點:

1.如果負載均衡進程正在執行,請先停止,因為其可能會和master轉移region產生競爭

2.如果該節點上的數據量很大,移動region的過程可能很漫長

另外,在HBase0.90.2以上的版本中可以使用graceful_stop.sh hostname來下線節點

顧名思義,該腳本可以讓節點的下線過程變得“優雅”起來:將region從對應的服務器上一個個移動出來以減少擾動

添加備份master節點

由于HBase本身并沒有自動提供像HDFS那樣的Namenode雙節點方案,所以一個潛在的風險就是單點故障問題

但是HBase允許我們手動啟動一個備份的master節點來避免這個問題

多個master節點存在的情況下,它們會競爭ZK中專用的znode,***個競爭到的master來提供服務

其余的master進程只是輪詢檢查這個znode,當它消失時再次競爭

我們可以在集群中的另外一臺配置一樣的機器上啟動備用master:

  1. hbase-daemon.sh start master 

從0.90.x版本開始,也可以在conf目錄下的backup-master文件來執行備用服務器

編輯方式和regionservers一樣

該文件中的master會在集群中的主master和regionserver都啟動之后才會啟動

由于master只被設計為集群運行時的協調者,并不占用太多資源

所以啟動多個備用master并沒有什么影響,反而啟動太少可能會留下隱患

建議啟動兩到三個備用master比較合適

數據遷移任務

導入和導出

HBase的jar包中包含了兩個以MapReduce作業形式來導入導出數據的工具

使用方式為:

  1. hadoop jar ${hbase.jar} export ${tablename} ${outputdir} 

該工具其余的參數可以做到增量導出、控制導出的數據版本等功能,具體使用請看jar包的幫助信息

導出的數據將會存儲在HDFS指定的目錄上,之后可以使用hadoop distcp命令拷貝到其他集群上,并在該集群上進行導入操作

需要注意的是,導出的表和導入的表需要有相同的表模式

將export導出的文件數據導入到hbase中,使用方式如下:

  1. hadoop jar hbase-server-*.jar import -D <propertyproperty=value>* 表名 生成文件路徑 

其中-D后面的參數包括但不限于為以下幾個

HBASE_IMPORTER_RENAME_CFS:重命名列族,格式為”舊列族名:新列族名”

  • import.filter.class:指定過濾器類型,在數據寫入前進行過濾
  • import.filter.args:指定過濾器之后提供的參數
  • import.bulk.output:指定了該參數之后不會直接寫入數據,而是生成hfile文件用于bulkload

可能會有人注意到,其實我們是可以直接使用hadoop distcp命令將HDFS上的hbase根目錄整個拷貝到其他集群中

但是這個做法并不推薦, 因為這個操作會忽略文件的狀態和內存中還沒有被刷寫的數據

CopyTable工具

另一個導出HBase表數據的工具是CopyTable,該工具的使用方式很簡單,參考幫助信息中的例子即可操作

其是通過mr程序將數據逐條put到目標表中的(TableInputFormat和TableOutputFormat)

使用方式如下:

  1. hadoop jar hbase-server-*.jar copytable -D <propertyproperty=value>

-D的參數涵括但不限于以下幾個

  • –startrow=起始Rowkey
  • –stoprow=終止Rowkey
  • –starttime=起始時間戳
  • –endtime=終止時間戳
  • –versions=保留的版本數
  • –all.cells=是否拷貝刪除標記的數據
  • –new.name=目標表名
  • –peer.adr=目標zk-ip:zk-port:hbase在zk中的根目錄, 必須指定
  • –families=舊列族名:新列族名,如果一致則指定一個即可
  • 表名

批量導入

批量導入可以有多種不同的形式,常見的是使用MapReduce和普通的客戶端API

但是這兩種方式都不高效,這里推薦另外一種做法:blukload

blukload是一種將數據文件(可能是普通的文本文件)導入到hbase中的一種工具

其運作流程是:

1.讀取數據文件,格式為Rowkey+\t+col1數據+\t+col2數據…

2.將數據文件轉換為hfile文件

3.讀取hfile文件導入hbase

使用方式1

數據文件可以是由程序生成的

使用

  1. hadoop jar hbase-server-*.jar importtsv 列名參數 表名 數據文件位置 

直接將數據文件導入hbase,其中列名參數具體為 -Dimporttsv.columns=HBASE_ROW_KEY,”列族名:列名”…

使用方式2

編寫mr程序讀源hbase庫,生成hfile文件,OutputFormat要設置為HFileOutputFormat類

之后使用

  1. hadoop jar hbase-server-*.jar completebulkload mr結果文件目錄 表名 

將hfile文件導入目標hbase數據庫

注意,該mr程序可以只有mapper過程,輸出的 類型為ImmutableBytesWritable和KeyValue

復制

hbase中的replication相當于mysql中的主從同步技術,RegionServer會在后臺啟動一個進程不斷put或者delete到同步的集群上

比較適合小集群的熱備

使用replication需要在hbase-site.xml文件中配置以下選項:

配置完畢之后在hbase shell中設置replication的信息:

  1. add_peer '1','目標zk-ip:zk-port:hbase在zk中的根目錄' 

之后可以通過list_peer命令查看設置的replication

集群遷移方法對比

改變日志級別

默認HBase的日志是DEBUG級別的,這在安裝和設計階段比較有用

它可以讓用戶在系統出現問題的時候在日志文件中搜尋到比較多的信息

生產環境中用戶可以根據需要修改日志的級別為INFO或者WARN

修改方式如下:

編輯conf目錄下的log4j.properties文件

將log4j.logger.org.apache.hadoop.hbase=INFO

責任編輯:趙寧寧 來源: 小黑的博客
相關推薦

2022-09-06 14:23:53

zookeeperHbase

2017-01-17 10:25:06

HBase集群運維

2020-09-08 13:25:52

HBase分布式數據庫

2015-07-15 14:38:38

HBase集群崩潰恢復Hadoop

2018-08-29 14:45:47

VMware協助管理

2021-04-13 18:17:48

Hbase集群配置

2020-07-08 08:03:37

KubernetesLens集群

2017-07-04 10:39:21

hadoop hbas數據塊啟動

2022-01-17 11:05:11

CFSSLKubernetesLinux

2023-03-01 13:52:00

TerraformOpenStack運維

2013-11-22 09:57:03

hadoop1.2.1zookeeper-3hbase-0.94.

2016-09-06 19:21:58

青云QingCloudHBase

2022-05-24 09:00:00

云計算Kubernetes安全

2021-02-07 08:00:00

Kubernetes集群云原生

2017-01-11 16:57:51

大數據大數據集群監控

2020-04-09 11:56:10

Elasticsear集群硬件

2021-11-22 16:21:28

Kubernetes 運維開源

2022-08-09 09:10:43

Kubernetes容器

2020-06-15 14:31:26

Google容器Kubernets

2017-09-13 09:48:27

WSSSOFS集群存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区三区在线观看 | 特黄一级 | 热re99久久精品国99热观看 | 国产精品揄拍一区二区久久国内亚洲精 | 在线免费av观看 | 国产精品久久久久一区二区三区 | 永久免费在线观看 | 北条麻妃一区二区三区在线观看 | 日本高清视频在线播放 | 二区三区在线观看 | 春色av| 日韩一区二区福利视频 | 亚洲欧洲在线观看视频 | 不卡一区二区三区四区 | 夜夜夜操 | 国产一区 日韩 | 黄网免费| 国产色网站 | 国产成人jvid在线播放 | 成人在线视频免费观看 | 欧美视频福利 | 热久久性 | 伊人色综合久久久天天蜜桃 | 九色在线视频 | 一区二区视频 | 国产成人网 | 成人在线一区二区 | 精品国产一级 | 亚洲欧洲一区二区 | 综合国产| 中文字幕精品一区 | 亚洲一区二区av | 国内精品免费久久久久软件老师 | 国产欧美日韩综合精品一区二区 | 欧美日韩一区二区在线 | 国产精品毛片一区二区三区 | 久久精品视频一区二区三区 | 992人人草 | 少妇淫片aaaaa毛片叫床爽 | 国产精品欧美大片 | 亚洲有码转帖 |