当前位置: 首页 > 网络应用技术

Docker-Compose设置了Hadoop群集

时间:2023-03-07 00:30:06 网络应用技术

  在许多大数据实验中,需要使用HDFS群集,但是要创建虚拟机并根据教程逐步设置可用的群集非常麻烦,并且可以通过Docker-Compose,您可以借用Mirror。由大兄弟创建,以迅速实现集群。

  本文中安装的版本是Hadoop3.2.1,并且在Dockerhub上有更多版本的镜像。如有必要,您可以自己替换版本。

  Hadoop群集分配了5个节点,包括:NAMENODE(管理命名空间),DataNode(提供读取和编写请求),NodeManager(运行程序和监视节点),ResourceManager(Global Resource Monitoring),HistoryServer(RecordServer(记录操作)操作信息)节点。

  镜子在Dockerhub上使用开源BDE2020/Hadoop系列图像。使用的Hadoop版本为3.2.1,Hadoop群集配置如下:

  以上是docker-compose.yml的相关配置。通过通行证,可以将HDFS文件映射到局部。这样,即使我们删除了容器,只要在撰写目录中的文件中,我们就可以在创建一个新群集后创建了一个新群集。原始HDFS文件将在不重新计划的情况下还原。

  另外,将目录留在Namenode节点。主机将文件传递到输入中后,同一文件将出现在Namenode节点容器的输入路径下,这对于我们来说很方便地将文件上传到HDFS。

  其中,Namenode节点暴露了两个端口,9000个端口和9870端口。

  端口9000用于HDFS连接,例如:使用PySpark读取数据如下:

  (因为在同一集群中,您可以使用容器手指替换地址)

  通过访问端口9000,您可以在浏览器中检查HDF的状态(启动后):

  然后,您需要配置Hadoop环境以在同一道路下创建Hadoop.env文件(对应于Docker-Compose.yml)。

  如果端口9000与其他服务发生冲突,则可以将其修改为其他端口,但是相应的Docker-Compose.yml也需要修改。

  在docker-compose.yml的目录中执行命令,然后启动群集(第一个操作需要下载图像):

  对于文件上传,首先将数据文件传递到本地输入目录:

  由于从输入目录到hadoop群集的Namenode节点目录的映射设置在Docker组合中,因此您可以看到,在输入Namenode时,相关文件已上传到Namenode节点:

  使用命令完成实验数据的上传:

  查看已上传的文件:

  原始:https://juejin.cn/post/7102410832729882638