温馨提示×

如何在 Ubuntu 上启动 Hadoop

小樊
37
2025-11-09 05:52:09
栏目: 智能运维

一、前置准备

在Ubuntu上启动Hadoop前,需完成Java环境安装SSH免密登录配置Hadoop下载解压三个基础步骤:

  1. 安装Java(Hadoop依赖Java运行环境)
    推荐使用OpenJDK 8或11(兼容性更好),执行以下命令:
    sudo apt update
    sudo apt install openjdk-11-jdk  # 或 openjdk-8-jdk
    # 验证安装
    java -version  # 应输出Java版本信息
    
  2. 配置SSH免密登录(Hadoop集群节点间通信必需)
    本地模式无需多节点,但仍需配置localhost的免密登录:
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  # 生成密钥对(直接回车)
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  # 添加公钥到授权文件
    chmod 600 ~/.ssh/authorized_keys  # 设置权限
    # 测试免密登录
    ssh localhost  # 无需输入密码即可登录
    
  3. 下载并解压Hadoop
    从Apache官网下载稳定版本(如3.3.6),解压至/usr/local目录:
    wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local/
    sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop  # 可选:重命名目录
    

二、配置Hadoop环境变量

编辑~/.bashrc文件(用户级环境变量),添加Hadoop和Java路径:

export HADOOP_HOME=/usr/local/hadoop  # Hadoop安装目录
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin  # 添加Hadoop命令到PATH
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # Java安装目录(根据实际路径调整)

使配置生效:

source ~/.bashrc

三、配置Hadoop核心文件

进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下文件:

1. core-site.xml(HDFS默认文件系统)

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>  # HDFS NameNode地址
    </property>
</configuration>

2. hdfs-site.xml(HDFS存储配置)

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>  # 数据副本数(单节点设为1)
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop/data/namenode</value>  # NameNode数据目录
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/data/datanode</value>  # DataNode数据目录
    </property>
</configuration>

3. mapred-site.xml(MapReduce框架配置)

若文件不存在,需复制模板生成:

cp mapred-site.xml.template mapred-site.xml

修改内容:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>  # 使用YARN作为资源管理器
    </property>
</configuration>

4. yarn-site.xml(YARN配置)

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>  # 启用MapReduce Shuffle服务
    </property>
</configuration>

四、格式化HDFS(首次启动必需)

HDFS NameNode首次启动前需格式化(清空原有数据,仅第一次执行):

hdfs namenode -format

格式化后会生成data/namenodedata/datanode目录(需提前创建,或在配置中指定已有目录)。

五、启动Hadoop集群

进入Hadoop的sbin目录,依次执行以下命令:

cd $HADOOP_HOME/sbin
./start-dfs.sh  # 启动HDFS(NameNode、DataNode)
./start-yarn.sh  # 启动YARN(ResourceManager、NodeManager)

注意:若启动时报错(如端口占用、权限问题),需检查配置文件中的路径是否正确,或终止冲突进程。

六、验证Hadoop启动状态

  1. 查看进程:执行jps命令,应显示以下进程(表示启动成功):
    NameNode
    DataNode
    SecondaryNameNode(可选)
    ResourceManager
    NodeManager
    
  2. 访问Web界面
    • HDFS NameNode:http://localhost:9870(Hadoop 3.x版本)
    • YARN ResourceManager:http://localhost:8088
      在浏览器中输入上述地址,若能看到集群状态页面,则说明启动成功。

七、停止Hadoop集群(可选)

若需停止Hadoop服务,执行以下命令:

cd $HADOOP_HOME/sbin
./stop-yarn.sh  # 停止YARN
./stop-dfs.sh  # 停止HDFS

以上步骤完成后,即可在Ubuntu上成功启动Hadoop集群。如需扩展为多节点集群,需额外配置节点间的SSH免密登录、修改core-site.xml中的NameNode地址为集群IP,并同步配置文件到所有节点。

0