hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)
1.2.4集群運(yùn)維測試
HA集群中兩個(gè)namenode狀態(tài)的管理命令
[root@mini2 hadoop-2.6.4]# bin/hdfs haadmin Usage: DFSHAAdmin [-ns <nameserviceId>] ??? [-transitionToActive <serviceId> [--forceactive]] ??? [-transitionToStandby <serviceId>] ??? [-failover [--forcefence] [--forceactive] <serviceId> <serviceId>] ?? ?[-getServiceState <serviceId>] ??? [-checkHealth <serviceId>] ??? [-help <command>] |
?
示例: 切換nn2為active
bin/hdfs haadmin -transitionToActive nn2--forcemanual
1、Datanode動(dòng)態(tài)上下線
Datanode動(dòng)態(tài)上下線很簡單,步驟如下:
a)?? 準(zhǔn)備一臺(tái)服務(wù)器,設(shè)置好環(huán)境
b)?? 部署hadoop的安裝包,并同步集群配置
c)?? 聯(lián)網(wǎng)上線,新datanode會(huì)自動(dòng)加入集群
d)?? 如果是一次增加大批datanode,還應(yīng)該做集群負(fù)載重均衡
(start-balancer.sh -threshold 8? ##指定磁盤利用率,詳情見下節(jié) 3)
?
2、Namenode狀態(tài)切換管理
使用的命令上hdfs? haadmin
可用 hdfs? haadmin –help查看所有幫助信息
?
可以看到,狀態(tài)操作的命令示例:
查看namenode工作狀態(tài)??
hdfs haadmin -getServiceState nn1 |
?
將standby狀態(tài)namenode切換到active
hdfs haadmin –transitionToActive nn1 |
?
將active狀態(tài)namenode切換到standby
hdfs haadmin –transitionToStandby nn2 |
?
?
3、數(shù)據(jù)塊的balance
啟動(dòng)balancer的命令:
start-balancer.sh -threshold 8
運(yùn)行之后,會(huì)有Balancer進(jìn)程出現(xiàn):
上述命令設(shè)置了Threshold為8%,那么執(zhí)行balancer命令的時(shí)候,首先統(tǒng)計(jì)所有DataNode的磁盤利用率的均值,然后判斷如果某一個(gè)DataNode的磁盤利用率超過這個(gè)均值Threshold,那么將會(huì)把這個(gè)DataNode的block轉(zhuǎn)移到磁盤利用率低的DataNode,這對(duì)于新節(jié)點(diǎn)的加入來說十分有用。Threshold的值為1到100之間,不顯示的進(jìn)行參數(shù)設(shè)置的話,默認(rèn)是10。
?
1.2.5 HA下hdfs-api變化
客戶端需要nameservice的配置信息,其他不變
/** ?* 如果訪問的是一個(gè)ha機(jī)制的集群 ?* 則一定要把core-site.xml和hdfs-site.xml配置文件放在客戶端程序的classpath下 ?* 以讓客戶端能夠理解hdfs://ns1/中? “ns1”是一個(gè)ha機(jī)制中的namenode對(duì)——nameservice ?* 以及知道ns1下具體的namenode通信地址 ?* @author ?* ?*/ public class UploadFile { ???????? ???????? public static void main(String[] args) throws Exception? { ???????? ???????? ???????? ???????? Configuration conf = new Configuration(); ???????? ???????? conf.set("fs.defaultFS", "hdfs://ns1/"); ???????? ???????? ???????? ???????? FileSystem fs = FileSystem.get(new URI("hdfs://ns1/"),conf,"hadoop"); ???????? ???????? ???????? ???????? fs.copyFromLocalFile(new Path("g:/eclipse-jee-luna-SR1-linux-gtk.tar.gz"), new Path("hdfs://ns1/")); ???????? ???????? ???????? ???????? fs.close(); ? ? ? ? ? ? ? ???????? } ? ? ? } |
?
?
?
?
?
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hadoop-HA集群搭建,启动Data
- 下一篇: HIVE的安装配置、mysql的安装、h