zoukankan      html  css  js  c++  java
  • 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 在有些机器要配置好。

  • 相关阅读:
    scp命令报错-bash: scp: command not found
    shell比较两个字符串是否相等
    bat脚本:自动压缩n天前的文件【转载】
    shell bash判断文件或文件夹是否存在
    linux文件分割(将大的日志文件分割成小的)【转载】
    TCP/IP模型各个层次的功能和协议
    nginx初级安装配置
    Heartbeat+DRBD+MySQL高可用方案【转】
    【转载】CentOS 6.4下PXE+Kickstart无人值守安装操作系统
    oracle的exp和imp命令的使用【转载】
  • 原文地址:https://www.cnblogs.com/weiweifeng/p/7489449.html
Copyright © 2011-2022 走看看