首页主机资讯如何在Ubuntu HDFS上部署应用

如何在Ubuntu HDFS上部署应用

时间2025-10-04 19:48:03发布访客分类主机资讯浏览711
导读:在Ubuntu上部署HDFS应用的基础步骤 1. 环境准备 更新系统:运行sudo apt update && sudo apt upgrade -y确保系统软件包最新。 安装基础工具:安装编译工具和SSH服务(用于集群通...

在Ubuntu上部署HDFS应用的基础步骤

1. 环境准备

  • 更新系统:运行sudo apt update & & sudo apt upgrade -y确保系统软件包最新。
  • 安装基础工具:安装编译工具和SSH服务(用于集群通信),命令:sudo apt install -y build-essential openssh-server

2. 安装Java环境

Hadoop依赖Java运行,推荐安装OpenJDK 8或11(兼容性更好)。

  • 安装OpenJDK 8:sudo apt install -y openjdk-8-jdk
  • 验证安装:java -version,输出应包含Java版本信息(如openjdk version "1.8.0_221")。

3. 下载并解压Hadoop

  • 从Apache官网下载稳定版Hadoop(如3.3.4):wget https://downloads.apache.org/hadoop/core/hadoop-3.3.4/hadoop-3.3.4.tar.gz
  • 解压到指定目录(如/usr/local):sudo tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/
  • 重命名目录(可选):sudo mv /usr/local/hadoop-3.3.4 /usr/local/hadoop

4. 配置Hadoop环境变量

  • 编辑~/.bashrc文件(用户级配置)或/etc/profile(系统级配置),添加以下内容:
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
  • 使配置生效:source ~/.bashrc(或source /etc/profile)。

5. 配置HDFS核心文件

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

  • core-site.xml(定义HDFS默认文件系统):

    <
        configuration>
        
        <
        property>
        
            <
        name>
        fs.defaultFS<
        /name>
        
            <
        value>
        hdfs://localhost:9000<
        /value>
         <
        !-- 单机模式为localhost,集群模式替换为NameNode IP -->
        
        <
        /property>
        
    <
        /configuration>
        
    
  • hdfs-site.xml(定义HDFS存储路径和副本数):

    <
        configuration>
        
        <
        property>
        
            <
        name>
        dfs.replication<
        /name>
        
            <
        value>
        1<
        /value>
         <
        !-- 单机模式设为1,集群模式根据节点数量调整(如3) -->
        
        <
        /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>
        
    
  • (可选)yarn-site.xml(若启用YARN资源管理):

    <
        configuration>
        
        <
        property>
        
            <
        name>
        yarn.nodemanager.aux-services<
        /name>
        
            <
        value>
        mapreduce_shuffle<
        /value>
        
        <
        /property>
        
        <
        property>
        
            <
        name>
        yarn.nodemanager.aux-services.mapreduce.shuffle.class<
        /name>
        
            <
        value>
        org.apache.hadoop.mapred.ShuffleHandler<
        /value>
        
        <
        /property>
        
    <
        /configuration>
        
    
  • (可选)workers文件(集群模式下指定DataNode节点):
    编辑$HADOOP_HOME/etc/hadoop/workers,添加DataNode主机名(如slave1slave2),每行一个。

6. 创建HDFS数据目录

  • 创建NameNode和DataNode的存储目录:
    sudo mkdir -p /usr/local/hadoop/data/namenode
    sudo mkdir -p /usr/local/hadoop/data/datanode
    
  • 修改目录权限(确保Hadoop用户拥有所有权):
    sudo chown -R $USER:$USER /usr/local/hadoop/data
    

7. 格式化NameNode

首次启动HDFS前,必须格式化NameNode(初始化元数据):

hdfs namenode -format

注意:格式化会清除所有HDFS数据,仅首次启动时执行一次。

8. 启动HDFS服务

  • 启动HDFS服务(包含NameNode和DataNode):
    start-dfs.sh
    
  • 验证进程是否启动:jps,输出应包含NameNodeDataNode(单机模式)或SecondaryNameNode(可选)。

9. 验证HDFS状态

  • 命令行验证
    • 查看HDFS根目录:hdfs dfs -ls /
    • 创建测试目录:hdfs dfs -mkdir -p /user/$USER
    • 上传本地文件到HDFS:hdfs dfs -put ~/test.txt /user/$USER/
    • 下载HDFS文件到本地:hdfs dfs -get /user/$USER/test.txt ~/test_downloaded.txt
  • Web界面验证: 打开浏览器访问http://localhost:9870(HDFS NameNode Web界面),查看集群状态和文件系统。

10. 可选:配置SSH免密码登录(集群模式必需)

若部署HDFS集群,需配置主节点(NameNode)到从节点(DataNode)的SSH免密登录:

  • 生成SSH密钥:ssh-keygen -t rsa -P ''(直接回车,默认保存到~/.ssh/id_rsa)。
  • 分发公钥到从节点:ssh-copy-id slave1(替换为从节点主机名)。
  • 测试免密登录:ssh slave1,无需输入密码即可登录。

常见问题排查

  • NameNode无法启动:检查dfs.namenode.name.dir路径是否存在且权限正确,或尝试删除/usr/local/hadoop/data/namenode/current目录(重新格式化)。
  • DataNode未注册:检查dfs.datanode.data.dir路径是否正确,或查看DataNode日志($HADOOP_HOME/logs/hadoop-*-datanode-*.log)。
  • 端口冲突:修改core-site.xml中的fs.defaultFS端口(如9001),确保未被其他服务占用。

通过以上步骤,可在Ubuntu系统上完成HDFS的基础部署。如需扩展为集群模式,需重复“环境准备”至“启动HDFS服务”步骤在从节点执行,并同步配置文件(通过scp命令分发$HADOOP_HOME/etc/hadoop目录到所有从节点)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在Ubuntu HDFS上部署应用
本文地址: https://pptw.com/jishu/720472.html
Ubuntu HDFS配置中的安全策略 Ubuntu MinIO如何实现数据压缩

游客 回复需填写必要信息