六十二、Spark-Standlone独立集群(上传HDFS进行测试)
【摘要】
Spark官网:(https://spark.apache.org/)
Spark是一个大数据领域统一的数据分析/计算/处理引擎
目录
环境配置
一、解压更名
二、配置环境变量
三、配置Spark参数
四、环境测试
五、提交任务
六、结果查看
七、查看spark任务web-ui
...
Spark是一个大数据领域统一的数据分析/计算/处理引擎
目录
环境配置
主机名 | 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
-
export JAVA_HOME=/usr/local/jdk1.8.0_221
-
export PATH=$PATH:$JAVA_HOME/bin
-
-
export SCALA_HOME=/usr/local/scala
-
export PATH=$PATH:$SCALA_HOME/bin
-
-
export SPARK_HOME=/usr/local/spark
-
export PATH=$PATH:$SPARK_HOME/bin
-
-
export HADOOP_HOME=/usr/local/hadoop
-
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
-
slave1
-
slave2
4、修改配置文件名称
mv spark-env.sh.template spark-env.sh
5、编辑配置文件
vim spark-env.sh
-
## 设置JAVA安装目录
-
JAVA_HOME=/usr/local/jdk1.8.0_221
-
-
## HADOOP软件配置文件目录,读取HDFS上文件和运行Spark在YARN集群时需要,先提前配上
-
HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
-
YARN_CONF_DIR=/usr/local/hadoop/etc/hadoop
-
-
## 指定spark老大Master的IP和提交任务的通信端口
-
SPARK_MASTER_HOST=master
-
SPARK_MASTER_PORT=7077
-
-
SPARK_MASTER_WEBUI_PORT=8080
-
-
SPARK_WORKER_CORES=1
-
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、提交任务
val textFile = sc.textFile("hdfs://master:8020/input/wordcount.txt") val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _) counts.collect 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)