zoukankan      html  css  js  c++  java
  • 详解 jupyter notebook 集成 spark 环境安装

    来自:
    代码大湿
    代码大湿

    1 相关介绍

    	jupyter notebook是一个Web应用程序,允许你创建和分享,包含活的代码,方程的文件,可视化和解释性文字。用途包括:数据的清洗和转换、数值模拟、统计建模、机器学习和更多。支持40多中语言。python ,R,go,scala等。
        Spark是UC Berkeley AMP lab所开源的类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) 开发,可用来构建大型的、低延迟的数据分析应用程序。
        大致了解后,就开始看看怎么搭建这样一个集成的环境吧。
    

    2 安装步骤

    安装之前保证环境有java环境。输入命令java -version和javac验证


    2.1 安装anaconda

    anacnda带有ipython和jupyter notebook
    

    下载anacondo

    下载完成后是一个.sh文件。执行bash Anaconda2-4.1.0-Linux-x86_64.sh进行安装。默认的安装路径是/User/anaconda2/,当然也可以修改安装目录。

    安装完成后添加相应的PATH路径。

    jupyter kernelspec list
    查看jupyter已经安装的kernel有
    这里写图片描述

     jupyter notebook --ip=125.65.45.180 --no-browser
    

    开启jupyter notebook服务,ip一般指定机器自己的ip。端口默认情况下是8888或者8889,我这里是8889。也可以自己指定。
    开启后在browser输入 http://testland.orientsoft.cn:8889/tree#
    机器名称换成自己指定的ip
    会出现页面
    这里写图片描述

    说明jupyter notebook安装完成


    2.2 安装scala kernel

    scala下载地址

    解压
    xz -d jupyter-scala_2.10.5-0.2.0-SNAPSHOT.tar.xz

    tar xvf jupyter-scala_2.10.5-0.2.0-SNAPSHOT.tar

    安装

    cd jupyter-scala_2.10.5-0.2.0-SNAPSHOT/bin
    chmod u+x jupyter-scala
    bash jupyter-scala
    

    完成后会生成一个文件。这里请注意。后面配置hi会用到

    Generated /home/student/.ipython/kernels/scala210/kernel.json

    验证

    jupyter kernelspec list
    

    这里写图片描述
    说明scala kernel安装完成


    2.3 安装spark

    spark下载地址

    解压

    tar xvf spark-1.5.1-bin-hadoop2.6.tgz
    

    加压后需要设置一个环境变量

    在你相应的/user/.bash_rc中添加

    export SPARK_HOME="..../spark-1.5.1-bin-hadoop2.6:$PATH"
    

    即添加你解压spark后的目录。


    2.4 将spark(python版)环境加入python notebook。

    在目录$user/.ipython/profile_spark/startup下面新建notebook启动文件00-first.py,文件内容如下:

    import os
    import sys
      
    # Configure the environment
    if 'SPARK_HOME' not in os.environ:
        os.environ['SPARK_HOME'] = '/home/student/wp/envi/spark-1.5.1-bin-hadoop2.6'
                              
     # Create a variable for our root path
    SPARK_HOME = os.environ['SPARK_HOME']
                                     
    # Add the PySpark/py4j to the Python Path
    sys.path.insert(0, os.path.join(SPARK_HOME, "python", "build"))
    sys.path.insert(0, os.path.join(SPARK_HOME, "python"))
    

    可以用此配置文件启动notebook:

    jupyter notebook --config=00-first.py --no-browser --ip=自己的ip。

    这样新建python文件就可以使用spark环境了。


    以下主要是安装scala版本的notebook spark

    2.5 安装sbt(simple build tools)

    下载sbt

    因为wget后的文件名称过长,所以我的命令是:

    wget -O sbt-0.13.11.tgz -b https://dl.bintray.com/sbt/native-packages/sbt/0.13.11/sbt-0.13.11.tgz
    

    下载完成后,配置相关PATH路径,命令sbt sbt-version验证。执行这个命令后,,就耐心等待吧,很久很久。。。。。。。因为要下载很多jar包。

    出现
    这里写图片描述
    说明sbt安装完成


    2.6 下载incubator(编译spark kernel)

     git clone https://github.com/apache/incubator-toree.git
    

    2.7 编译spark kernel

    注意使用incubator编译spark kernel之前,请确保sbt正确安装。

    cd 到你解压后的incubator-toree目录。里面有Makefile文件

    执行
    make build
    进行编译(耐心等待吧,很久很久。最好去睡个午觉。。。。。。)
    等到出现这个:

    这里写图片描述

    说明编译成功
    接下来: make dist
    cd dis/toree/bin
    记住这个run.sh路径

    cd到你的User/.ipython/kernels。如果这个目录下面没有spark,新建spark目录,然后在spark目录下面新建文件vim kernel.json
    kernel.json内容为

    {
    "display_name": "Spark 1.5.1 (Scala 2.10.4)",
    "lauguage_info": {"name": "scala"},
    "argv": [
    	//这里改成你自己的目录,就是上面的run.sh 的路径
        "/Users/zhangsan/anaconda3/incubator-toree/dist/toree/bin/run.sh",
        "--profile",
        "{connection_file}"
    ],
    "codemirror_mode": "scala",
    "env": {
        "SPARK_OPTS": "--master=local[2] --driver-java-options=-Xms1024M --driver-java-options=-Xms4096M --driver-java-options=-Dlog4j.logLevel=info",
        "MAX_INTERPRETER_THREADS": "16",
        "CAPTURE_STANDARD_OUT": "true",
        "CAPTURE_STANDARD_ERR": "true",
        "SEND_EMPTY_OUTPUT": "false",
        //这里改成你自己的目录
        "SPARK_HOME": "/Users/zhangsan/Documents/spark-1.5.1-bin-hadoop2.6",
        //这里改成你自己的目录
        "PYTHONPATH": "/Users/zhangsan/Documents/spark-1.5.1-bin-hadoop2.6/python:/Users/zhangsan/Documents/spark-1.5.1-bin-hadoop2.6/python/lib/py4j-0.8.2.1-src.zip"
    }
    }
    

    注意上面有3处需要改成你自己的目录值。。

    此时执行jupyter kernelspec list;

    这里写图片描述


    2.8开启notebook服务
    这里写图片描述

    浏览器中:

    这里写图片描述

    到此基本完成全部安装

    来自:
    代码大湿
    代码大湿

  • 相关阅读:
    .NET基础回顾(二)
    python 三元表达式、列表推导式、生成器表达式
    python 函数相关定义
    python 匿名函数
    python递归函数
    内置函数
    迭代器、生成器、面向过程编程
    python 函数对象、函数嵌套、名称空间与作用域、装饰器
    python django ORM 性能优化 select_related & prefetch_related
    python 函数
  • 原文地址:https://www.cnblogs.com/pin-wang/p/5638041.html
Copyright © 2011-2022 走看看