温馨提示×

如何正确配置Ubuntu的HDFS

小樊
49
2025-10-12 11:22:00
栏目: 智能运维

一、环境准备

  1. 更新系统:运行sudo apt update && sudo apt upgrade -y,确保系统软件包为最新版本。
  2. 安装基础工具:执行sudo apt install -y build-essential openssh-server,安装编译工具和SSH服务(用于节点间通信)。
  3. 安装Java环境
    • 运行sudo apt install openjdk-8-jdk安装OpenJDK 8(Hadoop 3.x兼容版本)。
    • 验证安装:java -version,应显示Java版本信息。

二、下载并安装Hadoop

  1. 下载Hadoop:从Apache官网获取最新稳定版(如3.3.4),使用wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
  2. 解压并移动tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/,将Hadoop解压至/usr/local/目录。

三、配置Hadoop环境变量

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

四、配置HDFS核心文件

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

1. core-site.xml(Hadoop核心配置)

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value> <!-- 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-3.3.4/data/namenode</value> <!-- NameNode元数据存储路径 -->
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-3.3.4/data/datanode</value> <!-- DataNode数据存储路径 -->
    </property>
</configuration>

五、创建HDFS数据目录

  1. 创建目录
    sudo mkdir -p /usr/local/hadoop-3.3.4/data/namenode
    sudo mkdir -p /usr/local/hadoop-3.3.4/data/datanode
    
  2. 设置权限:将目录所有权赋予当前用户(如hadoop或当前登录用户),避免权限问题:
    sudo chown -R $USER:$USER /usr/local/hadoop-3.3.4/data
    

六、格式化NameNode

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

hdfs namenode -format

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

七、启动HDFS服务

运行以下命令启动HDFS集群:

start-dfs.sh

启动后,可通过jps命令查看进程:应存在NameNodeDataNodeSecondaryNameNode三个进程。

八、验证HDFS配置

  1. Web界面:在浏览器访问http://localhost:50070(Hadoop 3.x版本可能为http://localhost:9870),查看HDFS状态。
  2. 常用命令
    • 查看HDFS文件系统:hdfs dfs -ls /
    • 创建目录:hdfs dfs -mkdir -p /user/test
    • 上传文件:hdfs dfs -put ~/localfile.txt /user/test/
    • 下载文件:hdfs dfs -get /user/test/remotefile.txt ~/localfile.txt

九、常见问题排查

  1. 配置文件格式错误:检查XML文件是否有多余空格或未闭合标签,可使用xmllint --noout core-site.xml验证。
  2. 环境变量未生效:确保~/.bashrc修改后运行了source ~/.bashrc,可通过echo $HADOOP_HOME验证变量值。
  3. NameNode无法启动:查看日志文件($HADOOP_HOME/logs/hadoop-*-namenode-*.log),常见原因包括元数据损坏(需恢复备份)或端口冲突(修改core-site.xml中的端口)。
  4. DataNode未启动:检查dfs.datanode.data.dir目录是否存在且有写入权限,或格式化NameNode后重启服务。

0