找回密码
 立即注册
查看: 393|回复: 0

[linux] 部署Hadoop集群并运行MapReduce集群案例

[复制链接]

224

主题

0

回帖

773

积分

高级会员

积分
773
发表于 2024-7-6 15:12:33 | 显示全部楼层 |阅读模式
本帖最后由 御坂主机 于 2024-7-6 16:09 编辑

1. 概述

Hadoop是一种流行的分布式计算框架,广泛应用于大数据处理。本文将介绍如何在多节点上部署Hadoop集群,并运行一个简单的MapReduce案例。

1.1 Hadoop简介

Hadoop是一个开源的分布式计算框架,用于处理大规模数据集。它包括两个核心组件:HDFS(Hadoop Distributed File System)和MapReduce(用于分布式计算)。HDFS提供高吞吐量的数据访问,而MapReduce则提供并行处理的编程模型。

1.1.1 HDFS

HDFS是一个分布式文件系统,设计用于存储非常大的数据集,并通过集群中的多台机器提供高可用性和高吞吐量。

1.1.2 MapReduce

MapReduce是Hadoop的核心计算模型。它将计算任务分为两个阶段:Map阶段和Reduce阶段。Map阶段处理输入数据并生成中间结果,Reduce阶段则汇总这些中间结果。

2. 环境准备

在开始部署Hadoop集群之前,需要准备以下环境:

(1) 多台linux服务器(至少两台,一台作为主节点,另一台作为从节点)
(2) 配置SSH无密码登录
(3) 安装java环境(JDK)

2.1 配置SSH无密码登录

在所有节点上配置SSH无密码登录,便于Hadoop集群管理。

生成SSH密钥对:

  1. ssh-keygen -t rsa -P ""
复制代码


将公钥复制到所有从节点:

  1. ssh-copy-id user@slave1
  2. ssh-copy-id user@slave2
复制代码


3. 安装Hadoop

下载并解压Hadoop:

  1. wget <a href="https://downloads.apache.org/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz" target="_blank">https://downloads.apache.org/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz</a>
  2. tar -xzvf hadoop-3.3.0.tar.gz
  3. mv hadoop-3.3.0 /usr/local/hadoop
复制代码


3.1 配置Hadoop环境变量

编辑~/.bashrc文件,添加以下内容:

  1. export HADOOP_HOME=/usr/local/hadoop
  2. export HADOOP_INSTALL=$HADOOP_HOME
  3. export HADOOP_MAPRED_HOME=$HADOOP_HOME
  4. export HADOOP_COMMON_HOME=$HADOOP_HOME
  5. export HADOOP_HDFS_HOME=$HADOOP_HOME
  6. export YARN_HOME=$HADOOP_HOME
  7. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  8. export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
复制代码


保存并生效:

  1. source ~/.bashrc
复制代码


3.2 配置Hadoop核心文件

编辑core-site.xml:

  1. <configuration>
  2.   <property>
  3.     <name>fs.defaultFS</name>
  4.     <value>hdfs://master:9000</value>
  5.   </property>
  6. </configuration>
复制代码


编辑hdfs-site.xml:

  1. <configuration>
  2.   <property>
  3.     <name>dfs.replication</name>
  4.     <value>2</value>
  5.   </property>
  6. </configuration>
复制代码


编辑mapred-site.xml:

  1. <configuration>
  2.   <property>
  3.     <name>mapreduce.framework.name</name>
  4.     <value>yarn</value>
  5.   </property>
  6. </configuration>
复制代码


编辑yarn-site.xml:

  1. <configuration>
  2.   <property>
  3.     <name>yarn.resourcemanager.hostname</name>
  4.     <value>master</value>
  5.   </property>
  6. </configuration>
复制代码


4. 启动Hadoop集群

格式化HDFS:

  1. hdfs namenode -format
复制代码


启动HDFS和YARN:

  1. start-dfs.sh
  2. start-yarn.sh
复制代码


检查是否启动成功:

  1. jps
复制代码


5. 运行MapReduce案例

我们将运行Hadoop自带的wordcount案例,演示MapReduce的工作流程。

5.1 准备输入数据

创建输入文件夹并上传数据:

  1. hdfs dfs -mkdir -p /user/hadoop/input
  2. hdfs dfs -put /path/to/local/file.txt /user/hadoop/input
复制代码


5.2 运行wordcount任务

运行wordcount任务:

  1. hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar wordcount /user/hadoop/input /user/hadoop/output
复制代码

5.3 查看输出结果

查看wordcount输出结果:

  1. hdfs dfs -cat /user/hadoop/output/part-r-00000
复制代码


6. 总结

本文详细介绍了如何在多节点上部署Hadoop集群,并通过运行wordcount案例演示了MapReduce的工作流程。通过这些步骤,您可以在自己的环境中部署并运行Hadoop,进一步了解大数据处理的基本原理和操作方法。





------------------------------------------------------------------------------------------------------------------------------------------

========  御 坂 主 机  ========

>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<

>> 推广/合作/找我玩  TG号 : @Misaka_Offical <<

-------------------------------------------------------------------------------------------------------------------------------------------

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-4 08:25 , Processed in 0.072014 second(s), 23 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表