Hadoop怎么实现伪分布模式

发布时间:2021-12-09 14:18:01 作者:iii
来源:亿速云 阅读:150

Hadoop怎么实现伪分布模式

1. 引言

Hadoop是一个开源的分布式计算框架,广泛应用于大数据处理。它由Apache基金会开发,旨在通过分布式存储和计算来处理海量数据。Hadoop的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce。HDFS负责数据的存储,而MapReduce负责数据的处理。

在实际应用中,Hadoop通常运行在分布式集群上,但在开发和测试阶段,伪分布模式(Pseudo-Distributed Mode)是一个非常有用的配置。伪分布模式允许用户在单台机器上模拟一个完整的Hadoop集群,从而简化开发和调试过程。

本文将详细介绍如何在单台机器上配置和运行Hadoop的伪分布模式。我们将从环境准备、Hadoop安装、配置文件修改、启动Hadoop集群、验证集群状态等方面进行详细讲解。

2. 环境准备

在开始配置Hadoop伪分布模式之前,我们需要确保系统环境满足以下要求:

2.1 操作系统

Hadoop可以在多种操作系统上运行,包括Linux、Windows和macOS。本文以Linux(Ubuntu 20.04)为例进行讲解。

2.2 Java环境

Hadoop是用Java编写的,因此需要安装Java Development Kit (JDK)。建议使用JDK 8或更高版本。

sudo apt update
sudo apt install openjdk-8-jdk

安装完成后,可以通过以下命令验证Java版本:

java -version

2.3 SSH无密码登录

Hadoop的伪分布模式需要SSH无密码登录到本地主机。首先,确保SSH服务已安装并启动:

sudo apt install openssh-server
sudo systemctl start ssh

然后,生成SSH密钥对并配置无密码登录:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

最后,验证SSH无密码登录是否成功:

ssh localhost

如果不需要输入密码即可登录,说明配置成功。

3. Hadoop安装

3.1 下载Hadoop

从Apache Hadoop官网下载最新版本的Hadoop。本文以Hadoop 3.3.1为例:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

3.2 解压Hadoop

将下载的Hadoop压缩包解压到指定目录:

tar -xzvf hadoop-3.3.1.tar.gz -C /opt/

3.3 配置环境变量

为了方便使用Hadoop命令,我们需要将Hadoop的bin目录添加到系统的PATH环境变量中。编辑~/.bashrc文件,添加以下内容:

export HADOOP_HOME=/opt/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后,使配置生效:

source ~/.bashrc

4. 配置文件修改

Hadoop的伪分布模式需要修改以下几个配置文件:

4.1 hadoop-env.sh

编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件,设置JAVA_HOME环境变量:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

4.2 core-site.xml

编辑$HADOOP_HOME/etc/hadoop/core-site.xml文件,配置HDFS的默认文件系统:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

4.3 hdfs-site.xml

编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml文件,配置HDFS的副本因子和NameNode、DataNode的存储目录:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop-3.3.1/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop-3.3.1/data/datanode</value>
    </property>
</configuration>

4.4 mapred-site.xml

编辑$HADOOP_HOME/etc/hadoop/mapred-site.xml文件,配置MapReduce框架:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

4.5 yarn-site.xml

编辑$HADOOP_HOME/etc/hadoop/yarn-site.xml文件,配置YARN资源管理器:

<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>

5. 启动Hadoop集群

5.1 格式化HDFS

在启动Hadoop集群之前,需要格式化HDFS的NameNode:

hdfs namenode -format

5.2 启动HDFS

使用以下命令启动HDFS:

start-dfs.sh

5.3 启动YARN

使用以下命令启动YARN:

start-yarn.sh

5.4 启动MapReduce JobHistory Server

如果需要查看历史作业信息,可以启动MapReduce JobHistory Server:

mr-jobhistory-daemon.sh start historyserver

6. 验证集群状态

6.1 检查HDFS状态

使用以下命令检查HDFS的状态:

hdfs dfsadmin -report

6.2 检查YARN状态

使用以下命令检查YARN的状态:

yarn node -list

6.3 访问Web界面

Hadoop提供了Web界面,可以通过浏览器访问以下URL来查看集群状态:

7. 运行示例程序

为了验证Hadoop伪分布模式的配置是否正确,我们可以运行一个简单的MapReduce示例程序。

7.1 创建输入目录

首先,在HDFS上创建一个输入目录:

hdfs dfs -mkdir /input

7.2 上传输入文件

将本地文件上传到HDFS的输入目录中:

hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input

7.3 运行MapReduce作业

运行Hadoop自带的wordcount示例程序:

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

7.4 查看输出结果

作业完成后,查看输出结果:

hdfs dfs -cat /output/*

8. 停止Hadoop集群

在完成测试后,可以使用以下命令停止Hadoop集群:

stop-yarn.sh
stop-dfs.sh
mr-jobhistory-daemon.sh stop historyserver

9. 总结

通过本文的详细步骤,我们成功地在单台机器上配置并运行了Hadoop的伪分布模式。伪分布模式为开发和测试提供了一个便捷的环境,使得开发者可以在本地机器上模拟一个完整的Hadoop集群,从而加快开发和调试过程。

在实际生产环境中,Hadoop通常运行在分布式集群上,但伪分布模式为我们提供了一个良好的起点,帮助我们更好地理解Hadoop的工作原理和配置方法。希望本文能够帮助读者顺利配置和使用Hadoop的伪分布模式。

推荐阅读:
  1. hbase 0.94.16 伪分布模式安装
  2. hadoop2.4.1伪分布模式部署

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hadoop

上一篇:Hadoop怎么搭建本地模式

下一篇:Hadoop集群搭建的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》