温馨提示×

如何在Ubuntu上安装HDFS

小樊
39
2025-10-31 22:24:58
栏目: 智能运维

在Ubuntu上安装HDFS的详细步骤

1. 环境准备

  • 更新系统:运行sudo apt update && sudo apt upgrade -y,确保系统软件包为最新版本。
  • 安装基础工具:执行sudo apt install -y build-essential openssh-server,安装编译工具和SSH服务(用于集群节点间通信)。
  • 安装Java环境:Hadoop依赖Java,推荐使用OpenJDK 8(兼容性最佳)。运行以下命令安装并配置Java:
    sudo apt install -y openjdk-8-jdk
    java -version  # 验证安装(需显示Java版本信息)
    
    配置Java环境变量:编辑~/.bashrc文件,添加以下内容:
    export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
    export PATH=$JAVA_HOME/bin:$PATH
    
    运行source ~/.bashrc使配置生效。

2. 下载并解压Hadoop

  • 下载Hadoop:从Apache Hadoop官网选择稳定版本(如3.3.4),使用wget下载:
    wget https://downloads.apache.org/hadoop/common/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  # 重命名为"hadoop"便于管理
    
  • 设置目录权限:将Hadoop目录所有者改为当前用户(避免权限问题):
    sudo chown -R $USER:$USER /usr/local/hadoop
    

3. 配置Hadoop环境变量

编辑~/.bashrc文件,添加Hadoop相关环境变量:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

运行source ~/.bashrc使配置立即生效。验证Hadoop命令是否可用:

hadoop version  # 应显示Hadoop版本信息

4. 配置HDFS核心文件

进入Hadoop配置目录$HADOOP_HOME/etc/hadoop,修改以下两个关键文件:

(1)core-site.xml

配置HDFS的默认文件系统地址(指向本地NameNode):

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
(2)hdfs-site.xml

配置HDFS的副本数(单机环境设为1)、NameNode和DataNode的数据存储目录:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>  <!-- 单机环境设为1,集群环境需调整为大于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>

5. 创建HDFS数据目录

根据hdfs-site.xml中的配置,创建NameNode和DataNode的存储目录:

sudo mkdir -p /usr/local/hadoop/data/namenode
sudo mkdir -p /usr/local/hadoop/data/datanode
sudo chown -R $USER:$USER /usr/local/hadoop/data  # 设置目录所有者为当前用户

6. 格式化NameNode

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

hdfs namenode -format

格式化后会生成/usr/local/hadoop/data/namenode/current目录(包含元数据)。

7. 启动HDFS服务

使用以下命令启动HDFS(包含NameNode和DataNode):

start-dfs.sh

启动后,检查HDFS相关进程是否运行:

jps  # 应显示"NameNode"和"DataNode"进程

8. 验证HDFS安装

  • Web界面验证:在浏览器中访问http://localhost:9870(Hadoop 3.x版本默认端口),若看到HDFS管理界面(显示NameNode和DataNode状态),则说明安装成功。
  • 命令行验证:使用HDFS命令操作文件系统,例如:
    hdfs dfs -mkdir /user/test  # 创建HDFS目录
    hdfs dfs -put ~/test.txt /user/test  # 上传本地文件到HDFS
    hdfs dfs -ls /user/test  # 列出HDFS目录内容
    

可选步骤:配置SSH无密码登录(集群环境必需)

若需部署多节点HDFS集群,需配置本地主机到自身的SSH无密码登录:

ssh-keygen -t rsa -P ''  # 生成SSH密钥(直接回车)
ssh-copy-id $USER@localhost  # 将公钥复制到本地主机
ssh localhost  # 测试无密码登录(无需输入密码)

通过以上步骤,即可在Ubuntu系统上完成HDFS的安装与基本配置。如需扩展为多节点集群,需重复上述步骤在其他节点安装Hadoop,并修改core-site.xml中的fs.defaultFS为集群NameNode地址,同时配置slaves文件指定DataNode节点列表。

0