快速搭建docker spark+hadoop计算环境

来源:互联网 发布:怎么去掉知乎标题 编辑:程序博客网 时间:2024/06/05 04:55

快速搭建docker spark+hadoop计算环境

这里写图片描述
当然,如果希望计算跑得很流畅,你需要一个好的服务器。
我们选择的是github和docker-hub上都很火的一个镜像。

DockerPulls
DockerStars

这个库包含Docker文件与Apache Spark构建一个docker镜像。这个docker镜像依赖于我们以往的Hadoop的docker镜像。基础的那个Hadoop镜像也是正式的官方docker镜像。

从Docker Repository下载镜像

[root@hanss~]# docker pull sequenceiq/spark:1.6.0

构建镜像

[root@hanss~]# docker build --rm -t sequenceiq/spark:1.6.0 .

运行镜像

  • 如果使用Boot2Docker确保你的虚拟机有超过2GB内存
  • 你的/etc/hosts文件中添加$(Boot2Docker IP)作为主机“sandbox”这样更容易访问你的sandbox的web UI 接口
  • 运行容器时可以打开yarn 的web UI 管理接口
[root@hanss~]# docker run -it -p 8088:8088 -p 8042:8042 -p 4040:4040 -h sandbox sequenceiq/spark:1.6.0 bash

或者

[root@hanss~]# docker run -d -h sandbox sequenceiq/spark:1.6.0 -d

测试运行一下

有两种部署模式可用于在yarn上启动spark应用程序。

YARN-client(单机)模式

在YARN-client模式中,驱动程序在客户机进程中运行,应用程序master仅用于请求来自yarn的资源。

# 运行spark shell[root@hanss~]# spark-shell \--master yarn-client \--driver-memory 1g \--executor-memory 1g \--executor-cores 1# 以下语句结果是1000scala> sc.parallelize(1 to 1000).count()
YARN-cluster(集群) 模式

在集群模式中,spark驱动程序运行在应用程序主进程中,进程由集群上的yarn管理,client在启动应用程序后可以离开。
估算 π (yarn-cluster mode):

# 运行如下命令后会写入"Pi is roughly 3.1418"到记录里# 注意你必须保证 --files 参数在cluster模式的那个metric.properties存在[root@hanss~]# spark-submit \--class org.apache.spark.examples.SparkPi \--files $SPARK_HOME/conf/metrics.properties \--master yarn-cluster \--driver-memory 1g \--executor-memory 1g \--executor-cores 1 \$SPARK_HOME/lib/spark-examples-1.6.0-hadoop2.6.0.jar

估算 π (yarn-client mode):

# 运行如下命令后会输出"Pi is roughly 3.1418"输出到屏幕[root@hanss~]# spark-submit \--class org.apache.spark.examples.SparkPi \--master yarn-client \--driver-memory 1g \--executor-memory 1g \--executor-cores 1 \$SPARK_HOME/lib/spark-examples-1.6.0-hadoop2.6.0.jar

未完待续

原创粉丝点击