温馨提示×

linux hadoop怎么配置

小樊
46
2026-07-14 14:17:01
栏目: 智能运维

下面按从零到可用的顺序,给你一份Linux + Hadoop(单机/伪分布式)常用配置流程。如果你已经装了部分组件,也可以跳着看。


一、准备环境(Linux)

1️⃣ 系统要求

  • Linux(推荐 CentOS 7/8、Rocky、Ubuntu 20.04+
  • Java(Hadoop 3.x 需要 JDK 8 或 11
  • 能普通用户操作(不建议 root 直接跑 Hadoop)

2️⃣ 安装 JDK

java -version

如果没有:

# CentOS / Rocky
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

# Ubuntu
sudo apt install openjdk-8-jdk -y

配置环境变量:

vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc

二、创建 Hadoop 用户(推荐)

sudo useradd hadoop
sudo passwd hadoop
su - hadoop

三、下载并安装 Hadoop

1️⃣ 下载

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

2️⃣ 解压

tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 ~/hadoop

四、配置 Hadoop 环境变量

vim ~/.bashrc
export HADOOP_HOME=~/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
source ~/.bashrc

测试:

hadoop version

五、Hadoop 核心配置文件(重点)

所有配置文件在:

$HADOOP_HOME/etc/hadoop

1️⃣ hadoop-env.sh

vim hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

2️⃣ core-site.xml(核心配置)

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

3️⃣ hdfs-site.xml(HDFS 配置)

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

创建目录:

mkdir -p ~/hadoopdata/namenode
mkdir -p ~/hadoopdata/datanode

4️⃣ mapred-site.xml(MapReduce)

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

5️⃣ yarn-site.xml(YARN)

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

六、SSH 免密登录(必须)

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

测试:

ssh localhost

七、格式化 HDFS(只做一次)

hdfs namenode -format

✅ 出现 successfully formatted 才成功


八、启动 Hadoop

start-dfs.sh
start-yarn.sh

查看进程:

jps

应看到:

NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager

九、验证 Hadoop

1️⃣ HDFS Web UI

http://localhost:9870

2️⃣ YARN Web UI

http://localhost:8088

十、简单测试

hdfs dfs -mkdir /test
hdfs dfs -put ~/hadoop/README.txt /test
hdfs dfs -ls /test

十一、常见错误

问题 解决
JAVA_HOME 找不到 hadoop-env.sh 里写死
端口被占用 检查 9000 / 9870
权限错误 不要用 root 启动
格式化多次 删除 hadoopdata 再格式化

十二、下一步你可以做什么?

  • 配置 完全分布式集群
  • 使用 Hive / Spark
  • 配置 高可用 HA
  • 配置 Hadoop + Zookeeper

如果你愿意,可以告诉我: ✅ 你的 Linux 版本
✅ 单机 / 集群
✅ Hadoop 版本

我可以给你完全贴合你环境的配置方案

0