六十二、Spark-Standlone独立集群(上传HDFS进行测试)

举报
托马斯-酷涛 发表于 2022/05/26 01:23:31 2022/05/26
【摘要】 Spark官网:(https://spark.apache.org/)  Spark是一个大数据领域统一的数据分析/计算/处理引擎 目录 环境配置 一、解压更名 二、配置环境变量 三、配置Spark参数 四、环境测试 五、提交任务 六、结果查看 七、查看spark任务web-ui ...

Spark官网:(https://spark.apache.org/)

 Spark是一个大数据领域统一的数据分析/计算/处理引擎

目录

环境配置

一、解压更名

二、配置环境变量

三、配置Spark参数

四、环境测试

五、提交任务

六、结果查看

七、查看spark任务web-ui

八、停止集群

standalone模式下的模块架构


环境配置

主机名 master slave1 slave2
类型 master slave slave
角色 master worker worker

 

一、解压更名

        1、解压Scala

tar -zxvf scala-2.11.8.tgz -C /usr/local/

 

        2、重命名

mv scala-2.11.8 scala
 

        3、解压Spark

tar -zxvf spark-2.0.0-bin-hadoop2.7.tgz -C /usr/local
 

        4、重命名Spark

mv spark-2.0.0-bin-hadoop2.7 spark

 

 

二、配置环境变量

        1、添加环境变量

vi /etc/profile
 

  
  1. export JAVA_HOME=/usr/local/jdk1.8.0_221
  2. export PATH=$PATH:$JAVA_HOME/bin
  3. export SCALA_HOME=/usr/local/scala
  4. export PATH=$PATH:$SCALA_HOME/bin
  5. export SPARK_HOME=/usr/local/spark
  6. export PATH=$PATH:$SPARK_HOME/bin
  7. export HADOOP_HOME=/usr/local/hadoop
  8. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

        2、使环境变量立即生效

source /etc/profile
 

 

三、配置Spark参数

        1、配置slaves/workers

cd /usr/local/spark/conf
 

        2、修改配置文件名称

mv slaves.template slaves
 

        3、编辑slaves文件

vim slaves
 

  
  1. slave1
  2. slave2

        4、修改配置文件名称

mv spark-env.sh.template spark-env.sh
 

        5、编辑配置文件

vim spark-env.sh
 

  
  1. ## 设置JAVA安装目录
  2. JAVA_HOME=/usr/local/jdk1.8.0_221
  3. ## HADOOP软件配置文件目录,读取HDFS上文件和运行Spark在YARN集群时需要,先提前配上
  4. HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
  5. YARN_CONF_DIR=/usr/local/hadoop/etc/hadoop
  6. ## 指定spark老大Master的IP和提交任务的通信端口
  7. SPARK_MASTER_HOST=master
  8. SPARK_MASTER_PORT=7077
  9. SPARK_MASTER_WEBUI_PORT=8080
  10. SPARK_WORKER_CORES=1
  11. SPARK_WORKER_MEMORY=1g

        6、集群分发

scp -r /usr/local/spark/ slave1:/usr/local/

 
scp -r /usr/local/spark/ slave2:/usr/local/

 

 

四、环境测试

        1、启动Spark集群

sbin/start-all.sh
 

        2、jps查看进程

        注:前置Hadoop集群已经启动 

        3、查看WebUI

        注:此时状态为活跃状态 

 

五、提交任务

        1、启动spark-shell

 

        2、提交WordCount任务

A、创建wordcount.txt文件

vim wordcount.txt
  

B、上传文件到 hdfs 方便 worker 读取

hadoop fs -put /input/wordcount.txt /input/wordcount.txt
  

C、hdfs 查看

D、提交任务


   
  1. val textFile = sc.textFile("hdfs://master:8020/input/wordcount.txt")
  2. val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _)
  3. counts.collect
  4. counts.saveAsTextFile("hdfs://master:8020/output/output1")

 

六、结果查看

master:50070
  

         注:将运行结果保存在 hdfs

 

七、查看spark任务web-ui

master:4040
  

 

 

八、停止集群

sbin/stop-all.sh
 

 

☆☆☆standalone模式下的模块架构☆☆☆

  • Client 客户端进程,负责提交作业到Master
  • Client就是我们的客户端,例如我们在windows上通过 idea 编写Scala程序向Spark提交作业,那么我们的Client就是 idea
  • Master Standalone模式中主节点,负责接收Client提交的作业,管理Worker,并命令Worker启动Driver和Executor。
  • Master在这里就相当于一个公司的包工头,负责接收Client提交上来的作业,然后管理Worker。
  • Worker Standalone模式中的从节点,负责管理本节点的资源,定期向Master汇报心跳,接受Master的命令,启动Driver和Executor。


 

文章来源: tuomasi.blog.csdn.net,作者:托马斯-酷涛,版权归原作者所有,如需转载,请联系作者。

原文链接:tuomasi.blog.csdn.net/article/details/122573280

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。