news 2026/11/3 9:10:49

【运维】hadoop3.0.3集群安装(一)多节点安装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【运维】hadoop3.0.3集群安装(一)多节点安装

文章目录

  • 一.Purpose
  • 二. Prerequisites
  • 三. Installation
    • 1. 节点规划
    • 2. Configuring Hadoop in Non-Secure Mode
    • 3. 准备工作
    • 4. 配置
      • core-site.xml
      • hdfs-site.xml
      • yarn-site.xml
      • mapred-site.xml
      • workers
    • 4. 分发配置、创建文件夹
    • 5. 格式化
    • 6. 操作进程
      • 6.1. hdfs
        • 启动
        • 停止
      • 6.2. yarn
        • 启动
        • 停止
    • 7. 访问

一.Purpose

This document describes how to install and configure Hadoop clusters ranging from a few nodes to extremely large clusters with thousands of nodes.
This document does not cover advanced topics such as Security or High Availability.

此文章目的在于多节点hadoop(从几个节点到上千个节点)的安装,但这里不包括高可用和安全相关的内容。

二. Prerequisites

  • java 8
  • 稳定版的hadoop镜像:本文下载的是hadoop3.0.3版本

三. Installation

Typically one machine in the cluster is designated as the NameNode and another machine as the ResourceManager, exclusively. These are the masters.
Other services (such as Web App Proxy Server and MapReduce Job History server) are usually run either on dedicated hardware or on shared infrastructure, depending upon the load.
The rest of the machines in the cluster act as both DataNode and NodeManager. These are the slaves.

  • 管理节点:通常,集群中的一台机器被指定为NameNode,另一台机器被指定为ResourceManager。
  • 工作节点:集群中的其余机器同时充当DataNode和NodeManager。
  • 其他服务:(如Web App Proxy Server和MapReduce Job History Server)通常在专用硬件或共享基础设施上运行,具体取决于负载,这里我放在了除管理节点之外的节点

1. 节点规划

根据上面的建议,我这里选择了两个安装节点进行组件规划

节点hdfs组件yarn组件
10.xxx(node1)namenode、datanoderesourcemanager、nodemanager
10.xxx(node2)secondaryNameNode、datanodenodemanager、jobHistorynode

2. Configuring Hadoop in Non-Secure Mode

HDFS daemons are NameNode, SecondaryNameNode, and DataNode. YARN daemons are ResourceManager, NodeManager, and WebAppProxy. If MapReduce is to be used, then the MapReduce Job History Server will also be running. For large installations, these are generally running on separate hosts.

Hdfs 包括:namenode、secondaryNamenode、datanode
yarn包括:resourcemanager、nodemanger、和WebAppProxy(暂时没有规划此进程)
如果运行mr,则MapReduce Job History Server也需要

注意:

对于大型安装,上述组件都是分散在不同机器中的。

3. 准备工作

每个节点【node1、node2】操作:

mkdir-p/home/user/hadoopcd/home/user/hadooptar-zxvfhadoop.tar.gzln-shadoop-3.0.3 hadoop

设置环境变量:

vim~/.bashrc# 添加如下内容exportHADOOP_HOME=/home/user/hadoop/hadoopexportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexportHADOOP_CONF_DIR=/home/user/hadoop/hadoop/etc/hadoop# 执行source~/.bashrc

4. 配置

在/{user_home}/hadoop/hadoop/etc/hadoop/ 下

core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://namenodeIp:9000</value><description>ip 为namenode所在ip</description></property></configuration>

hdfs-site.xml

<!-- ===========namenode=========== --><property><name>dfs.namenode.name.dir</name><value>/opt/data/hdfs/namenode,/opt/data02/hdfs/namenode</value><description>If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy. Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently. 用于保存Namenode的namespace和事务日志的路径</description></property><!-- ===========namenode=========== --><!-- ===========datanode=========== --><property><name>dfs.datanode.data.dir</name><value>/opt/data/hdfs/data,/opt/data02/hdfs/data</value><description>If this is a comma-delimited list of directories, then data will be stored in all named directories, typically on different devices.</description></property>

yarn-site.xml

