Hadoop與HBase的一些特殊操作命令

2021-06-25 22:27:57 字數 2621 閱讀 7819

hadoop與

hbase

的一些特殊操作命令

1.將hbase

資料庫中的表匯出到

hdfs

中的命令:

hbase org.apache.hadoop.hbase.mapreduce.export []

2.載入匯出的資料回到hbase

的命令:

hbase org.apache.hadoop.hbase.mapreduce.import 

注意:匯入時表必須存在,匯出的路徑可以使本地系統也可以是hdfs,如果匯出到本地系統,建議使用:file:///

3.completebulkload 實用工具可以將產生的儲存檔案移動到

hbase

表。該工具經常和

section 「

importtsv

」 的輸出聯合使用。

兩種方法呼叫該工具,帶顯式類名或通過驅動:

$ bin/hbase org.apache.hadoop.hbase.mapreduce.loadincrementalhfiles  

.. 通過驅動..

hadoop_classpath=`$/bin/hbase classpath` $/bin/hadoop jar $/hbase-version.jar completebulkload 

4.rowcounter 實時工具可以統計表的行數。可以用來確認

hbase

可以讀取表的所有分塊

hbase org.apache.hadoop.hbase.mapreduce.rowcounter [. . . ]

5.合併

hbase org.apache.hbase.util.merge 

note:merge must run be done when the cluster is down

6.節點下線

hbase-daemon.sh stop regionserver

在下線節點前要停止load balancer

要下線一台regionserver

可以這樣做

,當執行

graceful_stop

指令碼的時候,要將

region load balancer

關掉(否則

balancer

和下線指令碼會在

region

部署的問題上存在衝突)

graceful_stop.sh hostname

7.關閉和開啟load balancer

hbase> balance_switch false //關閉

hbase> balance_switch true //開啟

8.依次重啟

你還可以讓這個指令碼重啟乙個regionserver,

不改變上面的

region

的位置。要想保留資料的位置,你可以依次重啟

(rolling restart),

就像這樣:

$ for i in `cat conf/regionservers|sort`; do ./bin/graceful_stop.sh --restart --reload --debug $i; done &> /tmp/log.txt &

tail /tmp/log.txt來看指令碼的執行過程

.上面的指令碼只對

regionserver

進行操作。要確認

load balancer

已經關掉。還需要在之前更新

master

。下面是一段依次重啟的偽指令碼,

確認你的版本,保證配置已經rsync

到整個集群中。如果版本是

0.90.2

,需要打上

hbase-3744 

和 hbase-3756

兩個補丁。

執行hbck

確保你的集群是一致的

$ ./bin/hbase hbck

當發現不一致的時候,可以修復他。

重啟master:

$ ./bin/hbase-daemon.sh stop master; ./bin/hbase-daemon.sh start master

關閉region balancer:

$ echo "balance_switch false" | ./bin/hbase

在每個regionserver

上執行graceful_stop.sh:

$ for i in `cat conf/regionservers|sort`; do ./bin/graceful_stop.sh --restart --reload --debug $i; done &> /tmp/log.txt &

如果你在regionserver

還開起來

thrift

和rest server

。還需要加上

--thrift or --rest 

選項 (

參見 graceful_stop.sh 

指令碼的用法).

再次重啟master.

這會把已經死亡的

server

列表清空,重新開啟

balancer.

執行 hbck 

保證集群是一直的

一些簡單的hbase語法

建立namespace mydemo 相當於建立乙個資料庫 create namespace mydemo 在namespace中建立乙個表 userinfos 表中有乙個列簇 base create mydemo.userinfos base 檢視所有表名 list 在列簇中插入資料 put my...

hadoop的一些基本用法

1 檢視指定目錄下內容 hadoop dfs ls 檔案目錄 eg hadoop dfs ls user 2 開啟某個已存在檔案 hadoop dfs cat file path eg hadoop dfs cat user susu 3 將本地檔案儲存至hadoop hadoop fs put 本...

Hadoop入門的一些基礎

hadoop 是乙個分布式的計算開源框架,提供了乙個分布式檔案系統子專案 hdfs 和支援mapreduce分布式計算的軟體架構 hive 是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,通過類sql語句快速實現簡單的map reduce統計,不必開發專門的mapre...