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...