新增節點
基礎準備
主要是設置hadoop運行的系統環境,主要包括
- 系統相關(yum源配置、安裝psmisc軟件、時間同步配置、LVM配置、防火牆設置),根據需要可選擇性實施;
- 配置主機名;
- 修改hosts文件,配置IP和主機名之間映射關係,將集羣所有節點都配置進去(集羣所有節點保持hosts文件統一);
- 新節點中添加賬戶,設置無密碼登陸;
- 設置新DataNode節點與其它服務器節點之間的免密碼登錄(ssh-copy-id命令實現);
- 將新DataNode節點的主機名添加到所有節點的workers文件中;
- 安裝jdk;
- 在新節點上安裝hadoop(包括:將hadoop的配置文件scp到新節點上,配置環境變量,新節點上新建數據log存儲目錄)。
ssh-copy-id master;ssh-copy-id master2;ssh-copy-id worker1;ssh-copy-id worker2;ssh-copy-id worker3;ssh-copy-id worker4;ssh-copy-id worker5;ssh-copy-id worker6;ssh-copy-id worker7;ssh-copy-id worker8;ssh-copy-id worker9;ssh-copy-id worker10;ssh-copy-id worker11;ssh-copy-id worker12;ssh-copy-id worker13;ssh-copy-id worker14;
添加DataNode
在新增的節點上啓動DataNode進程,從而將其加入集羣
hdfs --daemon start datanode
然後在namenode節點通過如下命令查看集羣HDFS存活的節點
hdfs dfsadmin -report
或者在HDFS Web頁面查看是否新增了節點
添加NodeManager
在新增的節點上啓動NodeManager進程,從而將其加入集羣
yarn --daemon start nodemanager
然後在ResourceManager節點通過如下命令查看YARN各節點狀態
yarn node -list
或者在YARN Web頁面查看是否新增了節點
刷新節點&HDFS負載均衡
在namenode節點上執行如下命令,刷新集羣節點
hdfs dfsadmin -refreshNodes
如果不balance,那麼cluster會把新的數據都存放在新的node上,這樣會降低mapred的工作效率
1)可以設置balancer的帶寬,默認只有1M/s,通過下面的命令也可以設置平衡時使用的網絡帶寬(字節/秒),例如設置爲10M/s
hdfs dfsadmin -setBalancerBandwidth 10485760
2)可以設置balancer平衡閾值,默認threshold是10%,值越低各節點負載越均衡,但消耗時間也更長,例如設置爲5%,即如果某個datanode的磁盤裏使用率比平均水平高出5%,Blocks向其他低於平均水平的datanode中傳送, 也就是每個節點使用率相差不超過5%。
start-balancer.sh -threshold 5
等待集羣自均衡完成即可。
刪除節點
待補充。