hadoop+Spark+hbase集群動態增加節點
阿新 • • 發佈:2018-07-02
控制臺 完成 卸載 nag block cluster dfs clust width 分布式系統的一個優勢就是動態可伸縮性,如果增刪節點需要重啟那肯定是不行的。後來研究了一下,發現的確是不需要重啟集群,直接在新增的節點上分別啟動以下進程即可:以hadoop、spark和hbase為例:
一、hadoop增加datanode節點
因為1.x版本和2.x版本有比較大的差異,我這裏是以2.7為例。
在namenode節點上,將hadoop-2.7復制到新節點上,並在新節點上刪除data和logs目錄中的文件。
1、增加hdfs數據節點datanode
在此節點上啟動hdfs:
./sbin/hadoop-daemon.sh start datanode # (後臺模式) 或 ./bin/hdfs datanode # (控制臺模式)
2、下次自動啟動,
修改集群裏機器的所有$HADOOP_HOME/etc/hadoop/slaves配置文件,添加該節點。
3、刷新節點信息:
./bin/hdfs dfsdmin -refreshNodes
4、查看hdfs節點狀態:即有多少個節點
./bin/hdfs dfsadmin –report
5、啟動後可以均衡數據,使用命令
./sbin/start-balancer.sh
如果不balance,那麽cluster會把新的數據都存放在新的node上,這樣會降低工作效率:
查看hdfs節點狀態:
hdfsdfsadmin –report 1048576(=1Mb/s) 104857600(=100Mb/s) hdfsdfsadmin -setBalancerBandwidth 104857600
#設置不同節點之間復制數據的帶寬是受限的,默認是1MB/s
start-balancer.sh -threshold 1
#設置如果某個datanode的磁盤裏使用率比平均水平高出1%,Blocks向其他低於平均水平的datanode中傳送, 也就是每個節點使用率相差不超過1%。
或者:
start-balancer.sh
stop-balancer.sh
6、卸載節點
卸載節點一般不建議直接停掉,需要先將其排除在集群之外,
編輯配置文件:$HADOOP_HOME/etc/hadoop/hdfs-core.xml
<property> <name>dfs.hosts</name> <value>.../etc/hadoop/datanode-allow.list</value> </property> <property> <name>dfs.hosts.exclude</name> <value>.../etc/hadoop/datanode-deny.list</value> </property>
在datanode-deny.list中 加入要卸載的節點名稱
刷新節點信息:
./bin/hdfs dfsdmin -refreshNodes # 會看到節點變成Dead和Decommissioned狀態
最後再停止節點:
./sbin/hadoop-daemon.sh stop datanode
7、增加NodeManager任務節點
####啟動:
./sbin/yarn-daemon.sh start nodemanager # (後臺模式)
或
./bin/yarn nodemanager # (控制臺模式)
####停止:
./sbin/yarn-daemon.sh stop nodemanager
二、spark新增worker節點
1、增加一個節點就是在該節點執行:
./sbin/start-slave.sh spark://<master>:7077
就完成了新節點的註冊和加入集群。
2、新增節點啟動驗證
執行jps命令,slave可以看到Worker進程
3、查看Spark UI
看到Workers中有新增節點
4、停止節點:
./sbin/stop-slave.sh
之後在master的管理端會顯示這個節點已經“死掉”了。然而這條信息會一直顯示到重啟master為止。
5、希望下次自動啟動這個新節點,
把這個節點名稱加入到$SPARK_HOME/conf/slaves文件裏。
三、hbase新增RegionServer
1、啟動HRegionServer進程
hbase-daemon.shstart regionserver
2、啟動HquorumPeer進程
hbase-daemon.shstart zookeeper
3、查看集群狀態
hbase shell中輸入status
4、負載均衡:
hbase shell中輸入:balance_switch true
hadoop+Spark+hbase集群動態增加節點