你的位置:首页 > 数据库

[数据库]Spark集群新增节点方法


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集群增加新节点完毕。