基于Jupyter notebook搭建Spark集群开发环境的详细过程

 更新时间:2021年10月12日 11:38:59   作者:apr鹏鹏  
Jupyter Notebook是一个开源并且使用很广泛项目,本文介绍如何基于Jupyter notebook搭建Spark集群开发环境,通过实例截图相结合给大家介绍的非常详细,需要的朋友参考下吧

一、概念介绍:

1、Sparkmagic:它是一个在Jupyter Notebook中的通过Livy服务器 Spark REST与远程Spark群集交互工作工具。Sparkmagic项目包括一组以多种语言交互运行Spark代码的框架和一些内核,可以使用这些内核将Jupyter Notebook中的代码转换在Spark环境运行。

2、Livy:它是一个基于Spark的开源REST服务,它能够通过REST的方式将代码片段或是序列化的二进制代码提交到Spark集群中去执行。它提供了以下这些基本功能:提交Scala、Python或是R代码片段到远端的Spark集群上执行,提交Java、Scala、Python所编写的Spark作业到远端的Spark集群上执行和提交批处理应用在集群中运行

二、基本框架

为下图所示:

三、准备工作:

具备提供Saprk集群,自己可以搭建或者直接使用华为云上服务,如MRS,并且在集群上安装Spark客户端。同节点(可以是docker容器或者虚拟机)安装Jupyter Notebook和Livy,安装包的路径为:https://livy.incubator.apache.org/download/

四、配置并启动Livy:

修改livy.conf参考:https://enterprise-docs.anaconda.com/en/latest/admin/advanced/config-livy-server.html

添加如下配置:

livy.spark.master = yarn
livy.spark.deploy-mode = cluster
livy.impersonation.enabled = false
livy.server.csrf-protection.enabled = false
livy.server.launch.kerberos.keytab=/opt/workspace/keytabs/user.keytab
livy.server.launch.kerberos.principal=miner
livy.superusers=miner

修改livy-env.sh, 配置SPARK_HOME、HADOOP_CONF_DIR等环境变量

export JAVA_HOME=/opt/Bigdata/client/JDK/jdk
export HADOOP_CONF_DIR=/opt/Bigdata/client/HDFS/hadoop/etc/hadoop
export SPARK_HOME=/opt/Bigdata/client/Spark2x/spark
export SPARK_CONF_DIR=/opt/Bigdata/client/Spark2x/spark/conf
export LIVY_LOG_DIR=/opt/workspace/apache-livy-0.7.0-incubating-bin/logs
export LIVY_PID_DIR=/opt/workspace/apache-livy-0.7.0-incubating-bin/pids
export LIVY_SERVER_JAVA_OPTS="-Djava.security.krb5.conf=/opt/Bigdata/client/KrbClient/kerberos/var/krb5kdc/krb5.conf -Dzookeeper.server.principal=zookeeper/hadoop.hadoop.com -Djava.security.auth.login.config=/opt/Bigdata/client/HDFS/hadoop/etc/hadoop/jaas.conf -Xmx128m"

启动Livy:

./bin/livy-server start

五、安装Jupyter Notebook和sparkmagic

Jupyter Notebook是一个开源并且使用很广泛项目,安装流程不在此赘述

sparkmagic可以理解为在Jupyter Notebook中的一种kernel,直接pip install sparkmagic。注意安装前系统必须具备gcc python-dev libkrb5-dev工具,如果没有,apt-get install或者yum install安装。安装完以后会生成$HOME/.sparkmagic/config.json文件,此文件为sparkmagic的关键配置文件,兼容spark的配置。关键配置如图所示

其中url为Livy服务的ip和端口,支持http和https两种协议

六、添加sparkmagic kernel

PYTHON3_KERNEL_DIR="$(jupyter kernelspec list | grep -w "python3" | awk '{print $2}')"
KERNELS_FOLDER="$(dirname "${PYTHON3_KERNEL_DIR}")"
SITE_PACKAGES="$(pip show sparkmagic|grep -w "Location" | awk '{print $2}')"
cp -r ${SITE_PACKAGES}/sparkmagic/kernels/pysparkkernel ${KERNELS_FOLDER}

七、在Jupyter Notebook中运行spark代码验证:

八、访问Livy查看当前session日志:

到此这篇关于基于Jupyter notebook搭建Spark集群开发环境的详细过程的文章就介绍到这了,更多相关基于Jupyter notebook搭建Spark集群开发环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 新手程序员编程必不可少的工具

    新手程序员编程必不可少的工具

    这篇文章主要为大家详细介绍了新手程序员编程必不可少的工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Postman使用详解

    Postman使用详解

    今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一
    2020-11-11
  • 全民学编程之 Hello World

    全民学编程之 Hello World

    Hello World的迷人之处在于:它是简单的,即便没有任何基础,你也可以轻松理解,但它又不是苍白的,它带有一个程序语言鲜明的特色,体现了该语言最基本的思想和特征。同样也是Hello World,让人体会到第一份成功的喜悦
    2014-01-01
  • antd通过 filterDropdown 自定义按某天时间搜索功能

    antd通过 filterDropdown 自定义按某天时间搜索功能

    这篇文章主要介绍了antd通过 filterDropdown 自定义按某天时间搜索功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 通过lms.samples熟悉lms微服务框架的使用详解

    通过lms.samples熟悉lms微服务框架的使用详解

    这篇文章主要介绍了通过lms.samples熟悉lms微服务框架的使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • PHP实现HTML标签自动补全代码

    PHP实现HTML标签自动补全代码

    开发各种项目中经常遇到截取html字符串问题。 比如博客文章列表页面截取一部分正文、文章正文翻页截取等
    2012-10-10
  • 编码史记

    编码史记

    昨天听了一个同事的编码讲座,很精彩。想起了要写这个文章分享一下各种编码是如何产生的
    2012-04-04
  • 解决VIM显示utf-8文件乱码问题

    解决VIM显示utf-8文件乱码问题

    在Vim中,有四个与编码有关的选项,它们是:fileencodings、fileencoding、encoding和termencoding。下面,我们详细介绍一下这四个选项的含义和作用,感兴趣的朋友一起看看吧
    2020-02-02
  • git 优雅的撤销中间某次提交方法

    git 优雅的撤销中间某次提交方法

    这篇文章主要介绍了git 优雅的撤销中间某次提交方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • hadoop迁移数据应用实例详解

    hadoop迁移数据应用实例详解

    这篇文章主要介绍了hadoop迁移数据应用实例,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06

最新评论