好的,配置和启动 Hadoop 需要以下步骤:

一、前置条件

  1. 安装 Java:确保已安装 JDK 1.8 或更高版本,并设置 $JAVA_HOME 环境变量。
  2. SSH 免密登录:确保主节点能通过 SSH 免密登录到所有节点(包括自身)。
  3. 主机名解析:在 /etc/hosts 文件中配置所有节点的 IP 和主机名映射。

二、核心配置文件(位于 $HADOOP_HOME/etc/hadoop/

  1. core-site.xml (集群核心参数):
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://主节点主机名:9000</value> <!-- 如 hdfs://master:9000 -->
        </property>
    </configuration>
    

  2. hdfs-site.xml (HDFS 配置):
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>3</value> <!-- 数据副本数 -->
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///path/to/namenode/data</value> <!-- NameNode 元数据存储路径 -->
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///path/to/datanode/data</value> <!-- DataNode 数据存储路径 -->
        </property>
    </configuration>
    

  3. mapred-site.xml (MapReduce 配置):
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value> <!-- 使用 YARN 作为资源管理器 -->
        </property>
    </configuration>
    

  4. yarn-site.xml (YARN 配置):
    <configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>主节点主机名</value> <!-- 如 master -->
        </property>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    

  5. workers (从节点列表):
    worker1
    worker2
    worker3
    

三、启动 Hadoop

  1. 初始化 HDFS (仅在首次启动时执行):

    hdfs namenode -format
    

    ⚠️ 注意:此操作会格式化 NameNode,清除所有 HDFS 数据!

  2. 启动 HDFS

    start-dfs.sh
    

  3. 启动 YARN

    start-yarn.sh
    

  4. 验证进程

    • 主节点:应有 NameNode, ResourceManager 进程。
    • 从节点:应有 DataNode, NodeManager 进程。
    jps # 查看 Java 进程
    

  5. 访问 Web UI

    • HDFShttp://主节点IP:9870
    • YARNhttp://主节点IP:8088

四、停止 Hadoop

stop-yarn.sh
stop-dfs.sh

请根据您的集群实际情况修改主机名、路径和副本数等参数。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