Hadoop单机模式配置
默认情况下,Hadoop被配置成以非分布式模式运行的一个独立Java进程。这对调试非常有帮助。
(只有一个JVM进程,没有分布式,不使用HDFS)
环境:
Java 查看安装教程
Ubuntu13.10(32位/64位均可) 下载
安装:
在用户主目录新建文件夹hadoop,Hadoop将安装在该目录~/hadoop
Hadoop安装
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/core/hadoop-3.2.0/hadoop-3.2.0.tar.gz INSTALL_PATH=/opt/soft TAR_FILE=`pwd`/hadoop-3.2.0.tar.gz # 安装 mkdir -p $INSTALL_PATH tar -xzf $TAR_FILE -C $INSTALL_PATH HADOOP_FOLDER=`tar -tvzf $TAR_FILE |head -1 |awk -F' ' {'print $6'} |awk -F'/' {'print $1'}` ln -s $INSTALL_PATH/$HADOOP_FOLDER $INSTALL_PATH/hadoop # 修改系统环境变量 echo -e '\n\n#Hadoop' >> /etc/profile echo 'export HADOOP_HOME='$INSTALL_PATH'/hadoop' >> /etc/profile echo 'export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH' >> /etc/profile # 测试 source /etc/profile hadoop version
运行测试 (注:Hadoop刚完成安装不修改配置文件即为单机模式)
测试一:wordcount
在主文件下新建hadoopTest文件夹,创建in子文件夹,创建任意文本文档内容
cd ~/hadoop/hadoop/share/hadoop/mapreduce hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount ~/hadoopTest/in ~/hadoopTest/out
查看结果
cat ~/hadoopTest/out/part-r-00000
hadoop单机运行可以不打包成jar: hadoop 主类名 [输入输出目录等参数]
相比用java运行,使用hadoop命令会自动添加hadoop库文件到classpath
[注意]要实现不打包运行,需要修改环境变量
sudo gedit /etc/profile
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:.
输出命名方式:
map输出:part-m-nnnnn
reduce输出:part-r-nnnnn
其中nnnnn为分块序号,从0开始。
分布式下Map的输出是在硬盘上而不是hdfs,因为它作为中间结果是临时的,一旦写入hdfs就会分布式存储并备份。
example中的样例程序说明
资料:
Hadoop - YDN https://developer.yahoo.com/hadoop/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?