温馨提示×

linux hadoop如何配置

小樊
63
2026-08-25 00:51:38
栏目: 智能运维

下面给你一个在 Linux 上配置 Hadoop(单机 / 伪分布式)的完整实操流程,适合入门和实验环境。如果你需要 完全分布式(多节点),可以在此基础上继续扩展。


一、环境准备

1. 操作系统

  • Linux(推荐 CentOS 7/8、Rocky、Ubuntu 20.04+)
  • 建议使用 64 位

2. 安装 JDK(必须)

Hadoop 依赖 Java

查看是否已安装

java -version

安装 JDK(以 JDK 8 为例)

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

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

配置 JAVA_HOME

vim /etc/profile

添加:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH

生效:

source /etc/profile

二、创建 Hadoop 用户(推荐)

useradd hadoop
passwd hadoop

切换用户:

su - hadoop

三、下载并安装 Hadoop

1. 下载 Hadoop

cd /opt
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

3. 配置环境变量

vim /etc/profile

添加:

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

生效:

source /etc/profile

验证:

hadoop version

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

ssh-keygen -t rsa

一路回车

ssh-copy-id localhost

测试:

ssh localhost

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

进入配置目录:

cd $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

vim core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/tmp</value>
    </property>
</configuration>

3. hdfs-site.xml

vim hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</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>

4. mapred-site.xml

vim mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

5. yarn-site.xml

vim yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
</configuration>

六、格式化 HDFS(仅第一次)

hdfs namenode -format

✅ 出现 successfully formatted 表示成功


七、启动 Hadoop

start-dfs.sh
start-yarn.sh

或:

start-all.sh

八、验证是否启动成功

jps

应看到:

NameNode
DataNode
ResourceManager
NodeManager
SecondaryNameNode

Web UI:

  • HDFS:http://localhost:9870
  • YARN:http://localhost:8088

九、测试 Hadoop

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

十、常见错误

问题 解决方案
JAVA_HOME 未设置 hadoop-env.sh 中配置
ssh 失败 配置免密登录
端口被占用 检查 9000、9870
权限不足 使用 hadoop 用户

如果你需要: ✅ 多节点集群配置 ✅ Hadoop HA(高可用) ✅ 生产环境参数优化 ✅ Hive / Spark 集成

告诉我你的 Linux 版本 + Hadoop 版本 + 使用场景,我可以给你定制配置。

0 踩