【Hadoop】使用Docker容器搭建伪分布式集群

使用Docker容器搭建Hadoop伪分布式集群

1、编写docker-compose.yaml文件配置集群
version: "3"
services:
   namenode:
      image: apache/hadoop:3.3.6
      hostname: namenode
      command: ["hdfs", "namenode"]
      ports:
        - 9870:9870
      env_file:
        - ./config
      environment:
          ENSURE_NAMENODE_DIR: "/tmp/hadoop-root/dfs/name"
   datanode:
      image: apache/hadoop:3.3.6
      command: ["hdfs", "datanode"]
      env_file:
        - ./config      
   resourcemanager:
      image: apache/hadoop:3.3.6
      hostname: resourcemanager
      command: ["yarn", "resourcemanager"]
      ports:
         - 8088:8088
      env_file:
        - ./config
      volumes:
        - ./test.sh:/opt/test.sh
   nodemanager:
      image: apache/hadoop:3.3.6
      command: ["yarn", "nodemanager"]
      env_file:
        - ./config

配置文件相关解释

hdfs namenode - 该命令用于启动Hadoop分布式文件系统的名称节点。名称节点是HDFS的关键组件之一,负责管理文件系统的命名空间和元数据。

hdfs datanode - 该命令用于启动Hadoop分布式文件系统的数据节点。数据节点负责存储和处理实际的数据块。

yarn resourcemanager - 该命令用于启动YARN的资源管理器。ResourceManager是YARN的核心组件,负责管理集群中的资源分配和作业调度。

yarn nodemanager - 该命令用于启动YARN的节点管理器。NodeManager在每个节点上运行,负责管理和监控容器的启动、停止和状态报告。

ENSURE_NAMENODE_DIR: “/tmp/hadoop-root/dfs/name” 这个配置是用来指定Hadoop分布式文件系统(HDFS)的名称节点(NameNode)的数据存储路径。

2、Config 配置文件
HADOOP_HOME=/opt/hadoop
CORE-SITE.XML_fs.default.name=hdfs://namenode
CORE-SITE.XML_fs.defaultFS=hdfs://namenode
HDFS-SITE.XML_dfs.namenode.rpc-address=namenode:8020
HDFS-SITE.XML_dfs.replication=1
MAPRED-SITE.XML_mapreduce.framework.name=yarn
MAPRED-SITE.XML_yarn.app.mapreduce.am.env=HADOOP_MAPRED_HOME=$HADOOP_HOME
MAPRED-SITE.XML_mapreduce.map.env=HADOOP_MAPRED_HOME

你可能感兴趣的:(分布式,hadoop,docker)