spark安装配置

摘要:
Vimspark-test.txt在spark-test.txt中输入以下文本:hi,seaApacheSpark是一个为大规模数据处理而设计的快速通用计算引擎。Spark是用Scala语言实现的,它使用Scala作为应用程序框架。与Hadoop不同,Spark和Scala可以紧密集成。Scala可以像本地收集对象一样轻松地操作分布式数据集。虽然Spark是为了支持分布式数据集上的迭代作业而创建的,但它实际上是Hadoop的补充,可以在Hadoop文件系统中并行运行。


准备:
1. 规划3个集群节点:
hosts主机都已经配置好映射,映射主机名分别为master,slave1,slave2,
且已经进行ssh免密配置,确保端口互通,防火墙关闭

2. 先安装好scala(参考:https://www.cnblogs.com/sea520/p/13518158.html)

一. 下载
spark安装包下载地址:https://archive.apache.org/dist/spark/spark-2.4.6/
将下载的spark-2.4.6-bin-hadoop2.7.tgz上传到master机器目录
spark安装配置第1张
(参考:
开发源码与编译下载 https://github.com/apache/spark/tree/branch-2.4
官方的下载地址已经无法选择版本下载:http://spark.apache.org/downloads.html)

spark安装配置第2张


二. 安装

1.解压 (解压后主目录:/opt/soft/spark-2.4.6-bin-hadoop2.7)
tar -zxvf /opt/soft/download_jars/spark-2.4.6-bin-hadoop2.7.tgz -C /opt/soft/

2. 配置环境变量


3. 配置环境变量
3.1 打开 vim /etc/profile添加以下配置

# spark home
export SPARK_HOME=/opt/soft/spark-2.4.6-bin-hadoop2.7
export PATH=$SPARK_HOME/bin:$PATH

3.2 让环境变量立即生效
source /etc/profile

4. 修改Spark配置文件
spark配置文件模版在: cd ${SPARK_HOME}/conf/
主要修改两个配置文件:spark-env.sh和slaves

4.1 spark-env.sh修改:
# 复制模版
cp spark-env.sh.template spark-env.sh
# 添加配置 (请修改成你自己的各种目录环境,注意最后一个 HADOOP_CONF_DIR=你的hadoop主目录/etc/hadoop   ,/etc/hadoop要保留哦)
vim spark-env.sh
export SCALA_HOME=/opt/soft/scala-2.13.3
export JAVA_HOME=/opt/soft/jdk1.8.0_261
export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/soft/hadoop-3.1.2/etc/hadoop


4.2 slaves修改
cp slaves.template slaves
vim slaves
# localhost
slave1
slave2

5. node节点分发(如果在内网,用内网IP比主机名快很多,主机名是映射的公网太慢)
scp -r /opt/soft/spark-2.4.6-bin-hadoop2.7 hadoop@172.17.0.5:/opt/soft/
scp -r /opt/soft/spark-2.4.6-bin-hadoop2.7 hadoop@172.17.0.13:/opt/soft/


6. 其他各node节点(slave1,slave2)分别配置环境变量与刷新环境变量(执行3.1,3.2两个步骤),
刷新profile文件使配置生效,验证安装是否OK


7.启动Spark集群

7.1启动前确定Hadoop集群已经启动。

7.2启动命令:
/opt/soft/spark-2.4.6-bin-hadoop2.7/sbin/start-all.sh

master节点进程:

 spark安装配置第3张

worker节点进程:

spark安装配置第4张

====================================================================================================

小小尝试: 进行 Spark集群测试,运行第一个spark任务WorldCount

====================================================================================================


8. Spark集群测试--运行第一个spark任务WorldCount

8.1 准备一个测试文件,摘录一段百度词条中对spark的介绍内容。
vim spark-test.txt

在spark-test.txt中输入以下文字:
hi,sea
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。---sea

8.2 将测试文件上传到hdfs中
hadoop fs -put spark-test.txt /sea

8.3 启动spark-shell:
spark-shell

spark安装配置第5张
启动后注意观察这几行输出:
Spark context Web UI available at http://master:4040
Spark context available as 'sc' (master = local[*], app id = local-1597655266634).
Spark session available as 'spark'.

启动后可以通过浏览器访问http://master:4040/查看Jobs,Stages,Storage,Environment,Executors等情况

spark安装配置第6张

spark安装配置第7张

8.3 输入测试代码

val f = sc.textFile("hdfs://master:9000/sea/spark-test.txt")
回车

spark安装配置第8张

f.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_+_).collect().foreach(println)
回车,观察结果

 spark安装配置第9张

到这里安装与第一个例子都搞定了,其他的可以根据实际需要进行配置与调优,如配置yarn调度,spark工作内存等

本着资源共享的原则,欢迎各位朋友在此基础上完善,并进一步分享,让我们的实现更加优雅。如果有任何疑问和需要进一步交流可以留言沟通 Testner创始人(testner.club) Sea

 转自:https://www.cnblogs.com/sea520/p/13518590.html

 
  • 相关阅读:
    js函数在线手册
    Chrome 控制台新玩法-console显示图片以及为文字加样式
    HTML5 <details> 标签
    CSS 魔法系列:纯 CSS 绘制三角形(各种角度)
    CSS与HTML5响应式图片
    webkit内核浏览器的CSS写法
    Java学习笔记38(字符流)
    Java学习笔记37(字节流)
    Java学习笔记36(File类)
    Java学习笔记35(异常)
  • 原文地址:https://www.cnblogs.com/javalinux/p/14902381.html
  • 免责声明:文章转载自《spark安装配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

    上篇多个SQL server实例Android 修改TabLayout底部导航条Indicator的长短下篇

    宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

    相关文章

    Linux非Root权限配置Java环境变量

    编辑配置文件vi ~/.bashrc设置环境变量 set java environment JAVA_HOME=/home/zoms/java-se-8u41-ri JRE_HOME=/home/zoms/java-se-8u41-ri/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/too...

    Hadoop完全分布式模式安装部署

    在Linux上搭建Hadoop系列:1.Hadoop环境搭建流程图2.搭建Hadoop单机模式3.搭建Hadoop伪分布式模式4.搭建Hadoop完全分布式模式 注:此教程皆是以范例讲述的,当然你可以按照教程搭建一个与教程一样的Hadoop环境,如果你想搭建一个与本教程有一些差异的Hadoop环境,这时请注意配置文件的参数可能不一样以及文件路径不一样。...

    Spark产生数据倾斜的原因以及解决办法

    Spark数据倾斜 产生原因 首先RDD的逻辑其实时表示一个对象集合。在物理执行期间,RDD会被分为一系列的分区,每个分区都是整个数据集的子集。当spark调度并运行任务的时候,Spark会为每一个分区中的数据创建一个任务。大部分的任务处理的数据量差不多,但是有少部分的任务处理的数据量很大,因而Spark作业会看起来运行的十分的慢,从而产生数据倾斜(...

    学习vue之windows下安装live-server 超级详细篇

    最近项目要求用vue2.0所以开始着手学习。 前期准备: 下载Node.js 地址:http://nodejs.cn/download/ 选择自己对应的版本,我下载的是.msi 64位的 然后就双击下一步吧。完成之后,记得配置环境变量(不知道环境变量在哪里的 先拉到最下面) 因为我把Node.js安装到了D盘nodeJs目录下。 呼出cmd,命令走起 ,...

    Hadoop启动时出现Unrecognized option: jvm的问题(收集)

    参考: 在ubuntu10.04和java1.6.0.24环境下出现的问题 最后发现是在hadoop/bin/hadoop中有如下一段shell: ? 1 2 3 4 5 6 7 <strong>CLASS='org.apache.hadoop.hdfs.server.datanode.DataNode' if[[ $EUID...

    Bash 破壳漏洞Shellshock (CVE-2014-6271)复现分析

    漏洞简介 GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行Shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash Shell之前可以用构造的值创建环境变量。这些变量可以包含代码,...