温馨提示×

linux hadoop需要什么配置

小樊
42
2026-09-28 16:38:10
栏目: 智能运维

在 Linux 上部署和使用 Hadoop,通常需要从系统环境、用户与权限、网络、Java、Hadoop 自身配置几个方面做准备。下面按“最小可用 → 集群生产”来说明。


一、基础系统配置(必做)

1. 操作系统

  • 推荐:CentOS 7/8、Ubuntu 20.04/22.04
  • 64 位 Linux
  • 关闭或配置好防火墙

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

useradd hadoop
passwd hadoop

后续操作尽量用 hadoop 用户,不用 root。

3. 主机名与 hosts 配置

编辑 /etc/hosts:

192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2

并设置主机名:

hostnamectl set-hostname master

4. 关闭防火墙 / SELinux(测试环境)

systemctl stop firewalld
systemctl disable firewalld

SELinux:

setenforce 0
# 修改 /etc/selinux/config 为 disabled

5. SSH 免密登录(集群必须)

ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2

二、Java 环境(必须)

Hadoop 依赖 JDK(不要用 JRE)

安装 JDK(示例)

yum install java-1.8.0-openjdk-devel
# 或 Ubuntu
apt install openjdk-8-jdk

配置环境变量

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

验证:

java -version

三、Hadoop 安装与核心配置

1. 下载并解压

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

2. 配置环境变量

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

四、Hadoop 关键配置文件

位于:

$HADOOP_HOME/etc/hadoop/

1. 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://master:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/data/hadoop/tmp</value>
  </property>
</configuration>

3. hdfs-site.xml

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

4. mapred-site.xml

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

5. yarn-site.xml

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

6. workers(Hadoop 3 用 workers)

slave1
slave2

五、目录权限与格式化

mkdir -p /data/hadoop/{tmp,namenode,datanode}
chown -R hadoop:hadoop /data/hadoop

格式化 NameNode(仅一次):

hdfs namenode -format

六、启动 Hadoop

start-dfs.sh
start-yarn.sh

验证:

jps

应看到:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager

Web 界面:

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

七、生产环境额外建议

  • 使用 Hadoop 3.x
  • 配置 ZK + HA NameNode
  • 单独磁盘用于 DataNode
  • 调整 ulimit 和 vm.swappiness
  • 使用时间同步(NTP)

如果你愿意,我可以:

  • 给你一份 单机伪分布式配置
  • 或一份 3 节点集群完整脚本
  • 或针对 Ubuntu / CentOS 分别说明

你现在是学习用还是生产部署?

0 踩