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

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

20.png

环境配置


主机名 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查看进程


21.png


       注:前置Hadoop集群已经启动


       3、查看WebUI


22.png


       注:此时状态为活跃状态



五、提交任务


       1、启动spark-shell


23.png


       2、提交WordCount任务


A、创建wordcount.txt文件


vim wordcount.txt

24.png


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


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

C、hdfs 查看


25.png


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")

26.png


六、结果查看


master:50070

27.png

        注:将运行结果保存在 hdfs



七、查看spark任务web-ui


 
         
master:4040

28.png

八、停止集群



sbin/stop-all.sh

29.png


☆☆☆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。


相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
167 6
|
2月前
|
消息中间件 分布式计算 关系型数据库
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
48 0
|
2月前
|
分布式计算 大数据 Spark
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
42 1
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
48 2
|
2月前
|
存储 SQL 分布式计算
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
43 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
90 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
41 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
51 0
|
29天前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
84 2
ClickHouse与大数据生态集成:Spark & Flink 实战