相比Hadoop的配置,Spark配置起来相对简单。本文结合自身的配置经验,写下配置Spark的过程。
准备工作
在正式配置之前,需要确定环境是否适合安装Spark集群。
- 确保已经安装JDK/JRE;
- 安装Hadoop(非必要);
- 确保已经安装SCALA;
- MASTER\SLAVE的IP地址已经配置在/etc/hosts中。
Spark配置
配置文件:spark-env.sh:
export JAVA_HOME=/home/appuser/jdk
export SCALA_HOME=/home/appuser/scala
export SPARK_HOME=/home/appuser/spark
export HADOOP_HOME=/home/appuser/hadoop
export HADOOP_CONF_DIR=/home/appuser/hadoop/etc/hadoop
export SPARK_MASTER_HOST=master
slaves:
slave1
slave2
slave3
分发到SLAVE节点
scp -r ~/spark-1.6.0-bin-hadoop2.6/ slave1:~/
scp -r ~/spark-1.6.0-bin-hadoop2.6/ slave2:~/
scp -r ~/spark-1.6.0-bin-hadoop2.6/ slave3:~/
启动Spark集群
~/spark-2.6.0-bin-hadoop2.6/sbin/start-all.sh
配置验证
HTTP登陆
在浏览器中输入:http://master:50070/ ,可以看到HDFS的相关配置信息及DataNode的活跃情况。
Spark-shell启动
启动Spark-shell,可以检测是否配置准确。当然,也可以使用Spark-submit提交Spark自带的例子,查看结果及运行情况。
注
- Work启动,但Http中没有Worker节点:说明Slave节点与Master的通讯出现问题,或Slave节点无法向Master注册,导致虽然Woker启动但不能在Master中找到。这时候需要检查/etc/hosts中的配置是否准确、合理;
- Woker启动失败,这种情况说明配置可能存在问题,需要仔细检查;
- 版主多次尝试在spark-env.sh中配置master-port\worker-port,但是都失败,具体原因探索中。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!