mac上安装单机版Spark

本文详细介绍了如何下载、安装并测试 Apache Spark 2.0.1 版本,包括配置环境、启动集群、执行 WordCount 示例及在 IntelliJ IDEA 中运行程序的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载安装测试

下载地址:
http://spark.apache.org/downloads.html

  1. 点击下载地址,现在最新版本是spark-2.0.1-bin-hadoop2.7.tgz ,大概180MB.
  2. 解压下载文件,并将这个文件放大你想要的位置.
  3. 然后这就算安装好了..
    mv spark-2.0.1-bin-hadoop /usr/local/
  4. 测试
--进入安装目录

cd /usr/local/spark

--启动

./sbin/start-master.sh

--打开浏览器输入,查看主机运行情况

http://localhost:8080

--加子嗣(现在主机是司令,要给他派点兵.)

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

--这是后台启动

nohup spark-class org.apache.spark.deploy.worker.Worker spark:/192.168.70.145:7077 &

--回到浏览器

http://localhost:8080

在“Workers”列表下赫然出现了你的第一个子嗣。其状态State为ALIVE。表示它正在运作。这时候你需要记住,当前Terminal的窗口对应就是那个刚加入的Worker Id。

删除子嗣

工作完成后吧小崽子们放出去玩,只需要在哪个看似死机的teminal 里按下CTRL+C

关闭主机

./sbin/stop-master.sh
WordCount脚本
进入spark-shell

./bin/spark-shell

import org.apache.spark.SparkConf

import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

var conf=new SparkConf().setMaster("local").setAppName("MyApp")

val sc=new SparkContext(conf)

val input=sc.textFile("README.md") //这里可以设置为绝对路径

val words=input.flatMap(line=>line.split(" "))

val counts=words.map(word=>(word,1)).reduceByKey{case (x,y)=>x+y}

counts.saveAsTextFile(outputFile) //这里可以设置为绝对路径
在Intellij IDEA里执行WordCount
import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

import org.apache.spark.SparkConf

import org.scalatest._

object SimpleApp {

def main(args: Array[String]) {

var logFile="/usr/local/spark/README.md"

var conf=new SparkConf().setAppName("Simple Application").setMaster("local")

var sc=new SparkContext(conf)

val data=Array(1,2,3,4,5)

val distData=sc.parallelize(data)

val sumArray=distData.reduce((a,b)=>a+b)

val logData=sc.textFile(logFile,2).cache()

val numAs=logData.filter(line=>line.contains("a")).count()

val numBs=logData.filter(line=>line.contains("b")).count()

println("Lines with a:%s,Lines with b:%s".format(numAs,numBs))

println("sumArray is:"+sumArray)

}

}

 

转载于:https://my.oschina.net/u/2603867/blog/1842593

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值