Spark-Notebook 集群与云平台配置指南

Spark-Notebook 集群与云平台配置指南

spark-notebook spark-notebook/spark-notebook: 是一个基于 Apache Spark 的交互式数据分析笔记本。适合对大数据处理、机器学习和数据分析有兴趣的人,特别是想使用 Apache Spark 进行数据分析和挖掘的人。特点是提供了一套交互式的界面,可以编写和运行 Spark 代码,同时支持多种数据源和可视化方式,具有高灵活性和易用性。 spark-notebook 项目地址: https://gitcode.com/gh_mirrors/sp/spark-notebook

概述

本文将详细介绍如何在不同的集群环境和云平台上配置和运行Spark-Notebook项目。Spark-Notebook是一个基于Web的交互式数据分析环境,支持Apache Spark。我们将重点讲解在安全YARN集群、Amazon EMR(不同版本)以及Mesosphere DCOS上的配置方法。

安全YARN集群配置

基本配置

在安全YARN集群上运行Spark-Notebook需要特别注意Kerberos认证和资源管理。以下是关键配置步骤:

  1. 环境变量设置

    export HADOOP_CONF_DIR=/etc/hadoop/
    # 可选调试模式
    # export HADOOP_JAAS_DEBUG=true
    
  2. 内存调优

    • 显式设置spark.yarn.am.memoryOverheadspark.yarn.executor.memoryOverhead
    • 添加spark.yarn.archive(可使用与Spark、Scala和Hadoop版本完全相同的Apache Spark归档文件)

示例笔记本元数据

{
  "customSparkConf": {
    "spark.app.name": "Notebook",
    "spark.master": "yarn-client",
    "spark.executor.memory": "4G",
    "spark.driver.memory": "4G",
    "spark.yarn.am.memoryOverhead": "1024",
    "spark.yarn.executor.memoryOverhead": "1024",
    "spark.yarn.driver.memoryOverhead": "1024",
    "spark.warehouse.dir": "/users/spark/warehouse",
    "spark.yarn.archive": "hdfs:/user/spark/spark_yarn_archive.zip"
  }
}

Kerberos认证

对于安全集群访问,Spark-Notebook需要有效的Kerberos凭据:

  1. 在启动Spark-Notebook前执行kinit

  2. 设置cron任务定期更新凭据:

    kinit -V -k -t /some-path/spark.headless.keytab -r 7d spark@somerealm.com
    
  3. 多用户场景下,需要配置用户模拟功能

Amazon EMR配置

Amazon EMR提供了托管Hadoop和Spark服务。我们将介绍不同EMR版本的配置方法。

EMR 3.x版本

环境信息
  • YARN集群管理器
  • Hadoop 2.4.0
  • Spark 1.3.1
  • Hive 0.13.1
  • Scala 2.10.4
安装与配置
  1. 安装Spark-Notebook

    wget [预构建包URL]
    tar xvzf spark-notebook-0.6.0-scala-2.10.4-spark-1.3.1-hadoop-2.4.0-with-hive-with-parquet.tgz
    mv spark-notebook-0.6.0-scala-2.10.4-spark-1.3.1-hadoop-2.4.0-with-hive-with-parquet spark-notebook
    
  2. 配置application.conf

    custom {
      sparkConf {
        spark.local.dir="/mnt/spark,/mnt1/spark"
        spark.driver.extraClassPath="..."
        spark.master="yarn-client"
        # 其他配置...
      }
    }
    
  3. 运行命令

    export HADOOP_CONF_DIR=/home/hadoop/conf
    export EXTRA_CLASSPATH=/home/hadoop/share/hadoop/common/lib/hadoop-lzo.jar:/home/hadoop/hive/conf
    ./bin/spark-notebook -Dconfig.file=./conf/application.conf -Dhttp.port=8989
    

EMR 4.x版本

EMR 4.x系列有多个子版本,配置略有不同。

4.0版本环境
  • Hadoop 2.6.0
  • Spark 1.4.1
  • Hive 1.0.0
4.2版本环境
  • Hadoop 2.6.0
  • Spark 1.5.2
  • Hive 1.0.0
关键配置差异
  1. 类路径设置

    • 4.2版本需要更详细的类路径配置
    • 增加了额外的Java选项
  2. 运行环境变量

    export SPARK_LOCAL_IP=$(ec2-metadata -o | cut -d ' ' -f2)
    export SPARK_LOCAL_HOSTNAME=$(ec2-metadata -h | cut -d ' ' -f2)
    export CLASSPATH_OVERRIDES=...
    
  3. Spark Assembly路径

    • 不同版本对应不同的assembly jar路径

Mesosphere DCOS配置

虽然文档中未详细说明,但Spark-Notebook也可以配置在Mesosphere DCOS(基于Mesos)上运行。关键配置包括:

  1. 设置spark.master为Mesos master地址
  2. 配置适当的资源分配
  3. 确保网络连接和端口访问

最佳实践

  1. 持久化运行

    • 使用screennohup保持会话
    screen -m -d -S "snb" bash -c '...'
    
  2. 访问方式

    • SSH端口转发(推荐)
    • 安全组开放端口(不推荐生产环境)
  3. 监控

    • 通过YARN UI监控应用状态
    • 检查Spark事件日志

总结

本文详细介绍了Spark-Notebook在不同集群环境和云平台上的配置方法。关键点包括:

  1. 安全YARN集群需要Kerberos认证和适当的内存配置
  2. Amazon EMR不同版本需要特定的依赖和配置
  3. 持久化运行和安全的访问方式是生产环境的关键考虑因素

通过遵循这些指南,您可以在各种环境中成功部署和使用Spark-Notebook进行大数据分析。

spark-notebook spark-notebook/spark-notebook: 是一个基于 Apache Spark 的交互式数据分析笔记本。适合对大数据处理、机器学习和数据分析有兴趣的人,特别是想使用 Apache Spark 进行数据分析和挖掘的人。特点是提供了一套交互式的界面,可以编写和运行 Spark 代码,同时支持多种数据源和可视化方式,具有高灵活性和易用性。 spark-notebook 项目地址: https://gitcode.com/gh_mirrors/sp/spark-notebook

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芮川琨Jack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值