目的java
组件node
实现git
最初用了Big Data Europe的docker-spark-hadoop-workbench,可是docker 服务运行后在spark-notebook中运行代码会出现经典异常:github
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
发现是由于spark-notebook和spark集群使用的spark版本不一致. 因而fork了Big Data Europe的repo,在此基础上作了一些修改,基于spark2.11-hadoop2.7实现了一个可用的workbench.docker
运行docker服务apache
docker-compose up -d
扩展spark worker节点ide
docker-compose scale spark-worker=3
测试服务oop
各个服务的URL以下:测试
Namenode: http://localhost:50070 Datanode: http://localhost:50075 Spark-master: http://localhost:8080 Spark-notebook: http://localhost:9001 Hue (HDFS Filebrowser): http://localhost:8088/home
如下是各个服务的运行截图spa
HDFS Filebrower
Spark集群
Spark-notebook
运行例子
1. 上传csv文件到HDFS FileBrowser,
2. Spark notebook新建一个notebook
3. 在新建的notebook里操做HDFS的csv文件
具体的步骤参考这里
如下是spark-notebook运行的截图:
代码连接