如何在CentOS 7单机上成功搭建Hadoop环境?

Hadoop在CentOS 7单机环境下的部署与配置指南

准备工作

在开始Hadoop部署前,需确保系统满足基础要求并完成必要配置。

如何在CentOS 7单机上成功搭建Hadoop环境?

硬件与软件需求

  • 硬件:建议至少4GB内存(用于运行MapReduce任务)、50GB可用磁盘空间。
  • 软件:CentOS 7操作系统(64位)、Java JDK 8或11(Hadoop依赖Java运行时环境)。

关闭防火墙与SELinux
为避免网络访问限制,执行以下命令:

# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld  
# 永久关闭SELinux(需重启生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  
reboot  # 重启后验证:getenforce应返回Disabled

配置主机名与hosts文件
设置静态主机名并添加本地解析:

hostnamectl set-hostname hadoop-node  
echo "127.0.0.1   localhost hadoop-node" >> /etc/hosts  

安装Java开发工具包(JDK)
通过yum安装OpenJDK并配置环境变量:

yum install java-1.8.0-openjdk-devel -y  
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> ~/.bashrc  
source ~/.bashrc  
java -version  # 验证版本输出

Hadoop核心组件介绍

Hadoop生态包含多个模块,单机部署仅需关注核心组件:

组件 功能描述 核心配置文件
HDFS 分布式文件系统 hdfs-site.xml
YARN 资源调度与管理框架 yarn-site.xml
MapReduce 分布式计算引擎 mapred-site.xml

Hadoop安装与配置步骤

下载与解压Hadoop
从Apache官网获取稳定版压缩包(如hadoop-3.3.6.tar.gz),解压至指定目录:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz  
tar -zxvf hadoop-3.3.6.tar.gz -C /opt/  
ln -s /opt/hadoop-3.3.6 /opt/hadoop  # 创建软链接便于管理

配置环境变量
编辑~/.bashrc添加Hadoop路径:

如何在CentOS 7单机上成功搭建Hadoop环境?

echo "export HADOOP_HOME=/opt/hadoop" >> ~/.bashrc  
echo "export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin" >> ~/.bashrc  
source ~/.bashrc  

修改核心配置文件
进入${HADOOP_HOME}/etc/hadoop目录,按顺序编辑以下文件:

  • hadoop-env.sh:指定Java路径

    echo "export JAVA_HOME=${JAVA_HOME}" >> hadoop-env.sh  
  • core-site.xml:配置默认文件系统与临时目录

    <configuration>
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
      </property>
      <property>
          <name>hadoop.tmp.dir</name>
          <value>/opt/hadoop/data/tmp</value>
      </property>
    </configuration>
  • hdfs-site.xml:设置NameNode与DataNode存储路径

    <configuration>
      <property>
          <name>dfs.replication</name>
          <value>1</value>  <!-- 单机模式无需副本 -->
      </property>
      <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:/opt/hadoop/data/namenode</value>
      </property>
      <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:/opt/hadoop/data/datanode</value>
      </property>
    </configuration>
  • mapred-site.xml:配置MapReduce框架

    <configuration>
      <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
      </property>
    </configuration>
  • yarn-site.xml:YARN资源管理器参数

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

启动与验证服务

格式化NameNode
首次启动前需格式化HDFS命名空间:

如何在CentOS 7单机上成功搭建Hadoop环境?

hdfs namenode -format  

启动Hadoop集群
使用脚本启动所有组件:

start-dfs.sh && start-yarn.sh  
jps  # 验证进程:应包含NameNode、DataNode、ResourceManager、NodeManager

Web界面验证

  • HDFS管理界面:http://localhost:9870
  • YARN资源管理器:http://localhost:8088

常用操作示例

上传文件至HDFS

hdfs dfs -mkdir /input  
hdfs dfs -put /etc/passwd /input  
hdfs dfs -ls /input  # 列出文件

运行WordCount示例
将示例jar包复制到HDFS并执行:

hdfs dfs -copyFromLocal ${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar .  
yarn jar hadoop-mapreduce-examples-*.jar wordcount /input /output  
hdfs dfs -cat /output/*  # 查看结果

相关问答FAQs

Q1:启动Hadoop时提示“Permission denied”错误,如何解决?
A:通常因目录权限不足导致,执行以下命令修复:

chown -R $USER:$USER /opt/hadoop/data  # 将数据目录所有权赋予当前用户  
chmod -R 755 /opt/hadoop/data          # 设置读写权限

Q2:为什么单机模式下HDFS的副本数设置为1?
A:HDFS默认副本数为3,但在单机环境中仅有一台节点,若设置多副本会导致写入失败,设为1可确保数据在本地完整存储,不影响功能演示,生产环境需根据集群规模调整此参数。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-22 08:39
下一篇 2024-07-09 07:40

相关推荐

  • 如何在CentOS 6.5系统中安装Chromium浏览器?

    Chromium浏览器在CentOS 6.5系统上的部署与优化指南环境准备在开始安装Chromium之前,需确保CentOS 6.5系统满足基础依赖要求,首先更新系统软件包并安装必要的开发工具:sudo yum update -y && sudo yum groupinstall "D……

    2025-10-17
    005
  • 如何进行有效的服务器安全配置?

    服务器安全配置需遵循最小权限原则,禁用不必要的服务,定期更新补丁,使用强密码策略和多因素认证。配置防火墙规则,限制访问,并监控日志以检测异常行为。

    2024-08-03
    0023
  • CentOS打不开sudoers文件,提示权限不足怎么解决?

    在 CentOS 系统管理中,sudoers 文件是权限控制的核心,许多初学者甚至是有经验的管理员都可能遇到“打不开”或无法正确编辑 sudoers 文件的窘境,这通常表现为使用 vi /etc/sudoers 命令时收到权限警告,或者在保存时发现文件被锁定,理解这一问题的根源并掌握正确的处理方法,是保障系统安……

    2025-10-04
    009
  • CentOS没有回收站,误删的文件到底该如何恢复?

    在众多Linux发行版中,CentOS因其稳定性和可靠性,被广泛应用于服务器环境,对于习惯了图形化操作系统的用户来说,CentOS的命令行操作,尤其是文件删除,无疑是一把双刃剑,rm命令的“一去不复返”特性,使得一次手误就可能导致数据永久丢失,造成不可估量的损失,在CentOS中建立一个类似Windows“回收……

    2025-10-15
    002

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信