SPARK单机模式搭建(从零开始)

安装Spark-单机部署,Standalone集群部署,Spark on Yarn实现 SparkSession也是Spark程序中的一个类,功能类似于SparkContext,Spark2.0以后推出的,如果Hadoop生态的程序,例如MR、Hive、Sqoop、Oozie等使用YARN来计算。2-存储实时工具元数据。资源管理和任务调度:将所有从节点的资源在逻辑上合并为一个整体,将任务分配给不同的从节点。使用自己所在节点的资源运行计算进程Executor:给每个计算进程分配一定的资源。YARN支持多种类型程序的运行:MR、Tez、Spark、Flink等。 阅读详情

安利一篇我翻译的国外大牛的神经网络入门文章

因为是从零开始,所以本文将spark部署成单机模式,并且有些文件放到home的个人目录中,不过看下设置的环境变量的就可以知道,这些文件放那里其实是无所谓的

服务器环境为cenos,并且JDK已经正确安装,可通过jar命令是否可用来判断

$ jar
Usage: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
Options:
    -c  create new archive
    -t  list table of contents for archive
...

SCALA安装

wget http://www.scala-lang.org/files/archive/scala-2.10.1.tgz
tar zxf scala-2.10.1.tgz
sudo mv scala-2.10.1 /usr/local

在/etc/profile.d/下创建文件scala.sh,内容如下

$ cat /etc/profile.d/scala.sh 
#!usr/bin/env bash
export SCALA_HOME=/usr/local/scala-2.10.1
export PATH=$PATH:$SCALA_HOME/bin

使环境变量生效

cd /etc
source profile

SBT安装

wget https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.8/sbt-launch.jar
$cd ~/
$mkdir bin --如果已经存在这个目录则不需要重复创建
$mv sbt-launch.jar ~/bin

在~/bin目录下创建文件sbt,内容如下

$ cat sbt
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"

按如下方式测试,看是否OK

$ sbt
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
[info] Set current project to liujinliu (in build file:/home/liujinliu/)

安装SPARK

wget http://mirrors.hust.edu.cn/apache/spark/spark-1.3.1/spark-1.3.1-bin-hadoop2.6.tgz
tar zxf spark-1.3.1-bin-hadoop2.6.tgz

启动SPARK

./sbin/start-master.sh

