目录
前言
前言
一、Hadoop简介与核心组件
1.1 Hadoop是什么?
1.2 核心组件
二、环境搭建(单机版)
2.1 准备工作
2.2 安装Hadoop
三、HDFS基础操作
3.1 启动HDFS
3.2 常用命令
四、运行第一个MapReduce程序:WordCount
4.1 示例代码与数据准备
4.2 执行WordCount任务
4.3 查看结果
五、YARN资源管理
5.1 启动YARN
5.2 常用命令
六、Web监控界面
七、常见问题解决
7.1 权限错误
7.2 端口冲突
7.3 查看日志
结语
前言
在大数据时代,Hadoop 作为分布式计算的基石,是每个开发者必须掌握的技术之一。本文将手把手教你如何快速搭建Hadoop环境、操作HDFS文件系统,并运行经典的WordCount词频统计程序。无论你是大数据新手还是需要温故知新,这篇指南都能让你30分钟内上手Hadoop!
一、Hadoop简介与核心组件
1.1 Hadoop是什么?
Hadoop是由Apache基金会开发的开源分布式计算框架,核心解决 海量数据存储(HDFS) 和 分布式计算(MapReduce) 问题。
1.2 核心组件
组件作用HDFS分布式文件系统,数据分块存储在多台机器MapReduce分布式计算模型,分Map和Reduce两阶段处理YARN资源调度管理器,负责集群资源分配
二、环境搭建(单机版)
2.1 准备工作
系统要求:Linux/MacOS(Windows需使用WSL)
安装Java:JDK 8+
sudo apt install openjdk-11-jdk # Ubuntu示例
2.2 安装Hadoop
下载解压:
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 /opt/hadoop # 移动到指定目录 配置环境变量: 编辑 ~/.bashrc 文件,添加:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际路径修改 执行 source ~/.bashrc 生效。
修改配置文件:
core-site.xml(配置HDFS地址):
hdfs-site.xml(配置副本数,单机设为1):
三、HDFS基础操作
3.1 启动HDFS
# 首次使用需格式化NameNode(仅一次!)
hdfs namenode -format
# 启动HDFS服务
start-dfs.sh
3.2 常用命令
命令说明hdfs dfs -mkdir /test创建目录hdfs dfs -put local.txt /test上传本地文件到HDFShdfs dfs -ls /test查看目录内容hdfs dfs -cat /test/local.txt查看文件内容hdfs dfs -rm -r /test递归删除目录
四、运行第一个MapReduce程序:WordCount
4.1 示例代码与数据准备
创建测试文件:
echo "hello hadoop hello world" > input.txt 上传数据到HDFS:
hdfs dfs -mkdir /input
hdfs dfs -put input.txt /input
4.2 执行WordCount任务
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar \
wordcount /input /output
4.3 查看结果
hdfs dfs -cat /output/part-r-00000
输出示例:
hadoop 1
hello 2
world 1
五、YARN资源管理
5.1 启动YARN
start-yarn.sh
5.2 常用命令
查看运行中的任务:
yarn application -list 终止任务:
yarn application -kill
六、Web监控界面
HDFS状态: http://localhost:9870
YARN任务监控: http://localhost:8088
七、常见问题解决
7.1 权限错误
报错:Permission denied 解决:在 hdfs-site.xml 中添加:
7.2 端口冲突
检查 9000、9870、8088 端口是否被占用:
netstat -tuln | grep <端口号>
7.3 查看日志
日志路径:$HADOOP_HOME/logs/ 推荐使用 tail -f 实时追踪日志:
tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log
结语
通过本文,你已经学会了Hadoop的安装、HDFS操作和MapReduce任务的运行。接下来可以尝试:
使用 Hive 进行SQL化数据处理
学习 HBase 实现实时数据存储
探索 Spark 更高效的内存计算
动手实践是学习的最佳途径!如果在操作中遇到问题,欢迎在评论区留言讨论。
相关资源:
Hadoop官网
Hadoop GitHub仓库