从零开始在 Linux 上搭建 Hadoop 平台:一个详细的教程和必备配置文件

在信息时代,大数据处理是企业发展必不可少的一部分。Hadoop 是一种分布式计算平台,能够高效地处理大数据集。然而,搭建 Hadoop 集群可以相当复杂,需要正确配置和调整多个组件。本文将向您展示如何从零开始在 Linux 上搭建 Hadoop,以及如何配置 Hadoop 的必备文件。

一、选择 Linux 发行版

选择正确的 Linux 发行版是为 Hadoop 集群配置环境的重要一步。Ubuntu、CentOS、Debian 等都是常见的选择,但是我们建议使用 CentOS 发行版,因为它在企业中稳定性和可靠性很高。

二、安装和配置 Java 环境

Hadoop 是基于 Java 开发的,因此在搭建 Hadoop 之前,您需要安装和配置 Java 环境。在 CentOS 中,可以使用以下命令安装 OpenJDK:

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

安装完成后,需要配置 Java 环境变量。可以使用以下命令打开环境变量文件:

sudo nano /etc/environment

然后添加以下两行代码:

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
PATH=$PATH:$JAVA_HOME/bin

然后使用以下命令重新加载环境变量:

source /etc/environment

三、下载和配置 Hadoop

下载 Hadoop 安装包,可以在 Apache Hadoop 的官方网站上下载最新的稳定版本。现在最新的是 Hadoop 3.3.0

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

解压 Hadoop 文件:

tar -xzf hadoop-3.3.0.tar.gz
cd hadoop-3.3.0

然后,需要配置 Hadoop 的必备配置文件。配置文件均位于 hadoop/etc/hadoop 目录中。

  1. core-site.xml
<configuration>
   <property>
      <name>fs.defaultFS</name>
      <value>hdfs://localhost:9000</value>
      <description>Name</description>
   </property>
</configuration>
  1. hdfs-site.xml
<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
      <description>The default number of replicas for a Hadoop File System (HDFS) block is 3.  For a single-node Hadoop setup, we will only need one replica of each block.</description>
   </property>
   <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/hadoop/app/hadoop/tmp/dfs/name</value>
      <description>Directory to store the metadata for HDFS.</description>
   </property>
   <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/hadoop/app/hadoop/tmp/dfs/data</value>
      <description>Directory to store the data for HDFS.</description>
   </property>
</configuration>
  1. mapred-site.xml
<configuration>
   <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
      <description>The MapReduce application framework library.</description>
   </property>
   <property>
      <name>yarn.app.mapreduce.am.resource.mb</name>
      <value>512</value>
      <description>Amount of memory the MapReduce framework can use.</description>
   </property>
   <property>
      <name>mapreduce.map.memory.mb</name>
      <value>256</value>
      <description>Amount of memory each map task is allowed to use.</description>
   </property>
   <property>
      <name>mapreduce.reduce.memory.mb</name>
      <value>256</value>
      <description>Amount of memory each reduce task is allowed to use.</description>
   </property>
</configuration>
  1. yarn-site.xml
<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
      <description>The Shuffle service to be used (if using MapReduce).</description>
   </property>
   <property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
      <description>The implementation of the ShuffleHandler service.</description>
   </property>
   <property>
      <name>yarn.nodemanager.local-dirs</name>
      <value>/hadoop/app/hadoop/tmp/nm-local-dir</value>
      <description>Directory to store local state for NodeManager.</description>
   </property>
   <property>
      <name>yarn.nodemanager.log-dirs</name>
      <value>/hadoop/app/hadoop/tmp/nm-logs</value>
      <description>Directory to store logs for NodeManager.</description>
   </property>
   <property>
      <name>yarn.nodemanager.resource.memory-mb</name>
      <value>512</value>
      <description>Amount of memory NodeManager can use.</description>
   </property>
   <property>
      <name>yarn.scheduler.minimum-allocation-mb</name>
      <value>128</value>
      <description>Minimum amount of memory an application can request from the scheduler.</description>
   </property>
   <property>
      <name>yarn.scheduler.maximum-allocation-mb</name>
      <value>2048</value>
      <description>Maximum amount of memory an application can request from the scheduler.</description>
   </property>
</configuration>

四、启动 Hadoop

现在,已经完成了 Hadoop 的配置,可以启动 Hadoop:

cd /hadoop/app/hadoop/sbin
./start-all.sh

此命令将启动所有的 Hadoop 服务,包括 NameNode、DataNode、ResourceManager 和 NodeManager。

可以使用以下命令检查 Hadoop 服务是否正在运行:

jps

如果一切正常,则应该看到以下输出:

2562 DataNode
2631 NodeManager
2405 NameNode
2771 ResourceManager

五、测试 Hadoop

可以使用以下命令在 Hadoop 上运行一个简单的 MapReduce 任务,以验证 Hadoop 是否正常运行:

hadoop jar hadoop-mapreduce-examples-3.3.0.jar wordcount /input /output

对于该命令,需要替换以下参数:

  • hadoop-mapreduce-examples-3.3.0.jar:这是 Hadoop 的示例程序 JAR 文件路径。
  • wordcount:这是要运行程序的类。
  • /input:这是输入文件的路径。
  • /output:这是输出文件的路径。

六、总结

在本文中,我们讨论了从头开始在 Linux 上搭建 Hadoop 平台所需的步骤。我们讨论了如何选择适当的 Linux 发行版,如何安装和配置 Java 环境,以及如何下载和配置 Hadoop。此外,我们还讨论了 Hadoop 的必要配置文件的内容,并展示了如何启动 Hadoop 和测试它是否正常运行。

此外,为了更详细地了解如何配置和管理 Hadoop,请参阅 Apache Hadoop 的官方文档。

  • 1
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NasaYIN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值