HCRM博客

CentOS单机版Hadoop配置指南

在CentOS系统上配置Hadoop单机模式,是入门大数据处理的理想起点,单机模式允许用户在本地环境中运行Hadoop,无需复杂网络设置,适合学习和测试,作为网站站长,我经常需要处理数据密集型任务,Hadoop的单机部署帮助我快速验证代码和概念,本文将一步步指导您完成在CentOS 7或8上的安装过程,确保内容基于实际经验,信息准确可靠。

准备工作:系统与环境检查

在开始前,确保您的CentOS系统已更新到最新版本,打开终端,执行以下命令来更新系统包:

CentOS单机版Hadoop配置指南-图1
sudo yum update -y

Hadoop依赖Java环境,因此需要安装JDK,推荐使用OpenJDK 8或11,它们与Hadoop兼容性良好,通过yum安装:

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

安装完成后,验证Java版本:

java -version

如果输出显示版本信息,说明安装成功,创建一个专用用户来运行Hadoop,这能提高安全性,添加用户hadoop:

sudo adduser hadoop
sudo passwd hadoop  # 设置密码

将hadoop用户添加到sudo组,以便执行权限操作:

sudo usermod -aG wheel hadoop

切换到hadoop用户,继续后续步骤:

su - hadoop

这些准备步骤看似基础,但能避免许多常见错误,比如权限问题或依赖缺失。

CentOS单机版Hadoop配置指南-图2

下载与安装Hadoop

访问Hadoop官网下载最新稳定版,例如Hadoop 3.3.4,使用wget命令直接下载到用户主目录:

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

解压文件到/opt目录,这便于管理:

sudo tar -xzf hadoop-3.3.4.tar.gz -C /opt/
sudo chown -R hadoop:hadoop /opt/hadoop-3.3.4

为方便使用,创建符号链接:

sudo ln -s /opt/hadoop-3.3.4 /opt/hadoop

设置环境变量,编辑hadoop用户的.bashrc文件:

nano ~/.bashrc

在文件末尾添加以下行:

export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk  # 根据实际路径调整

保存后,加载配置:

CentOS单机版Hadoop配置指南-图3
source ~/.bashrc

验证Hadoop安装:

hadoop version

如果显示版本号,说明安装正确,这一步的关键是确保路径无误,否则后续配置会失败。

配置Hadoop单机模式

Hadoop的单机模式无需修改分布式设置,但需调整核心文件,进入Hadoop配置目录:

cd $HADOOP_HOME/etc/hadoop

编辑core-site.xml,定义Hadoop的临时目录,使用nano或vim打开文件:

nano core-site.xml

标签内添加:

<property>
    <name>hadoop.tmp.dir</name>
    <value>/tmp/hadoop-tmp</value>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>file:///</value>
</property>

配置hdfs-site.xml,单机模式下,HDFS不启用,但需设置副本数为1以避免警告:

nano hdfs-site.xml
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

处理mapred-site.xml,如果文件不存在,复制模板:

cp mapred-site.xml.template mapred-site.xml
nano mapred-site.xml

添加:

<property>
    <name>mapreduce.framework.name</name>
    <value>local</value>
</property>

设置yarn-site.xml,单机模式中,YARN资源管理器可选,但建议禁用以简化:

nano yarn-site.xml

输入:

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

配置完成后,格式化Hadoop的临时目录(虽单机模式不需HDFS,但这一步可清除残留):

hadoop namenode -format

注意,单机模式下,此命令非必须,但能帮助检查配置。

测试与验证

现在运行一个简单MapReduce任务来验证安装,Hadoop自带示例程序,例如wordcount,创建输入文件:

echo "Hello Hadoop Single Node" > input.txt

运行wordcount作业:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount input.txt output

如果成功,会生成output目录,包含结果,查看输出:

cat output/part-r-00000

您应该看到单词统计,这个过程演示了Hadoop的基本功能,无需启动守护进程,单机模式的优点在于快速反馈:如果作业失败,日志直接显示在终端,便于调试。

在测试中,可能遇到内存不足问题,CentOS默认设置可能限制资源,可调整JVM参数,例如在hadoop-env.sh中增加HEAP大小:

nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh

找到export HADOOP_HEAPSIZE行,修改为:

export HADOOP_HEAPSIZE=1024

这能提升稳定性,尤其对内存有限的虚拟机。

个人观点

通过单机模式,我深刻体会到Hadoop的模块化设计如何降低学习门槛,这种部署方式不仅节省资源,还让用户专注于算法和数据处理逻辑,对于站长而言,它像是一个沙盒,能安全地实验数据管道,未来扩展到集群时,这些基础经验会变得无比珍贵,大数据技术日新月异,但扎实的单机实践永远是基石。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/42560.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~