你好,游客 登录 注册 搜索
背景:
阅读新闻

Spark 安装&配置

[日期:2017-10-14] 来源:简书  作者:Spike_3154 [字体: ]

安装Anaconda

Anaconda 是Python科学计算包的合集,在接下来的例子中,会用到其中的matplotlib用来生成一张柱状图。
下载地址:https://www.continuum.io/downloads
然后在Terminal中输入命令:

bash Anaconda2-4.1.1-Linux-x86_64.sh

注意,应该使用4.1.1版本的Anaconda,因为其Python版本是3.5,而Spark目前只支持3.5版本的python,不能支持3.6版本的

安装JavaSDK

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install Oracle-java8-installer

配置JAVA_HOME

在.bashrc中对JAVA_HOME进行配置

vim ~/.bashrc
JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH

安装Spark

去官网下载压缩包,下载地址 http://spark.apache.org/downloads.html
将安装包解压:

$ tar -zxvf spark-2.0.0-bin-Hadoop2.7.tgz
$ rm spark-2.0.0-bin-hadoop2.7.tgz

启用IPython Notebook

vim ~/ .bashrc
export PYSPARK_DRIVER_PYTHON=ipython
export PYSPARK_DRIVER_PYTHON_OPTS=notebook

检查是否安装成功 (需重启Terminal)

cd ~/spark-2.0.0-bin-hadoop2.7
./bin/pyspark

出现下面的即为OK:

eversilver@debian:/usr/local/spark2.1$ ./bin/pyspark 
Python 3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul  2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/spark2.1/jars/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
17/05/03 14:50:12 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/05/03 14:50:12 WARN Utils: Your hostname, debian resolves to a loopback address: 127.0.1.1; using 192.168.142.133 instead (on interface eth0)
17/05/03 14:50:12 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
17/05/03 14:50:27 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.1.0
      /_/

Using Python version 3.5.2 (default, Jul  2 2016 17:53:06)
SparkSession available as 'spark'.
>>>

使用

  • 每个 Spark 应用都由一个驱动器程序(driver program)来发起集群上的各种并行操作。
  • 驱动器程序通过一个 SparkContext 对象来访问 Spark。这个对象代表对计算集群的一个连接。 shell 启动时已经自动创建了一个 SparkContext 对象,是一个叫作 sc 的变量。有了SparkContent之后就可以用其来创建RDD。
  • 第一个例子:
    #!/usr/bin/env python
    # coding=utf-8
    from pyspark import SparkConf, SparkContext
    #下面的第一个参数是集群URL,由于这里运行在本机单线程上,所以用local即可
    #下面第二个参数是应用名称,当连接到一个集群时,这个值可以帮助你在集群管理器的用户界面中找到你的应用。
    conf = SparkConf().setMaster("local").setAppName("My App")
    sc = SparkContext(conf= conf) #python中打开获取SparkContent来创建RDD
    nums = sc.parallelize([1,2,3,4])
    squared = nums.map(lambda x : x * x).collect()
    for num in squared:
      print "%i"%(num)
  • 上面执行完成后可以使用./bin/spark-submit useMap.py来执行程序

更多Spark相关教程见以下内容

CentOS 7.0下安装并配置Spark  http://www.linuxidc.com/Linux/2015-08/122284.htm

Ubuntu系统搭建单机Spark注意事项  http://www.linuxidc.com/Linux/2017-10/147220.htm

Spark1.0.0部署指南 http://www.linuxidc.com/Linux/2014-07/104304.htm

Spark2.0安装配置文档  http://www.linuxidc.com/Linux/2016-09/135352.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

Spark官方文档 - 中文翻译  http://www.linuxidc.com/Linux/2016-04/130621.htm

CentOS 6.2(64位)下安装Spark0.8.0详细记录 http://www.linuxidc.com/Linux/2014-06/102583.htm

Spark-2.2.0安装和部署详解  http://www.linuxidc.com/Linux/2017-08/146215.htm

Spark2.0.2 Hadoop2.6.4全分布式配置详解 http://www.linuxidc.com/Linux/2016-11/137367.htm

Ubuntu 14.04 LTS 安装 Spark 1.6.0 (伪分布式) http://www.linuxidc.com/Linux/2016-03/129068.htm

Spark 的详细介绍请点这里
Spark 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-10/147602.htm
linux
相关资讯       Spark安装  Spark配置 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款