Spark集群處理能力不足需要擴容,如何在現有spark集群中新增新節點?本文以一個實例介紹如何給Spark集群新增一個節點。
1. 集群環境
現有Spark集群包括3台機器,用戶名都是cdahdp,主目錄/home/ap/cdahdp,配置是2C8G虛擬機,集群基於yarn架構。
Master:128.196.54.112/W118PC01VM01
Slave1:128.196.54.113/W118PC02VM01
Slave2:128.196.54.114/W118PC03VM01
相關軟件版本:jdk1.7、scala2.10.4、hadoop2.6.0、spark1.1
現在需要新增一個節點:128.196.54.115/W118PC04VM01,2C8G
首先停止當前集群:停止spark,停止hdfs和yarn。
2. 新節點要求
(1)新節點需要增加用戶cdahdp,主目錄/home/ap/cdahdp。與集群現有機器一致。
(2)修改所有節點的/etc/hosts文件,更新新節點的ip hostname配置。
(3)配置ssh,使新節點與集群中各節點能夠無密碼互相ssh登錄。
(4)在新節點上安裝jdk、scala、hadoop和spark。其版本,安裝目錄,環境變量設置與集群中現有節點保持一致。比如可以直接從集群節點賦值。
3. 配置文件修改
(1)修改$HADOOP_HOME/etc/hadoop/slaves文件,增加新節點作為slave節點。
(2)修改$SPARK_HOME/conf/slaves文件,增加新節點作為slave節點。
(3)格式化新節點的namenode:
cd $HADOOP_HOME/bin
./hdfs namenode -format
4. 啟動新集群
啟動hdfs,yarn,以及spark。
cd $HADOOP_HOME/sbin
./start-dfs.sh && ./start-yarn.sh
cd $SPARK_HOME/sbin
./start-all.sh
擴容以前:
擴容以后:
5. 集群的負載均衡
(1)查看HDFS集群的基本信息:執行hadoop dfsadmin -report
(2)負載均衡:在$HADOOP_HOME/sbin/下執行start-balancer.sh
說明:balancer操作是一個較慢的過程,所以在后台執行。balance過程中,數據在各節點之間遷移的速度默認是1M/s。
負載均衡之前:
執行負載均衡:
負載均衡之后:
至此,在spark集群增加新節點完畢。