使用 Docker 运行 Hadoop(适用于 DEV 和 PROD 环境)
Posted
技术标签:
【中文标题】使用 Docker 运行 Hadoop(适用于 DEV 和 PROD 环境)【英文标题】:Run Hadoop with Docker (for both DEV and PROD environments) 【发布时间】:2016-09-29 13:20:59 【问题描述】:用 Docker 运行 Hadoop 的最简单方法是什么(适用于开发环境和实际环境)?
这是本地开发环境和真实环境的区别应该只是目标机器。
附:相关的
Is Hadoop in Docker container faster/worth it? Using Hadoop and Spark on Docker containers Run a hadoop cluster on docker containers How to set up Hadoop in Docker Swarm? Is it possible to start multi physical node hadoop clustster using docker? Multi-node Hadoop cluster with Docker还有很多https://***.com/questions/tagged/hadoop+docker
【问题讨论】:
【参考方案1】:有几个Hadoop images on Docker Hub,但如果你想要适合不同环境的东西,你会想要完全分布式运行 - 即使用一个容器用于 HDFS 和 YARN 主节点,以及多个容器用于工作节点。
我有一张可以用作起点的图片:sixeyed/hadoop-dotnet。从Dockerfile 可以看出,它从 Java 基础镜像开始,安装 Hadoop 并使用startup script,因此容器可以作为 master 或 worker 运行。
这意味着您可以使用最新的网络堆栈通过 Docker 运行分布式集群:
docker network create hadoop
docker run -d -p 50070:50070 -p 8088:8088 \
--network hadoop --name hadoop-dotnet-master \
sixeyed/hadoop-dotnet master
docker run -d -p 50075:50075 -p 8142:8042 -p 19888:19888 \
--network hadoop
sixeyed/hadoop-dotnet worker
或者您可以使用a Docker Compose file 运行一个完全分布式的集群。
该图像还包含 .NET Core,但如果您不使用它,您可以删除该部分。
【讨论】:
以上是关于使用 Docker 运行 Hadoop(适用于 DEV 和 PROD 环境)的主要内容,如果未能解决你的问题,请参考以下文章
HDFS Property列表,适用于Hadoop 2.4以上 。
Docker 在 VS 中运行,但在发布到 AWS 时出错?错误 CS5001:程序不包含适用于入口点的静态“Main”方法