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服务
    这里写图片描述

    浏览器中:

    这里写图片描述

    到此基本完成全部安装

    来自:
    代码大湿
    代码大湿

  • 相关阅读:
    HDU 6143 Killer Names【dp递推】【好题】【思维题】【阅读题】
    HDU 6143 Killer Names【dp递推】【好题】【思维题】【阅读题】
    POJ 3974 Palindrome【manacher】【模板题】【模板】
    POJ 3974 Palindrome【manacher】【模板题】【模板】
    HDU 6127 Hard challenge【计算机几何】【思维题】
    HDU 6127 Hard challenge【计算机几何】【思维题】
    HDU 6129 Just do it【杨辉三角】【思维题】【好题】
    HDU 6129 Just do it【杨辉三角】【思维题】【好题】
    HDU 3037 Saving Beans【Lucas定理】【模板题】【模板】【组合数取余】
    8.Math 对象
  • 原文地址:https://www.cnblogs.com/pin-wang/p/5638041.html
Copyright © 2011-2022 走看看