spark打包还是比较复杂的,特别的其中有关R语言的模块。在本章,我就将其中遇到的所有问题为大家一一讲解,为大家提供一点经验。
  这里的打包命令是直接从官网中找的,这里我们最后得到的是tgz格式的包。打包的命令是——./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn -Pkubernetes
  这里我们首先修改make-distribution.sh中MVN="$SPARK_HOME/build/mvn",将其改为自己maven路径。这里我修改为——MVN="/usr/local/maven-3.5.3/bin/mvn"。
  报错一:
  [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (sparkr-pkg) on project spark-core_2.11: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]很可能是由于R语言并没有安装,因为我们这里同样报了如下错误:
  解决方法:在mac上安装R语言。这里我下载了R-3.6.0.pkg,然后直接安装就好。
  报错二:
  no knitr found。
  解决方法:在R语言的命令行下,也就是/Applications/R.app/Contents/MacOS/下直接执行R,然后在输入框内执行——install.packages("knitr")
  报错三:
  there is no package called 'stringi'
  解决方法:在R的命令行下执行——install.packages('stringi')
  报错四:
  Using Caret Package but Getting Error in library(e1071)
  解决方法:在R命令行下执行install.packages('e1071', dependencies=TRUE)
  报错五:
  no rmarkdown、testthat
  解决方法:在R命令行下执行install.packages('rmarkdown')、install.packages('testthat')
  报错六:
  调用tools::texi2pdf()是出了错:
  解决方法:下载MacTex后安装。然后执行sudo find / -iname texbin,我这里有如下路径
  接着,我们需要设置R语言的环境变量。
  这里有两种设置环境变量的方法,一种是临时的,也就是会话级别的,另一种是永久的。
  关于临时的环境变量设置,在链接——https://www.r-bloggers.com/building-r-packages-missing-path-to-pdflatex/中将的比较详细了,我这里就不赘述了。我们这里需要关注的是永久环境变量的设置。
  要设置永久的环境变量,我们需要更改/etc/profile文件,这里我们添加在文件中添加:
  export LATEX_HOME=/Library/TeX/texbin
  export PATH=$PATH:$LATEX_HOME
  执行了source /etc/profile后,我们打开另外一个窗口,在R命令行下执行:
  Sys.getenv("PATH") /Library/TeX/texbin
  接着执行:Sys.which("pdflatex") ,这里我们发现:
  然后,我们再在spark-master/目录下执行:
  ./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn -Pkubernetes
  等一段时间,就会发现在根目录下已经打好了包:spark-2.3.0-SNAPSHOT-bin-custom-spark.tgz
  到现在为止,我们就打好了spark的tgz包,大家就可以自由地调试了。

spark打包详解的更多相关文章

  1. Spark参数详解 一(Spark1.6)

    Spark参数详解 (Spark1.6) 参考文档:Spark官网 在Spark的web UI在"Environment"选项卡中列出Spark属性.这是一个很有用的地方,可以检查 ...

  2. VS2010开发程序打包详解

    VS2010开发程序打包详解 转自:http://blog.sina.com.cn/s/blog_473b385101019ufr.html 首先打开已经完成的工程,如图: 下面开始制作安装程序包. ...

  3. AssetBundle打包详解

    Unity5.x AssetBundle打包详解 在网上查看了很多资料,想详细搞清楚AssetBundle的原理.以实现符合项目需求的打包工具和加载逻辑 1. AssetBundle是什么? Asse ...

  4. Hadoop基础-Idea打包详解之手动添加依赖(SequenceFile的压缩编解码器案例)

    Hadoop基础-Idea打包详解之手动添加依赖(SequenceFile的压缩编解码器案例) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编辑配置文件(pml.xml)(我 ...

  5. Spark:常用transformation及action,spark算子详解

    常用transformation及action介绍,spark算子详解 一.常用transformation介绍 1.1 transformation操作实例 二.常用action介绍 2.1 act ...

  6. Spark框架详解

    一.引言 作者:Albert陈凯链接:https://www.jianshu.com/p/f3181afec605來源:简书 Introduction 本文主要讨论 Apache Spark 的设计与 ...

  7. Spark中的Spark Shuffle详解

    Shuffle简介 Shuffle描述着数据从map task输出到reduce task输入的这段过程.shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过s ...

  8. HUE配置文件hue.ini 的Spark模块详解(图文详解)(分HA集群和HA集群)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  9. python 打包详解

    基本步骤: 1. 写setup.py 2. 运行“python setup.py sdist” 3. 在当前目录下会生成文件夹“dist”,打包好的代码就在dist中,以“.tar.gz”的形式被压缩 ...

随机推荐

  1. 吴裕雄--天生自然python学习笔记:python爬虫PM2.5 实时监测显示器

    PM2.5 对人体的健康影响很大,所以空气中的 PM2.5 实时信息受到越来越多的关注. Python 的 Pandas 套件不但可以自动读取网页中的表格 数据 , 还可对数据进行修改.排序等处理,也 ...

  2. Ubuntu16.04编译libjpeg-turbo库

    一.环境依赖 CMake v2.8.12或以后 NASM or YASM (if building x86 or x86-64 SIMD extensions),如果使用NASM, 依赖2.10之后版 ...

  3. labview学习——用户界面模式

    根据事件的发出源,事件可以抽象地分为用户界面事件和用户自定义事件.相关的基本知识可以参考有关的书籍,这里不再阐述事件结构的使用方法. 下图所示的结构称为用户界面事件模式,它能够很便捷地响应各种事件并且 ...

  4. Eclipse安装tomcat插件

    安装插件:Pivotal tc Server Integration for Eclipse右击server可以定位到web项目部署的目录http://marketplace.eclipse.org/ ...

  5. Esp8266和HomeKit

    Summary 没有找到合适的简单解决方案,将Esp8266控制的设备连接到HomeKit.所以参照EspEasy实现 HomeKit和Esp8266连接. 连接方式: Raspberry Zero ...

  6. springboot项目基础面试题

    1.springboot与spring的区别. 引用自官方说法: java在集成spring等框架需要作出大量的配置,开发效率低,繁琐.所以官方提出 spring boot的核心思想:习惯优于配置.可 ...

  7. LVS(注意iptables和selinux的问题)

    1.LVS(高负载) LVS(Linux虚拟服务器) Linux Virtual Server LVS集群采用IP负载均和技术和基于内容请求分发技术.调取器具有很好的吞吐率,将请求均衡的转移到不同的服 ...

  8. OA|开放获取期刊|掠夺性期刊|DOI|ORCID|图书馆服务|零次文献|信息素质|

    OA|开放获取期刊|掠夺性期刊|DOI|ORCID|图书馆服务|零次文献| 信息检索 信息素质是什么? 信息素质是指一个人的信息需求.信息意识.信息知识.信息道德.信息能力方面的基本素质. Some ...

  9. git使用的简要介绍

    GIT """ 什么是git:版本控制器 - 控制的对象是开发的项目代码 代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本 ...

  10. JMeter之BeanShell断言---获取时间戳

    1.创建线程组,创建一个BeanShell Sampler,在其中编写BeanShell脚本. 2.在Jmeter中,可以利用${__time(,)}时间戳函数来获取十位的时间戳,如: vars.pu ...