百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

详解 jupyter notebook 集成 spark 环境安装

wptr33 2024-12-20 19:02 31 浏览

来自:

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

下载完成后是一个.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。也可以自己指定。

机器名称换成自己指定的ip

会出现页面

说明jupyter notebook安装完成

2.2 安装scala kernel

解压

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

解压

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 安装sbt(simple build tools)

因为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.5

下载incubator(编译spark kernel)

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

2.6 编译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.7开启notebook服务

浏览器中:

到此基本完成全部安装

相关推荐

[常用工具] git基础学习笔记_git工具有哪些

添加推送信息,-m=messagegitcommit-m“添加注释”查看状态...

centos7安装部署gitlab_centos7安装git服务器

一、Gitlab介1.1gitlab信息GitLab是利用RubyonRails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。...

太高效了!玩了这么久的Linux,居然不知道这7个终端快捷键

作为Linux用户,大家肯定在Linux终端下敲过无数的命令。有的命令很短,比如:ls、cd、pwd之类,这种命令大家毫无压力。但是,有些命令就比较长了,比如:...

提高开发速度还能保证质量的10个小窍门

养成坏习惯真是分分钟的事儿,而养成好习惯却很难。我发现,把那些对我有用的习惯写下来,能让我坚持住已经花心思养成的好习惯。...

版本管理最好用的工具,你懂多少?

版本控制(Revisioncontrol)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。...

Git回退到某个版本_git回退到某个版本详细步骤

在开发过程,有时会遇到合并代码或者合并主分支代码导致自己分支代码冲突等问题,这时我们需要回退到某个commit_id版本1,查看所有历史版本,获取git的某个历史版本id...

Kubernetes + Jenkins + Harbor 全景实战手册

Kubernetes+Jenkins+Harbor全景实战手册在现代企业级DevOps体系中,Kubernetes(K8s)、Jenkins和Harbor组成的CI/CD流水...

git常用命令整理_git常见命令

一、Git仓库完整迁移完整迁移,就是指,不仅将所有代码移植到新的仓库,而且要保留所有的commit记录1.随便找个文件夹,从原地址克隆一份裸版本库...

第三章:Git分支管理(多人协作基础)

3.1分支基本概念分支是Git最强大的功能之一,它允许你在主线之外创建独立的开发线路,互不干扰。理解分支的工作原理是掌握Git的关键。核心概念:HEAD:指向当前分支的指针...

云效Codeup怎么创建分支并进行分支管理

云效Codeup怎么创建分支并进行分支管理,分支是为了将修改记录分叉备份保存,不受其他分支的影响,所以在同一个代码库里可以同时进行多个修改。创建仓库时,会自动创建Master分支作为默认分支,后续...

git 如何删除本地和远程分支?_git怎么删除远程仓库

Git分支对于开发人员来说是一项强大的功能,但要维护干净的存储库,就需要知道如何删除过时的分支。本指南涵盖了您需要了解的有关本地和远程删除Git分支的所有信息。了解Git分支...

git 实现一份代码push到两个git地址上

一直以来想把自己的博客代码托管到github和coding上想一次更改一次push两个地址一起更新今天有空查资料实践了下本博客的github地址coding的git地址如果是Gi...

git操作:cherry-pick和rebase_git cherry-pick bad object

在编码中经常涉及到分支之间的代码同步问题,那就需要cherry-pick和rebase命令问题:如何将某个分支的多个commit合并到另一个分支,并在另一个分支只保留一个commit记录解答:假设有两...

模型文件硬塞进 Git,GitHub 直接打回原形:使用Git-LFS管理大文件

前言最近接手了一个计算机视觉项目代码是屎山就不说了,反正我也不看代码主要就是构建一下docker镜像,测试一下部署的兼容性这本来不难但是,国内服务器的网络环境实在是恶劣,需要配置各种镜像(dock...

防弹少年团田柾国《Euphoria》2周年 获世界实时趋势榜1位 恭喜呀

当天韩国时间凌晨3时左右,该曲在Twitter上以“2YearsWithEuphoria”的HashTag登上了世界趋势1位。在韩国推特实时趋势中,从上午开始到现在“Euphoria2岁”的Has...