使用 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——Hadoop完全分布式安装

docker—适用于中小企业的生产测试开发环境

java适用于postgreSQL数据库的框架!

Docker 在 VS 中运行,但在发布到 AWS 时出错?错误 CS5001:程序不包含适用于入口点的静态“Main”方法

在带有 Docker 桌面的 GitLab CI 管道上使用适用于 Windows 的 Gitlab-Runner