<!-- Configurations for ResourceManager: --><property><name>yarn.resourcemanager.address</name><value>node1:8832</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>node1:8830</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>node1:8831</value></property><property><name>yarn.resourcemanager.admin.address</name><value>node1:8833</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>node1:8888</value></property><property><name>yarn.resourcemanager.hostname</name><value>rmhostname</value></property><property><name>yarn.nodemanager.local-dirs</name><value>/data/yarn/nm-local-dir,/data02/yarn/nm-local-dir</value></property><property><name>yarn.nodemanager.log-dirs</name><value>/home/taiyi/hadoop/yarn/userlogs</value></property><property><name>yarn.nodemanager.remote-app-log-dir</name><value>/home/taiyi/hadoop/yarn/containerlogs</value></property><property><name>yarn.nodemanager.resource.memory-mb</name><value>61440</value><description>通过free -h 查看机器具体内存设定</description></property>

mapred-site.xml

<!--Configurations for MapReduce JobHistory Server:--><property><name>mapreduce.jobhistory.address</name><value>node2:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>node2:19888</value></property><!--Configurations for MapReduce JobHistory Server:-->

workers

配置工作节点

node1 node2

4. 分发配置、创建文件夹

配置分发到另外一个节点

scp-r\/home/user/hadoop/hadoop/etc/hadoop/\root@node2hostname:/home/user/hadoop/hadoop/etc/

所有节点创建文件夹

mkdir-p/data/yarn/nm-local-dir /data02/yarn/nm-local-dirchown-Ruser:user /data/yarn /data02/yarnmkdir-p/opt/data/hdfs/namenode /opt/data02/hdfs/namenode /opt/data/hdfs/data /opt/data02/hdfs/datachown-Ruser:user /opt/data /opt/data02

5. 格式化

namenode所在节点执行

hdfs namenode-format

如果看到这些信息格式化成功

2022-08-1217:43:11,039INFO common.Storage:Storage directory/Users/lianggao/MyWorkSpace/002install/hadoop-3.3.1/hadoop_repo/dfs/name has been successfully formatted.2022-08-1217:43:11,069INFO namenode.FSImageFormatProtobuf:Saving image file/Users/lianggao/MyWorkSpace/002install/hadoop-3.3.1/hadoop_repo/dfs/name/current/fsimage.ckpt_0000000000000000000usingno compression2022-08-1217:43:11,200INFO namenode.FSImageFormatProtobuf:Image file/Users/lianggao/MyWorkSpace/002install/hadoop-3.3.1/hadoop_repo/dfs/name/current/fsimage.ckpt_0000000000000000000 of size403bytes saved in0seconds.

如果格式化失败需要先删除nn的管理目录

因为格式化的时候是创建了nn文件的管理目录 common.Storage: Storage directory /data/hadoopdata/name has been successfully formatted.

6. 操作进程

6.1. hdfs

启动

node1

hdfs--daemonstart namenode hdfs--daemonstart datanode

node2

hdfs--daemonstart secondarynamenode hdfs--daemonstart datanode
停止
hdfs--daemonstop namenode hdfs--daemonstop secondarynamenode hdfs--daemonstop datanode

6.2. yarn

启动

node1

yarn--daemonstart resourcemanageryarn--daemonstart nodemanager

node2

mapred--daemonstart historyserveryarn--daemonstart nodemanager
停止
yarn--daemonstop resourcemanageryarn--daemonstop nodemanager mapred--daemonstop historyserver

7. 访问

http://node1:9870/ http://node2:8088/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 9:10:06

【flink源码-1】【DataStream API】datastream程序各部分的作用、pipeline构建的意义、flink算子的内部结构有哪些之map源码分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/3 9:09:00

STM32G031K8与MAX14431隔离SPI设计:工业通信抗干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/3 9:08:04

LubanCat 5软实时化实践:RK3588+PREEMPT_RT内核构建与RKDevTool刷机部署

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/3 9:08:03

工业SPI隔离实战:MAX14431BAEE+与STM32F767BI高速通信设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/3 9:06:41

STM32F429ZI与MAX14431BAEE+隔离SPI通信实战:从选型到链路稳定

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华