温馨提示×

新手怎么学linux hdfs配置

小樊
42
2026-10-10 10:32:12
栏目: 智能运维

新手学习 Linux + HDFS 配置,建议按“先 Linux 基础 → 再 Hadoop/HDFS 概念 → 最后实操配置”的路线来。下面给你一个循序渐进的学习路径 + 实操示例。


一、先打 Linux 基础(必须)

HDFS 是运行在 Linux 上的,以下至少要会:

1. 基础命令

ls / pwd / cd
mkdir / rm / cp / mv
chmod / chown
ps / top / netstat
scp / ssh
vi / nano

2. 用户与权限

  • 创建用户
useradd hadoop
passwd hadoop
  • 配置 sudo
visudo
hadoop ALL=(ALL) NOPASSWD:ALL

3. SSH 免密(HDFS 必须)

ssh-keygen -t rsa
ssh-copy-id localhost

✅ 目标:
你能不用密码 ssh 到本机或集群机器


二、理解 HDFS 是什么(别急着配)

HDFS 核心角色

角色 作用
NameNode 管理元数据(文件在哪)
DataNode 真正存数据
SecondaryNameNode 辅助 NameNode

两种模式

  • 单机(伪分布式) ✅ 新手首选
  • 完全分布式(多台机器)

三、新手推荐:伪分布式 HDFS 配置

1. 环境准备

  • Linux(CentOS / Ubuntu)
  • JDK 8+
java -version

2. 下载 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 -C /opt

3. 配置环境变量

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

四、核心配置文件(重点)

1. hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_xxx

2. core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

3. hdfs-site.xml

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

五、启动 HDFS(新手最容易出错)

1. 格式化 NameNode(只一次)

hdfs namenode -format

2. 启动

start-dfs.sh

3. 验证

jps

应看到:

NameNode
DataNode
SecondaryNameNode

网页查看:

http://localhost:9870

六、常用 HDFS 命令(必练)

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

七、新手常见坑

❌ 没配 SSH 免密
❌ JAVA_HOME 不对
❌ 多次 format NameNode
❌ 防火墙没关

systemctl stop firewalld

八、学习建议路线

  1. Linux 基础(1 周)
  2. 伪分布式 HDFS(1 周)
  3. 完全分布式(2–3 台机器)
  4. 学 YARN / MapReduce / Spark

如果你愿意,我可以:

  • 给你 一步一步的命令清单
  • 按 Ubuntu / CentOS 分别写
  • 帮你 排错(贴报错我来改)

你现在是 完全零基础,还是已经会一点 Linux?

0 踩