温馨提示×

linux hdfs怎样配置

小樊
40
2026-09-19 20:44:56
栏目: 智能运维

下面分 “Linux 上安装部署 HDFS”“客户端如何配置使用 HDFS” 两部分说明,适合新手理解。


一、HDFS 基本环境准备(Linux)

1. 系统要求

  • Linux(CentOS / Ubuntu 均可)
  • JDK 8 或以上(推荐 JDK 8)
  • 多台机器(或单机伪分布式)
  • 配置主机名和 hosts
# 示例
192.168.1.10 namenode
192.168.1.11 datanode1
192.168.1.12 datanode2

2. 安装 JDK

java -version

如未安装:

yum install java-1.8.0-openjdk-devel
# 或
apt install openjdk-8-jdk

配置 JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

二、下载并安装 Hadoop(含 HDFS)

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /opt
mv /opt/hadoop-3.3.6 /opt/hadoop

配置环境变量:

vi ~/.bashrc
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc

三、HDFS 核心配置文件

配置文件目录:

$HADOOP_HOME/etc/hadoop/

1. core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://namenode:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop/tmp</value>
  </property>
</configuration>

2. hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hadoop/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/opt/hadoop/dfs/data</value>
  </property>
</configuration>

3. workers(旧版 slaves)

datanode1
datanode2

4. hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

四、启动 HDFS

1. 格式化 NameNode(仅第一次)

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 验证

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

Web 页面:

http://namenode:9870

五、Linux 客户端使用 HDFS

1. 基本命令

hdfs dfs -ls /
hdfs dfs -mkdir /test
hdfs dfs -put file.txt /test
hdfs dfs -cat /test/file.txt
hdfs dfs -get /test/file.txt ./

2. 配置客户端

客户端只需:

  • 安装 Hadoop
  • 配置 core-site.xml
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://namenode:9000</value>
</property>

六、常见问题

1. 权限问题

export HDFS_USER=root

2. 端口不通

  • 关闭防火墙
systemctl stop firewalld

3. 单机模式

dfs.replication=1,只启动一个 DataNode


如果你需要:

  • 单机伪分布式配置
  • Kerberos 安全配置
  • Docker 部署 HDFS
  • HDFS + Spark / Hive

可以告诉我你的具体使用场景。

0