登录localhost:8080可以看到UI界面,上面会显示当前节点的信息
其中在标题处会显示当前master所在的URL信息,这个参数需要作为入参在创建worker时候使用(spark://IP:PORT)
启动一个worker

./bin/spark-class org.apache.spark.deploy.worker.Worker spark://IP:PORT

此时localhost:8080的页面可以看到worker的信息

下面以一个git上的工程为例讲解如何提交一个scala的driver
从下面的地址下载源代码
https://github.com/alvinj/ScalaApacheAccessLogParser

加载之后解压,目录结构如下

base/
    build.sbt
    README.md
    src/
        main/
            scala/
                 AccessLogParser.scala
                 AccessLogRecord.scala
                 SimpleTestApp.scala --这个文件为自己创建

在src下面有一个和main同级的目录test,删除,下面将讲解如何将这个工程编译打包然后提交给spark运行
SimpleTestApp.scala内容如下

package com.alvinalexander.accesslogparser

import java.util.Calendar

object SimpleTestApp {
    def main(args: Array[String]) {
        val records = """
124.30.9.161 - - [21/Jul/2009:02:48:11 -0700] "GET /java/edu/pj/pj010004/pj010004.shtml HTTP/1.1" 200 16731 "http://www.google.co.in/search?hl=en&client=firefox-a&rlz=1R1GGGL_en___IN337&hs=F0W&q=reading+data+from+file+in+java&btnG=Search&meta=&aq=0&oq=reading+data+" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 GTB5"
89.166.165.223 - - [21/Jul/2009:02:48:12 -0700] "GET /favicon.ico HTTP/1.1" 404 970 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11"
94.102.63.11 - - [21/Jul/2009:02:48:13 -0700] "GET / HTTP/1.1" 200 18209 "http://www.developer.com/net/vb/article.php/3683331" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
124.30.7.162 - - [21/Jul/2009:02:48:13 -0700] "GET /images/tline3.gif HTTP/1.1" 200 79 "http://www.devdaily.com/java/edu/pj/pj010004/pj010004.shtml" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 GTB5"
122.165.54.17 - - [21/Jul/2009:02:48:12 -0700] "GET /java/java_oo/ HTTP/1.1" 200 32579 "http://www.google.co.in/search?hl=en&q=OO+with+java+standalone+example&btnG=Search&meta=&aq=f&oq=" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7"
217.32.108.226 - - [21/Jul/2009:02:48:13 -0700] "GET /blog/post/perl/checking-testing-perl-module-in-inc-include-path/ HTTP/1.1" 200 18417 "http://www.devdaily.com/blog/post/perl/perl-error-cant-locate-module-in-inc/" "Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.7) Gecko/20070606"
122.165.54.17 - - [21/Jul/2009:02:48:15 -0700] "GET /java/java_oo/java_oo.css HTTP/1.1" 200 1235 "http://www.devdaily.com/java/java_oo/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7"
""".split("\n").filter(_ != "")
        val parser = new AccessLogParser
        val rec = parser.parseRecord(records(0))
        println("IP ADDRESS: " + rec.get.clientIpAddress)
    }
}

这个文件的测试内容是参考源代码test目录的两个文件写的

修改build.sbt内容:

name := "ScalaApacheAccessLogParser"
version := "1.0"
scalaVersion := "2.10.4"  --主要是这行,与当前使用的scala版本匹配
resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"
scalacOptions += "-deprecation"
libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.1.0" % "test"

在base目录下执行编译和打包

sbt  compile
sbt  package

需要注意的是sbt 0.13.x版本一定要和scala 2.10.x版本配套使用,使用scala 2.11.x版本会报错(can’t expand macros compiled by previous versions of Scala)

编译成功会在base目录下生成target文件夹,并且可以在这个文件夹的子文件夹内找到scalaapacheaccesslogparser_2.10-1.0.jar,路径为
target/scala-2.10/scalaapacheaccesslogparser_2.10-1.0.jar

将target文件夹整体拷贝到与
spark-1.3.1-bin-hadoop2.6文件夹平行的位置

spark/
      spark-1.3.1-bin-hadoop2.6/
      target/

提交driver到spark

./spark-1.3.1-bin-hadoop2.6/bin/spark-submit --class "com.alvinalexander.accesslogparser.SimpleTestApp" --master spark://IP:PORT target/scala-2.10/scalaapacheaccesslogparser_2.10-1.0.jar

IP和PORT跟起worker时候的一样
可以在shell看到如下输出

IP ADDRESS: 124.30.9.161
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties

###另外安利我写的两个模块,欢迎使用或贡献代码:
一个命令行版本的zookeeper cli
一个tornado web app框架快速生成工具
看完支付宝扫个红包吧 😃

Spark安装与配置(单机版)(保姆级教程) Spark简述: Spark:快速通用的大规模数据处理引擎,特点是速度快,易使用。 Spark安装前准备工作: 1、安装配置好jdk,如果不会安装可以跳转到脚本安装jdk保姆级教程 2、搭建配置好Hadoop,如果不会配置安装可以跳转到Hadoop配置保姆级教程 3、安装好Scala,如果不会安装可以跳转到Linux下安装配置Scala保姆级教程 Spark安装步骤: 1、通过xftp将spark安装包上传到Linux中,版本是spark-2.4.5-bin-hadoop2.6.tgz 2、解压缩tar - 阅读详情

相关推荐

Spark单机模式入门:从安装到实战案例,一步步教你如何用Python玩转大数据处理

本文详细介绍了Spark单机模式的安装与配置,通过Python实战案例展示大数据处理的核心技术。从环境搭建到电商用户行为分析、社交媒体文本情感分析等实战演练,帮助开发者快速掌握Spark单机模式的应用技巧与性能优化策略。

weixin_42523543的博客 213

Spark 单机和集群环境部署教程

通过以上步骤,我们成功部署Spark 单机和集群环境,并实现了一个简单的 Word Count 应用。Spark 提供了强大的分布式计算能力,可以处理大规模数据,并支持多种编程语言。

闲人编程的博客 2408

Spark本地环境搭建:JDK11+Spark3.4.2+Hadoop3.3完整避坑指南

Apache Spark 是一个基于内存的分布式计算框架,其核心依赖 JVM 运行时与 Python 生态的深度协同。理解 Spark 环境搭建的本质,需从 Java 版本兼容性、PySpark 配置机制和 Hadoop 二进制集成三者耦合关系入手——JDK 版本不匹配会触发 JNI 崩溃或泛型擦除异常,PySpark 与 PyArrow 的 ABI 不兼容将导致进程级段错误,而 Hadoop 客户端 JAR 版本错配则引发 NoSuchMethodError 等运行时类加载失败。这些并非配置疏漏,而是 S

weixin_33857679的博客 505

搭建Spark单机版环境

3

m0_59791585的博客 2694

搭建 Spark 单机伪分布式环境

是配置分布式文件系统对于每个文件块的副本数量设置,默认为3,而 在伪分布式环境下设置为 1,因为只有一个节点。下载 Hadoop-2.7.7 安装包,解压至/home/hj/hadoop-2.7.7 文件夹。下载 Hadoop-2.7.7 安装包,解压至/home/hj/hadoop-2.7.7 文件夹。是配置默认文件系统所在的位置,将其中主机名替换为自 己的主机名称(框架中资源管理者的主机名,因为就一个节点,所以设置为当前主机名。为输出文件夹(是文件夹,不是文件!为输入文件夹(是文件夹,不 是文件!

qq_55944883的博客 2605

spark 集群搭建

首先 搭建spark单机 然后 搭建hadoop hdfs 在单机spark的基础上,修改配置文件 cp /usr/local/spark/conf/spark-env.sh.template /usr/local/spark/conf/spark-env.sh vim /usr/local/spark/conf/spark-env.sh export SPARK_MASTER_IP=mast...

_Tsun 的博客 355

从零开始配置spark-local模式

这里使用单机模式快运行第一个Spark程序,让大家有个基本的印象。在安装Spark时,它就提供了一些示例程序,我们可以直接来调用。这里的 \ 是换行输入的意思,整体的代码就只有一句,只不过太长了,我们把它拆开成几个部分来输入,其中\ 的意思就是这里写不下,写在下一行。接下来的操作,我们把它上传到集群中的节点,并解压运行。1.打开etc/profile.d/my_env.sh文件中,补充设置spark环境变量。的值,具体运行效果如下。安装Spark,使用单机运行模式,运行第一个Spark程序。

2401_84163644的博客 680

Spark集群部署终极指南:从单机到分布式环境的完整搭建教程

Apache Spark作为大规模数据处理的统一分析引擎,为大数据处理提供了强大的分布式计算能力。本教程将带您从零开始,逐步完成Spark集群的部署,涵盖单机模式到完整分布式环境搭建。无论您是初学者还是希望优化现有部署的开发者,都能从中获得实用的部署技巧。 ## 🚀 Spark集群架构概述 Spark集群采用主从架构模式,由Master节点和Worker节点组成。Master节点负责资源调

gitblog_00349的博客 515

spark 单机模式配置

折腾了好几天,开始在windows上直接拿源码编译,中间出现各种问题,最后样例运行不了,各种找解决方案,也没成功。后来又换到Linux上,折腾了一下午终于成功了。 首先贴出参考文章: http://blog.csdn.net/hxpjava1/article/details/19177913#t7 步骤基本是相同的,不同的就是我遇到了一些错误,找的别的解决方案。 首先需要准备的环境

L668303的博客 1508

从零开始学习,Apache Spark源码走读(一)

概要 本文以wordCount为例,详细说明Spark创建和运行job的过程,重点是在进程及线程的创建。 实验环境搭建 在进行后续操作前,确保下列条件已满足。 下载spark binary 0.9.1安装scala安装sbt安装java 启动spark-shell 单机模式运行,即local模式 local模式运行非常简单,只要运行以下命令即可,假设当

wu_xiaolei的专栏 917

轻薄本RTX显卡搭建Spark GPU开发环境:从CUDA加速到MLlib实战

CUDA并行计算架构是英伟达GPU实现通用计算加速的核心技术,它通过数千个计算核心并行处理任务,为机器学习、科学计算等场景带来数量级性能提升。Apache Spark作为主流分布式计算框架,从3.0版本开始通过资源调度机制支持GPU加速,结合RAPIDS加速库可显著优化ETL流水线和MLlib算法执行效率。本文基于RTX系列显卡的CUDA能力,详细演示如何在单台笔记本电脑上配置Spark本地环境,实现MLlib算法的GPU加速验证,为分布式计算学习与原型开发提供高性价比的移动解决方案。

aofan9566的博客 340

【大数据处理学习笔记】2.2 搭建Spark开发环境

Executor为应用程序运行在Worker节点上的一个进程,由Worker进程启动,负责执行具体的Task,并存储数据在内存或磁盘上。Spark-Shell是一个强大的交互式数据分析工具,初学者可以很好的使用它来学习相关API,用户可以在命令行下使用Scala编写Spark程序,并且每当输入一条语句,Spark-Shell就会立即执行语句并返回结果,这就是我们所说的REPL(Read-Eval-Print Loop,交互式解释器),Spark-Shell支持Scala和Python。

weixin_63745352的博客 946

大数据实时处理 2.2 搭建Spark开发环境

Executor为应用程序运行在Worker节点上的一个进程,由Worker进程启动,负责执行具体的Task,并存储数据在内存或磁盘上。方法,创建SparkContext对象(负责与Spark集群进行交互),提交Spark作业,并将作业转化为Task(一个作业由多个Task任务组成),然后在各个Executor进程间对Task进行调度和监控。集群的主节点称为Master节点,在集群启动时会在主节点启动一个名为Master的守护进程,类似YARN集群的ResourceManager;命令,查看启动的进程。

m0_73706260的博客 1207

单机版Spark环境部署指南

Apache Spark的官方网站下载Spark软件包:选择3.5.0版本。

2301_80318716的博客 684

Spark环境搭建(本地模式)

前置环节介绍: node1:hadoop NN DN RM NM ,hive node2:hadoop SNN DN NM node3:hadoop DN NMlocal模式基本原理 本质:启动一个JVM Process进程(一个进程里面有多个线程),执行任务Task、 Local模式可以限制模拟Spark集群环境的线程数量,即local[a]或local[*]其中N代表可以使用N个线程,每个线程拥有一个cpu core。如果不指定N。则默认一个线程(该线程有一个core),通常CPU有几个core,就指

m0_48639280的博客 1931

spark-单机部署(三)

Spark的windows、linux单机部署 1、windows单机部署   相信大多数同学用的都是windows系统,没错,我也是windows系统,主要是因为公司电脑安装了深信服的办公软件,但是这个不支持linux系统,所有我们公司都强制被使用win10。为了调试方便,还是习惯在电脑上装上单机Spark,好在Spark也支持win10。 废话不多说,我们开始哈。。。 1.1、安装Java环境   这里我们安装Java8,哎,这会是不是有同学问了现在Java15都有了我们为啥还用Java8了?❓❓❓

weixin_45025143的博客 3306

Spark本地模式安装

Spark本地模式即单机模式,以一个独立的进程,通过其内部的多个线程来模拟整个Spark运行时环境,本地模式只需要在1台服务器上安装Spark即可。本地模式的安装非常简单,只需要将下载的Spark软件安装包解压到目标位置即安装完成

wux_labs的博客 1636
上一篇: PostgreSQL的postgres_fdw跨库使用
下一篇: sql查询语句的一些简单优化措施(持续补充)
liujinliu001
博客等级 码龄12年 22粉丝 59原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值