三台虚拟机搭建Hadoop
Hadoop是一种用于处理大规模数据的开源框架,它提供了分布式存储和计算能力。在进行Hadoop开发和测试时,通常需要在多台虚拟机上搭建Hadoop集群。本文将介绍如何使用三台虚拟机搭建一个简单的Hadoop集群,并提供相关的代码示例。
环境准备
在开始之前,我们需要准备以下环境:
- 三台虚拟机,可以使用VMware、VirtualBox等虚拟机软件创建;
- Ubuntu操作系统,版本号为18.04或以上;
- Hadoop安装包,可以从Hadoop官网上下载。
搭建Hadoop集群
以下是搭建Hadoop集群的步骤:
- 在每台虚拟机上安装Java运行环境:
sudo apt update
sudo apt install openjdk-8-jdk
- 将Hadoop安装包解压到每台虚拟机的相同目录下,如
/opt/hadoop/
;
tar -zxvf hadoop-3.2.2.tar.gz -C /opt/
- 配置环境变量,打开
~/.bashrc
文件,添加以下内容,并执行source ~/.bashrc
使配置生效:
export HADOOP_HOME=/opt/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 配置Hadoop集群的主从节点,打开每台虚拟机的
hadoop-3.2.2/etc/hadoop/slaves
文件,将每台虚拟机的主机名或IP地址分别写在一行上;
vim /opt/hadoop-3.2.2/etc/hadoop/slaves
- 配置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地址。
- 配置Hadoop集群的副本数量,打开每台虚拟机的
hadoop-3.2.2/etc/hadoop/hdfs-site.xml
文件,添加以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
其中3
表示副本数量为3。
- 配置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地址。
- 格式化Hadoop文件系统,打开名称节点(NameNode)所在虚拟机的终端,执行以下命令:
hdfs namenode -format
- 启动Hadoop集群,打开名称节点(NameNode)所在虚拟机的终端,执行以下命令:
start-dfs.sh
start-yarn.sh
- 验证Hadoop集群是否正常运行,打开名称节点(NameNode)所在虚拟机的终端,执行以下命令,如果输出结果中包含
Live datanode
字样,则表示集群运行正常:
hdfs dfsadmin -report
至此,我们已成功搭建了一个由三台虚拟机组成的Hadoop集群。
总结
本文介绍了如何使用