• spark 源码编译 standalone 模式部署


    本文介绍如何编译 spark 的源码,并且用 standalone 的方式在单机上部署 spark。

    步骤如下:

    1. 下载 spark 并且解压

    本文选择 spark 的最新版本 2.2.0 (2017/07/01 发布)
    下载源码和解压的命令如下:

    SPARK_VERSION=2.2.0
    wget https://github.com/apache/spark/archive/v${SPARK_VERSION}.tar.gz -O spark-${SPARK_VERSION}.tar.gz
    tar -zvxf spark-${SPARK_VERSION}.tar.gz

    2. 编译

    编译大概需要半个小时左右时间,不同的机器可能用的时间不同。
    执行以下命令编译

    cd spark-${SPARK_VERSION}
    build/mvn -DskipTests clean package

    可参考 http://spark.apache.org/docs/latest/building-spark.html

    3. 配置

    如果都使用默认,可以略过这一步。如果要改配置,按照下面步骤。

    首先用下面的命令创建配置文件:

    cp conf/spark-defaults.conf.template conf/spark-defaults.conf
    cp conf/spark-env.sh.template conf/spark-env.sh cp conf/slaves.template conf/slaves

    然后,修改 conf/spark-defaults.conf,主要有以下配置

    spark.master                     spark://master:7077
    spark.eventLog.enabled           true
    spark.eventLog.dir               hdfs://namenode:8021/directory
    spark.serializer                 org.apache.spark.serializer.KryoSerializer
    spark.driver.memory              5g
    spark.executor.extraJavaOptions  -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"

    然后,修改 conf/spark-env.sh,主要修改的有以下配置

    HADOOP_CONF_DIR=/home/work/hadoop-2.6.0-cdh5.7.0/
    
    SPARK_WORKER_CORES=10
    SPARK_WORKER_MEMORY=40g
    SPARK_MASTER_HOST=192.168.1.112
    SPARK_LOCAL_IP=192.168.1.112

    然后,修改 conf/slaves, 添加 slave 的 hostname 或者 IP,如果只有一个 slave,conf/slaves 内容如下:

    192.168.1.112

    如果有多个 slave,每个 slave 占一行,如下:

    192.168.1.112
    192.168.1.113

    3. standalone 模式部署

    使用下面的命令部署 spark:

    ./sbin/start-all.sh

    或者用下面的命令分步骤执行,效果是一样的:

    ./sbin/start-master.sh
    ./sbin/start-slave.sh spark://localhost:7077

    执行上面的命令之后,spark 服务就在单机上起来了。可以用命令 ps aux | grep spark 查看,会有两个 spark 的进程。

    4. 测试

    用下面的命令可以提交一个任务给 spark 执行,测试部署是否成功。

    ./bin/spark-submit 
    --master spark://localhost:7077 
    examples/src/main/python/pi.py

    如果没有出现错误信息,表示部署和执行任务成功。这个例子是让 spark 计算圆周率,结果是打印出来。

    5. 查看监控和统计信息

    http://<hostname>:8080/

    6. 关闭服务

    下面的命令可以关闭 spark 服务

    ./sbin/stop-all.sh

    7. 查看log

    logs 在目录 ./logs/ 下

    8. 注意事项

    1. 如果机器有多个网口绑定多个 IP,配置文件的 IP 和 启动 spark 服务 IP,以及 spark-submit 中的 IP 必须保持一致。localhost 在有些机器要配置好。

  • 相关阅读:
    类在编写过程中的一些注意事项
    SDUT 2893-B(DP || 记忆化搜索)
    Microsoft.AlphaImageLoader滤镜解说
    解决网页版权符号模糊不清
    oninput,onpropertychange,onchange的使用方法和差别
    VB.net数据库编程(03):一个SQLserver连接查询的简单样例
    使用WinSetupFromUSB来U盘安装windowsXP(不使用win PE系统)
    ActivityManager
    IP协议
    jni编译non-numeric second argument to `wordlist' function错误
  • 原文地址:https://www.cnblogs.com/weiweifeng/p/7489449.html
Copyright © 2020-2023  润新知