温馨提示×

hadoop在linux怎部署

小樊
32
2026-09-04 15:40:40
栏目: 智能运维

下面给你一个在 Linux(以 CentOS / Ubuntu 为例)部署 Hadoop 的简明实战教程,适合单机 / 伪分布式入门,也说明完全分布式要点。


一、环境准备

1. 系统要求

  • Linux(CentOS 7/8、Ubuntu 20.04+ 均可)
  • JDK 8 或 JDK 11(Hadoop 3.x 推荐 JDK 8)
  • 普通用户(不建议用 root 跑 Hadoop)

2. 安装 JDK

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

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

验证:

java -version

二、创建 Hadoop 用户(可选但推荐)

useradd hadoop
passwd hadoop
su - hadoop

三、下载并安装 Hadoop

cd /opt
sudo wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
sudo tar -zxvf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 hadoop
sudo chown -R hadoop:hadoop hadoop

四、配置环境变量

编辑 ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效:

source ~/.bashrc

验证:

hadoop version

五、伪分布式部署(最常用入门方式)

1. 配置 core-site.xml

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

2. 配置 hdfs-site.xml

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

3. 配置 mapred-site.xml

cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
vi $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

4. 配置 yarn-site.xml

vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

5. 配置 SSH 免密登录

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

六、启动 Hadoop

1. 格式化 HDFS

hdfs namenode -format

2. 启动 HDFS

start-dfs.sh

3. 启动 YARN

start-yarn.sh

4. 查看进程

jps

应看到:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager

七、Web 界面

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

八、测试 Hadoop

hdfs dfs -mkdir /test
hdfs dfs -put ~/.bashrc /test
hdfs dfs -ls /test

九、完全分布式(简要说明)

  • 多台机器
  • 配置:
    • workers 文件(旧版 slaves)
    • 各节点 SSH 互通
    • core-site.xml 指向真实 NameNode IP
  • NameNode / ResourceManager 单独部署

十、常见问题

问题 解决
JAVA_HOME 报错 检查 .bashrc
端口被占用 改端口或关防火墙
权限错误 别用 root 跑 Hadoop

如果你愿意,我可以:

  • 给你 一键部署脚本
  • CentOS / Ubuntu 单独写
  • 教你 Hadoop + Spark

你可以告诉我你的 Linux 版本和使用场景。

0