Spark集群配置
机器准备
准备两台以上linux服务器,安装好JDK1.8
下载Spark安装包
解压安装包到指定目录
配置Spark【Standalone】
Spark 的部署模式有 Local、Local-Cluster、Standalone、Yarn、Mesos,我们选择最具代表性的 Standalone 集群部署模式。
进入到Spark安装目录
- 将conf目录下的slaves.template复制为slaves,将slave节点的主机名写入
- 将conf目录下的spark.env.sh.template复制为spark.env.sh,编写SPARK.MASTER.HOST SPARK.MASTER.PORT
- 将整个目录分发到slave节点上
- 在master节点上执行sbin/start-all.sh启动整个集群
- 通过http://lmaster:8080来访问spark的http界面,注意之前设置的PORT是服务端口号
测试一下,进入spark-shell执行以下wordcount
#$bin/spark-shell --master spark://namenode:7077
scala>sc.textFile("./LICENSE").flatMap(_.split(" "))map((_,1)).reduceByKey(_+_).collect
配置Spark【Yarn】
修改 Hadoop配置下的 yarn-site.xml:
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>master01</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true --> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是 true --> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> </configuration> |
修改 Spark-env.sh 添加:
HADOOP_CONF_DIR=/home/bigdata/hadoop/hadoop-2.7.2/etc/hadoop YARN_CONF_DIR=/home/bigdata/hadoop/hadoop-2.7.2/etc/hadoop |
让 Spark 能够发现 Hadoop 配置文件
最后别忘了启动yarn(不需要启动spark集群就可以进行spark程序执行)