三台虚拟机搭建Hadoop

Hadoop是一种用于处理大规模数据的开源框架,它提供了分布式存储和计算能力。在进行Hadoop开发和测试时,通常需要在多台虚拟机上搭建Hadoop集群。本文将介绍如何使用三台虚拟机搭建一个简单的Hadoop集群,并提供相关的代码示例。

环境准备

在开始之前,我们需要准备以下环境:

  1. 三台虚拟机,可以使用VMware、VirtualBox等虚拟机软件创建;
  2. Ubuntu操作系统,版本号为18.04或以上;
  3. Hadoop安装包,可以从Hadoop官网上下载。

搭建Hadoop集群

以下是搭建Hadoop集群的步骤:

  1. 在每台虚拟机上安装Java运行环境:
sudo apt update
sudo apt install openjdk-8-jdk
  1. 将Hadoop安装包解压到每台虚拟机的相同目录下,如/opt/hadoop/
tar -zxvf hadoop-3.2.2.tar.gz -C /opt/
  1. 配置环境变量,打开~/.bashrc文件,添加以下内容,并执行source ~/.bashrc使配置生效:
export HADOOP_HOME=/opt/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  1. 配置Hadoop集群的主从节点,打开每台虚拟机的hadoop-3.2.2/etc/hadoop/slaves文件,将每台虚拟机的主机名或IP地址分别写在一行上;
vim /opt/hadoop-3.2.2/etc/hadoop/slaves
  1. 配置Hadoop集群的名称节点(NameNode)和数据节点(DataNode),打开每台虚拟机的hadoop-3.2.2/etc/hadoop/core-site.xml文件,添加以下内容:
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://<master-ip>:9000</value>
  </property>
</configuration>

其中<master-ip>为名称节点(NameNode)所在虚拟机的IP地址。

  1. 配置Hadoop集群的副本数量,打开每台虚拟机的hadoop-3.2.2/etc/hadoop/hdfs-site.xml文件,添加以下内容:
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
</configuration>

其中3表示副本数量为3。

  1. 配置Hadoop集群的资源管理器(ResourceManager)和节点管理器(NodeManager),打开每台虚拟机的hadoop-3.2.2/etc/hadoop/yarn-site.xml文件,添加以下内容:
<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value><master-ip></value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

其中<master-ip>为名称节点(NameNode)所在虚拟机的IP地址。

  1. 格式化Hadoop文件系统,打开名称节点(NameNode)所在虚拟机的终端,执行以下命令:
hdfs namenode -format
  1. 启动Hadoop集群,打开名称节点(NameNode)所在虚拟机的终端,执行以下命令:
start-dfs.sh
start-yarn.sh
  1. 验证Hadoop集群是否正常运行,打开名称节点(NameNode)所在虚拟机的终端,执行以下命令,如果输出结果中包含Live datanode字样,则表示集群运行正常:
hdfs dfsadmin -report

至此,我们已成功搭建了一个由三台虚拟机组成的Hadoop集群。

总结

本文介绍了如何使用