温馨提示×

linux hdfs配置如何入门

小樊
48
2026-09-28 16:57:10
栏目: 智能运维

下面给你一个面向初学者的 Linux + HDFS 配置入门路线,从环境准备到基本验证,尽量一步一步来。


一、前置条件(先确认)

1. 系统环境

  • Linux(推荐 CentOS 7 / Ubuntu 20.04+)
  • Java 已安装(HDFS 依赖 JVM)

检查 Java:

java -version

如果没有:

# Ubuntu
sudo apt install openjdk-8-jdk

# CentOS
sudo yum install java-1.8.0-openjdk-devel

2. 创建专用用户(推荐)

useradd hadoop
passwd hadoop
su - hadoop

二、下载并安装 Hadoop

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 ~/hadoop

配置环境变量:

vi ~/.bashrc

添加:

export HADOOP_HOME=~/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效:

source ~/.bashrc

三、单机伪分布式模式(最适合入门)

1. 修改配置文件

(1) hadoop-env.sh

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

设置:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

(2) core-site.xml

vi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

(3) hdfs-site.xml

vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

四、配置 SSH 免密登录(必须)

ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

测试:

ssh localhost

五、格式化并启动 HDFS

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

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 查看进程

jps

应看到:

  • NameNode
  • DataNode
  • SecondaryNameNode

六、基本 HDFS 操作(入门必会)

# 创建目录
hdfs dfs -mkdir /test

# 上传文件
hdfs dfs -put file.txt /test/

# 查看文件
hdfs dfs -ls /test

# 下载文件
hdfs dfs -get /test/file.txt ./

# 删除文件
hdfs dfs -rm /test/file.txt

七、Web 界面(很直观)

浏览器访问:

http://localhost:9870

可查看 HDFS 状态、文件、节点信息。


八、常见坑(初学者必看)

✅ 防火墙要关或放行端口

systemctl stop firewalld

✅ 主机名要能解析

hostname

/etc/hosts 中应有:

127.0.0.1 localhost

✅ 不要重复格式化 NameNode


九、下一步学什么

  • HDFS 原理(Block、副本)
  • YARN(跑 MapReduce / Spark)
  • 真集群部署(多台机器)
  • HDFS + Java API

如果你愿意,我可以:

  • 给你一份 最小可用配置文件
  • 帮你 一步步在虚拟机里搭
  • 或讲 HDFS 原理图解

你想从哪一步继续?

0 踩