ubuntu

HDFS在Ubuntu上的数据存储路径怎么设置

小樊
45
2025-11-09 06:20:08
栏目: 云计算

HDFS在Ubuntu上的数据存储路径设置步骤

1. 准备工作

2. 修改core-site.xml(设置HDFS基础路径)

core-site.xml是Hadoop核心配置文件,需配置HDFS默认文件系统URI临时目录(用于存储NameNode元数据的临时文件)。
路径:$HADOOP_HOME/etc/hadoop/core-site.xml
配置内容:

<configuration>
    <!-- 指定NameNode的URI(localhost表示本地模式,集群中替换为NameNode主机名/IP) -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <!-- 设置HDFS临时文件存储目录(需替换为实际路径,如/home/ubuntu/hadoop/tmp) -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-3.3.1/data/tmp</value>
    </property>
</configuration>

说明hadoop.tmp.dir是HDFS临时文件的根目录,后续NameNode和DataNode的存储路径会基于此目录。

3. 修改hdfs-site.xml(设置NameNode和DataNode存储路径)

hdfs-site.xml是HDFS特定配置文件,需配置NameNode元数据存储路径DataNode数据存储路径
路径:$HADOOP_HOME/etc/hadoop/hdfs-site.xml
配置内容:

<configuration>
    <!-- 设置NameNode元数据存储路径(file://表示本地文件系统,可配置多个路径用逗号分隔,实现冗余) -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///usr/local/hadoop-3.3.1/data/namenode</value>
    </property>
    <!-- 设置DataNode数据存储路径(可配置多个路径,如/data1,/data2,数据会轮询存储在不同目录) -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///usr/local/hadoop-3.3.1/data/datanode</value>
    </property>
    <!-- 设置HDFS副本数(集群中需设置为大于1的值,如3) -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

说明

4. 创建存储目录

使用mkdir -p命令创建上述配置的目录,并设置正确的权限(Hadoop进程需对目录有读写权限):

sudo mkdir -p /usr/local/hadoop-3.3.1/data/{tmp,namenode,datanode}
sudo chown -R $USER:$USER /usr/local/hadoop-3.3.1/data  # 将目录所有者改为当前用户(避免权限问题)

5. 格式化NameNode(首次配置需执行)

格式化NameNode会初始化HDFS元数据(创建fsimageedit文件),注意:格式化会删除原有HDFS数据,仅首次配置或元数据损坏时执行

hdfs namenode -format

6. 启动HDFS服务并验证

启动HDFS服务,检查NameNode和DataNode进程是否正常运行:

$HADOOP_HOME/sbin/start-dfs.sh  # 启动HDFS服务
jps  # 查看进程:应存在NameNode、DataNode进程

7. 验证存储路径

注意事项

0
看了该问题的人还看了