Spark快速入门系列(4) | Spark环境搭建—standalone(1) 集群的搭建

  大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,暱称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客主页:https://buwenbuhuo.blog.csdn.net/

  此篇为大家带来的是Spark环境搭建—standalone(1) 集群的搭建。
1


2
  构建一个由 Master + Slave 构成的 Spark 集群,Spark 运行在集群中。
  这个要和 Hadoop 中的 Standalone 区别开来. 这里的 Standalone 是指只用 Spark 来搭建一个集群, 不需要借助其他的框架.是相对于 Yarn 和 Mesos 来说的.

一. 集群角色的简单介绍

  Spark是基于内存计算的大数据并行计算框架,实际中运行计算任务肯定是使用集群模式,那么我们先来学习Spark自带的standalone集群模式了解一下它的架构及运行机制。

  • Standalone集群使用了分布式计算中的master-slave模型
  • master是集群中含有master进程的节点
  • slave是集群中的worker节点含有Executor进程

3

二. 集群规划

  假设集群中有三台节点,hadoop002,hadoop003,hadoop004

hadoop002 master
hadoop003 slave/worker
hadoop004 slave/worker

三. 修改配置

  • 1. 复制 spark, 并命名为spark-standalone
[bigdata@hadoop002 module]$ cp -r spark-2.1.1-bin-hadoop2.7 spark

4

  • 2. 进入配置文件目录conf, 配置spark-evn.sh
[bigdata@hadoop002 spark-standalone]$ cd conf/
[bigdata@hadoop002 conf]$ cp spark-env.sh.template spark-env.sh
[bigdata@hadoop002 conf]$ vim spark-env.sh

#指定默认master的ip或主机名
export SPARK_MASTER_HOST=hadoop002
#指定maaster提交任务的默认端口为7077    
export SPARK_MASTER_PORT=7077


5

  • 3. 修改 slaves 文件, 添加 worker 节点
[bigdata@hadoop002 conf]$ cp slaves.template slaves
[bigdata@hadoop002 conf]$ vim slaves

# 在slaves文件中配置如下内容:
hadoop002
hadoop003
hadoop004

6

  • 4. 在sbin/spark-config.sh中添加入JAVA_HOME变量
export JAVA_HOME=/opt/module/jdk1.8.0_144

8
  此处如果不添加会出现如下错误
10

  • 5. 分发spark

通过scp 命令将配置文件分发到其他机器上

scp -r /opt/module/spark hadoop003:/opt/module/
scp -r /opt/module/spark hadoop004:/opt/module/

7

  • 6. 启动 Spark 集群
[bigdata@hadoop002 spark]$ sbin/start-all.sh

9

12

  • 8. 测试运行
[bigdata@hadoop002 spark]$ bin/spark-submit \
 --class org.apache.spark.examples.SparkPi \
 --master spark://hadoop002:7077 \
 --executor-memory 1G \
 --total-executor-cores 2 \
 ./examples/jars/spark-examples_2.11-2.1.1.jar \
 100

13
  完成上述的操作 standalone集群模式就算是大概完成了。

四. 修改事项(修改记得所有的都要哦)

  • 1. 如果配置的有HADOOP_HOME的话
[bigdata@hadoop002 spark]$ sudo vim /etc/profile

配置spark环境变量(建议不添加,避免和Hadoop的命令冲突)
export  SPARK_HOME=/opt/module/spark
export  PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

[bigdata@hadoop002 spark]$ source /etc/profile

解决方案:

  • 1.把其中一个框架的sbin从环境变量中去掉
  • 2.改名 hadoop/sbin/start-all.sh 改为: start-all-hadoop.sh

14

// 通过scp 命令将配置文件分发到其他机器上

scp /etc/profile root@hadoop003:/etc
scp /etc/profile root@hadoop004:/etc
source /etc/profile 

五. 集群的启动和停止

  • 1. 集群的启动和停止
在主节点上启动Spark集群
/export/servers/spark/sbin/start-all.sh

在主节点上停止spark集群
/export/servers/spark/sbin/stop-all.sh
  • 2. 单独启动和停止
在 master 安装节点上启动和停止 master:

start-master.sh
stop-master.sh

在 Master 所在节点上启动和停止worker(work指的是slaves 配置文件中的主机名)
start-slaves.sh
stop-slaves.sh

  本次的分享就到这里了,


11

  好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
  如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
  码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦!

13
12

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章