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

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

快速搭建docker spark+hadoop计算环境_第1张图片
当然,如果希望计算跑得很流畅,你需要一个好的服务器。
我们选择的是github和docker-hub上都很火的一个镜像。


这个库包含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

# 以下语句结果是1000
scala> 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

未完待续

你可能感兴趣的:(随感)