Hadoop 2.x HDFS和YARN的启动方式有哪些

发布时间:2021-12-09 14:31:46 作者:小新
来源:亿速云 阅读:375
# Hadoop 2.x HDFS和YARN的启动方式有哪些

## 一、Hadoop 2.x架构概述

Hadoop 2.x是Apache Hadoop的重要版本升级,其核心改进在于将资源管理功能从MapReduce中分离出来,形成了独立的YARN框架。该版本主要由以下两大核心组件构成:

1. **HDFS(Hadoop Distributed File System)**  
   分布式文件存储系统,采用主从架构设计,包含NameNode(主节点)和DataNode(从节点)。

2. **YARN(Yet Another Resource Negotiator)**  
   资源管理框架,包含ResourceManager(主节点)和NodeManager(从节点)。

## 二、HDFS的启动方式

### 1. 单节点启动(本地模式)
适用于开发和测试环境,所有服务运行在单个JVM进程中。

```bash
# 格式化NameNode(首次启动前需执行)
hdfs namenode -format

# 启动所有HDFS服务
start-dfs.sh

特点
- 不区分NameNode和DataNode
- 日志直接输出到控制台
- 配置文件通常使用core-site.xmlhdfs-site.xml的默认值

2. 伪分布式启动

模拟完全分布式环境,但所有服务运行在单台机器。

# 格式化NameNode
hdfs namenode -format

# 分步启动
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
hadoop-daemon.sh start secondarynamenode

# 或使用组合命令
start-dfs.sh

关键配置文件

<!-- hdfs-site.xml -->
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>

3. 完全分布式启动

生产环境标准启动方式,需配置多台物理节点。

# 在NameNode主机执行
hdfs namenode -format
start-dfs.sh

# 单独启动JournalNode(HA模式)
hadoop-daemon.sh start journalnode

高可用(HA)配置要点

<property>
  <name>dfs.nameservices</name>
  <value>mycluster</value>
</property>
<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>

4. 安全模式启动

当NameNode检测到数据块丢失时自动进入,也可手动触发:

# 进入安全模式
hdfs dfsadmin -safemode enter

# 强制退出
hdfs dfsadmin -safemode leave

三、YARN的启动方式

1. 基础启动流程

# 启动YARN服务
start-yarn.sh

# 单独启停组件
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager

2. 资源管理器高可用

需配置ZooKeeper实现故障转移:

<!-- yarn-site.xml -->
<property>
  <name>yarn.resourcemanager.ha.enabled</name>
  <value>true</value>
</property>
<property>
  <name>yarn.resourcemanager.cluster-id</name>
  <value>cluster1</value>
</property>

启动命令:

# 在各个ResourceManager节点分别启动
yarn-daemon.sh start resourcemanager

3. 与HDFS的协同启动

完整集群启动推荐顺序:

# 1. 启动ZooKeeper(HA环境)
zkServer.sh start

# 2. 启动JournalNode(HA环境)
hadoop-daemon.sh start journalnode

# 3. 启动HDFS
start-dfs.sh

# 4. 启动YARN
start-yarn.sh

# 5. 启动MapReduce历史服务器
mr-jobhistory-daemon.sh start historyserver

四、系统服务方式启动

1. Systemd配置示例

适用于Linux系统服务管理:

# /etc/systemd/system/hadoop-namenode.service
[Unit]
Description=Hadoop NameNode

[Service]
Type=forking
ExecStart=/usr/local/hadoop/sbin/hadoop-daemon.sh start namenode
ExecStop=/usr/local/hadoop/sbin/hadoop-daemon.sh stop namenode
User=hadoop

[Install]
WantedBy=multi-user.target

2. 开机自启动

systemctl enable hadoop-namenode
systemctl enable hadoop-resourcemanager

五、容器化启动方式

1. Docker单节点部署

FROM hadoop:2.10.1
COPY core-site.xml /etc/hadoop/
CMD ["/bin/bash", "-c", "hdfs namenode -format && start-all.sh"]

2. Kubernetes部署

通过StatefulSet管理有状态服务:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: hadoop-namenode
spec:
  serviceName: "hadoop"
  replicas: 2
  template:
    spec:
      containers:
      - name: namenode
        image: hadoop:2.10.1
        command: ["hdfs", "namenode"]

六、启动问题排查指南

  1. 常见错误

    • 端口冲突(检查50070/8088端口)
    • 权限问题(确保hadoop用户有权限)
    • 磁盘空间不足(df -h检查)
  2. 日志查看: “`bash

    HDFS日志

    tail -f /var/log/hadoop-hdfs/hadoop--namenode-.log

# YARN日志 yarn logs -applicationId


3. **Web UI验证**:
   - HDFS: http://namenode_host:50070
   - YARN: http://resourcemanager_host:8088

## 七、总结对比表

| 启动方式       | 适用场景          | 命令示例                  | 特点                     |
|----------------|-------------------|---------------------------|--------------------------|
| 单节点         | 本地开发          | start-all.sh              | 所有组件在单JVM运行      |
| 伪分布式       | 功能测试          | start-dfs.sh              | 模拟分布式环境           |
| 完全分布式     | 生产环境          | hadoop-daemon.sh start    | 需要多节点配置           |
| HA模式         | 高可用生产环境    | zkfc -formatZK            | 依赖ZooKeeper            |
| 容器化         | 云原生部署        | docker-compose up         | 快速部署,资源隔离       |

通过合理选择启动方式,可以满足从开发测试到生产部署的不同需求场景。

注:本文档实际约1200字,可根据需要补充以下内容扩展: 1. 详细参数配置示例 2. 特定场景启动脚本 3. 性能调优启动参数 4. 安全认证相关启动配置

推荐阅读:
  1. HADOOP/HBase动态新增节点
  2. hadoop 2.X HA详细配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hdfs hadoop yarn

上一篇:Vue后台管理系统怎么实现分页功能

下一篇:Hadoop高可用集群如何搭建

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》