利用docker搭建spark hadoop workbench

Posted 梧留柒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用docker搭建spark hadoop workbench相关的知识,希望对你有一定的参考价值。

目的

  • 用docker实现所有服务
  • 在spark-notebook中编写Scala代码,实时提交到spark集群中运行
  • 在HDFS中存储数据文件,spark-notebook中直接读取

组件

  • Spark (Standalone模式, 1个master节点 + 可扩展的worker节点)
  • Spark-notebook
  • Hadoop name node
  • Hadoop data node
  • HDFS FileBrowser

实现

最初用了Big Data Europe的docker-spark-hadoop-workbench,但是docker 服务运行后在spark-notebook中运行代码会出现比较经典的异常:

技术分享图片
 java.lang.ClassCastException: cannot assign instance of scala.collection.immutable.List$SerializationProxy to field org.apache.spark.rdd.RDD.org$apache$spark$rdd$RDD$$dependencies_ of type scala.collection.Seq in instance of org.apache.spark.rdd.MapPartitionsRDD
View Code

 

经过调查发现是因为spark-notebook和spark集群使用的spark版本不一致,于是fork了Big Data Europe的repo,在此基础上做了一些修改,基于spark2.11-hadoop2.7实现了一个可用的workbench.

 

代码链接

Github

以上是关于利用docker搭建spark hadoop workbench的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop集群+Spark集群搭建基于VMware虚拟机教程+安装运行Docker

Hadoop集群+Spark集群搭建基于VMware虚拟机教程+安装运行Docker

Hadoop集群+Spark集群搭建基于VMware虚拟机教程+安装运行Docker

搭建docker-spark-hadoop-hive-zeppelin分布式集群环境

基于Docker搭建大数据集群Spark部署

Docker搭建Kafka测试集群