上一篇
Linux如何快速安装Hadoop?
- Linux
- 2025-06-01
- 2922
在Linux安装Hadoop需先配置Java环境,下载Hadoop发行版,解压后编辑核心配置文件如
core-site.xml
、
hdfs-site.xml
等,设置必要参数和集群节点信息,配置环境变量后,初始化HDFS并启动集群服务。
如何在 Linux 下安装 Hadoop:详细分步指南
Hadoop 是 Apache 基金会开发的开源分布式计算框架,专为处理海量数据设计,在 Linux 系统上安装 Hadoop 是构建大数据平台的基础步骤,本指南以 Ubuntu 22.04 LTS 为例,详细演示安装过程(其他 Linux 发行版可参考调整)。
安装前准备
-
系统要求
- 操作系统:Ubuntu/CentOS 等主流 Linux 发行版
- 内存:≥ 4GB(建议 8GB+)
- 存储:≥ 20GB 空闲空间
- Java:必须安装 JDK 8 或 11(Hadoop 3.x+ 支持)
-
环境配置
# 更新系统并安装依赖 sudo apt update && sudo apt upgrade -y sudo apt install ssh openjdk-11-jdk -y # 配置 SSH 免密登录(Hadoop 节点通信必需) ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
-
创建专用用户(推荐)
sudo adduser hadoopuser sudo usermod -aG sudo hadoopuser su - hadoopuser # 切换到新用户
Hadoop 安装步骤
-
下载并解压 Hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz tar -xzvf hadoop-3.3.6.tar.gz mv hadoop-3.3.6 ~/hadoop
-
配置环境变量
编辑~/.bashrc
文件,末尾添加:export HADOOP_HOME=~/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际路径调整
生效配置:
source ~/.bashrc
-
修改 Hadoop 配置文件
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
$HADOOP_HOME/etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> <!-- 单节点设为1,集群按需调整 --> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoopuser/hadoop_data/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoopuser/hadoop_data/hdfs/datanode</value> </property> </configuration>
$HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
$HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
-
格式化 HDFS
hdfs namenode -format # 首次安装必须执行
启动 Hadoop 集群
# 启动 HDFS start-dfs.sh # 启动 YARN start-yarn.sh # 验证进程是否运行 jps
预期输出应包含:
NameNode
DataNode
ResourceManager
NodeManager
验证安装
-
访问 Web 管理界面
- NameNode: http://localhost:9870
- YARN: http://localhost:8088
-
运行测试任务
# 创建 HDFS 目录 hdfs dfs -mkdir /test hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /test # 执行 MapReduce 示例 hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /test /output 'dfs[a-z.]+' # 查看结果 hdfs dfs -cat /output/*
成功输出应显示匹配的单词统计。
常见问题解决
- SSH 连接错误
确保sshd
服务运行:sudo systemctl status ssh
- Java 路径错误
用update-alternatives --config java
确认JAVA_HOME
- 端口冲突
检查9000
、9870
、8088
端口是否被占用 - 权限问题
所有操作需在非 root 用户下执行,数据目录权限需匹配用户
安全注意事项
- 生产环境必须配置:
- 防火墙规则限制访问
- Kerberos 认证
- HDFS 目录权限控制
- 定期备份 NameNode 元数据
- 避免使用 root 用户运行 Hadoop 服务
引用说明
本文基于 Apache Hadoop 官方文档编写,参考资源:
- Hadoop 3.3.6 安装指南
- HDFS 架构设计
- Ubuntu 22.04 官方仓库
提示:集群部署需同步配置所有节点的
core-site.xml
和hdfs-site.xml
,并在workers
文件中添加节点主机名,建议使用 Ansible 或 Puppet 自动化部署。