美文网首页玩转大数据大数据
spark2.2 源码编译并安装部署

spark2.2 源码编译并安装部署

作者: 后端老鸟 | 来源:发表于2017-12-17 23:51 被阅读0次


    【转载请注明出处】:https://www.jianshu.com/p/5f8dc1b520e5

    1.环境说明

    spark 运行在Java 8+、Python 2.7+/3.4+ 、 R 3.1+。spark2.2.0用scala2.11,编译的时候需要scala2.11.x、Maven 3.3.9+。

    2.下载源码

    git clone git://github.com/apache/spark.git -b branch-2.2

    3.编译

    设置maven的内存使用

    export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"

    如果编译SparkR这时需要R的安装环境

    下载地址,https://cloud.r-project.org/

    我是mac,下载的是mac的安装包 https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/macosx/R-3.4.3.pkg

    其他系统类似,然后配置环境变量

    export R_HOME=/Library/Frameworks/R.framework/Resources

    export PATH=$R_HOME/bin:$PATH

    安装R的依赖包

    R -e "install.packages(c('knitr', 'rmarkdown', 'testthat', 'e1071', 'survival', 'devtools','roxygen2'), repos='http://cran.us.r-project.org')"

    这下再执行编译命令

    ./dev/make-distribution.sh --pip --r --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn

    如果不编译SparkR

    ./dev/make-distribution.sh --pip --tgz -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn

    编译完

    编译遇到的问题

    3.1. Error in loadDF : java.net.ConnectException: Call From localhost/127.0.0.1 to localhost:8200 failed on connection exception: java.net.ConnectException: Connection refused; 

    这个是因为在编译SparkR时,需要在hadoop运行上运行测试,启动hadoop就好了。

    3.2. org.apache.spark.sql.AnalysisException: Path does not exist: hdfs://localhost:8200/work/tools/hdp/spark-2.2-src/examples/src/main/resources/people.json;

    在编译SparkR运行测试例子时这个文件并没有上传到hdfs中,手动上传一下即可。

    hadoop fs -mkdir -p /work/tools/hdp/spark-2.2-src/examples/src/main/resources/

    hadoop fs -put /work/tools/hdp/spark-2.2-src/examples/src/main/resources/ /work/tools/hdp/spark-2.2-src/examples/src/main/resources/people.json 

    3.3. checking PDF version of manual without hyperrefs or index ... ERROR    pdflatex is not available

    在编译SparkR时需要pdflatex,这个错误是因为没有安装MikTeX,官网的地址是www.miktex.org,在官网的首页有各种系统的安装说明和安装方法,照着做即可。我在mac上安装时遇到了一些问题,mark一下

    CMake Error at /usr/local/Cellar/cmake/3.10.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):  Could NOT find GMP (missing: GMP_LIBRARY GMP_INCLUDE_DIR)

    我在安装gmp时发现提示已经安装

    brew install gmp

    执行命令

    brew link gmp

    提示

    Linking /usr/local/Cellar/gmp/6.1.2_1... Error: Could not symlink share/info/gmp.info/usr/local/share/info is not writable.

    这是因为没有写/usr/local/share/info的权限,需要单独加权限

    sudo chown -R $(whoami) /usr/local/share/info

    重新执行

    brew link gmp

    brew install miktex

    等待安装完miktex之后,命令都会安装在/usr/local/bin,使用下面命令进行检验

    which pdflatex

    输出

    /usr/local/bin/pdflatex

    如果没有,请重新打开terminal,如果无效有可能安装失败,需要重新安装,然后重新执行spark的编译命令。

    4.安装

    将编译好的安装包解压到安装目录

    4.1 配置环境变量

    vi /etc/profile

    添加:

    export SPARK_HOME=/work/tools/hdp/spark-2.2

    export PATH=$SPARK_HOME/bin:$PATH

    使变量生效

    source /etc/profile

    4.2.进入目录conf修改配置文件

    4.2.1 spark-env.sh

    cp spark-env.sh.template spark-env.sh

    4.2.2 slaves

    cp slaves.template slaves

    4.2.3 log4j.properties

     cp log4j.properties.template log4j.properties

    4.2.4 fairscheduler.xml

    cp fairscheduler.xml.template fairscheduler.xml

    到这里单节点的环境已经配置完了,启动spark

     sbin/start-all.sh

    查看进程

    jps

    查看Spark的WebUI界面

    http://localhost:8080/

    打开spark-shell

    spark-shell

    spark-shell 的UI

    http://localhost:4040/jobs/

    至此,单节点安装已经完成。

    【转载请注明出处】:https://www.jianshu.com/p/5f8dc1b520e5

    相关文章

      网友评论

        本文标题:spark2.2 源码编译并安装部署

        本文链接:https://www.haomeiwen.com/subject/sjezbxtx.html