CentOS 7 Hadoop 集群搭建实验报告

Hadoop 是一个开源的分布式计算平台,广泛用于大数据处理。在大数据时代,掌握 Hadoop 的集群搭建技能显得尤为重要。本篇文章将详细介绍如何在 CentOS 7 上搭建 Hadoop 集群,包括所需的软件环境、硬件要求、操作步骤,并提供相应的代码示例。

1. 环境准备

1.1 硬件要求

  • 最低要求:至少两台机器(可以是虚拟机)
  • 每台机器的配置:
    • CPU:2 核心
    • 内存:4GB
    • 磁盘空间:至少 20GB

1.2 软件要求

  • CentOS 7
  • Java JDK 1.8 及以上
  • Hadoop 3.x 版本

1.3 安装 Java JDK

在每台机器上执行以下命令来安装 Java JDK:

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

安装后,可以使用 java -version 命令确认安装是否成功。

2. 下载并安装 Hadoop

在 Hadoop 的[官方网站](

2.1 解压 Hadoop

假设下载的 Hadoop 压缩包名为 hadoop-3.x.x.tar.gz,可以使用以下命令进行解压:

tar -xzvf hadoop-3.x.x.tar.gz

2.2 配置环境变量

将 Hadoop 的 binsbin 目录添加到系统的环境变量中。编辑 ~/.bashrc 文件,加入以下内容:

# Hadoop
export HADOOP_HOME=/path/to/hadoop-3.x.x
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后使用 source ~/.bashrc 命令更新环境变量。

3. 配置 Hadoop

3.1 编辑配置文件

HADOOP_HOME/etc/hadoop 目录下,有多个配置文件需要编辑。

3.1.1 core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
</configuration>
3.1.2 hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>
3.1.3 yarn-site.xml
<configuration>
    <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>
</configuration>

4. 启动 Hadoop 集群

在主节点上格式化 HDFS,使用命令:

hdfs namenode -format

接下来启动 Hadoop:

start-dfs.sh
start-yarn.sh

使用以下命令查看 Hadoop 服务状态:

jps

成功后,您应该能够看到 NameNodeDataNodeResourceManagerNodeManager 等进程正在运行。

5. 验证 Hadoop 集群

可以通过访问 Hadoop 的 web 界面来验证集群的状态,默认端口如下:

  • HDFS Web UI: http://master:50070
  • YARN Web UI: http://master:8088

6. 使用 Hadoop 处理数据

接下来,我们将演示如何在 Hadoop 上运行简单的 MapReduce 作业。首先,上传数据到 HDFS。

6.1 上传文件

使用以下命令上传文件到 HDFS:

hadoop fs -put /path/to/local/file.txt /user/hadoop/

6.2 运行例子作业

使用 Hadoop 提供的示例作业:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.x.x.jar wordcount /user/hadoop/file.txt /user/hadoop/output

6.3 查看输出结果

输出结果将存储在 HDFS 中,使用以下命令查看:

hadoop fs -ls /user/hadoop/output
hadoop fs -cat /user/hadoop/output/part-r-00000

7. 过程示意图

下面是 Hadoop 集群搭建的序列图,展示了各个组件的通信流程。

sequenceDiagram
    participant Client
    participant NameNode
    participant DataNode
    
    Client->>NameNode: 请求文件
        
    NameNode-->>Client: 返回文件位置信息
        
    Client->>DataNode: 发送读取请求
    
    DataNode-->>Client: 返回文件数据

结论

通过本篇文章,您已经学习了如何在 CentOS 7 上搭建并配置 Hadoop 集群。我们从环境准备、软件安装到基本的 MapReduce 任务执行进行了详细的步骤讲解。无论是大数据开发还是数据分析,掌握 Hadoop 的集群搭建都是非常关键的能力。希望本实验报告能为您在大数据领域的学习和实践提供帮助。