使用Docker运行Hadoop的最简单方法(适用于开发和真实环境)是什么?
那对于本地开发环境而言,真正的环境差异应该只是目标机器。
P.S。与
有关答案 0 :(得分:3)
有一些Hadoop images on Docker Hub,但是如果你想要一些适合不同环境的东西,你需要完全分布式运行 - 即使用HDFS和YARN主节点的容器,以及工作人员的多个容器节点
我有一个像你可以用作起点的图像:sixeyed/hadoop-dotnet。您可以从Dockerfile看到它从Java基础映像开始,安装Hadoop并使用startup script,因此容器可以作为主服务器或工作服运行。
这意味着您可以使用最新的网络堆栈运行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,但如果您不使用它,则可以删除该部分。