虚拟机环境搭建
在创建Hadoop集群前,需先搭建稳定的虚拟机环境,推荐使用VirtualBox或VMware Workstation作为虚拟化软件,以Ubuntu Server 20.04 LTS为操作系统,该版本对Hadoop兼容性良好且社区支持完善,创建虚拟机时,建议分配至少4GB内存、50GB硬盘空间(可根据实际需求调整),并选择“桥接网卡”模式,确保虚拟机与主机处于同一局域网,便于后续网络配置与节点通信。
安装操作系统时,需注意:选择“最小安装”以减少不必要的资源占用,安装过程中设置静态IP地址(如192.168.1.100/24、网关192.168.1.1、DNS 8.8.8.8),避免因DHCP导致IP变动影响集群稳定性,配置主机名(如master-node)并添加hosts记录(/etc/hosts),将集群各节点IP与主机名绑定,为后续Hadoop集群通信奠定基础。
系统基础配置
虚拟机系统安装完成后,需进行基础优化与依赖安装,首先更新软件包列表并安装必要工具:
sudo apt update && sudo apt upgrade -y sudo apt install -y openssh-server vim net-tools
SSH服务是Hadoop集群节点间通信的核心,需配置免密登录:执行ssh-keygen -t rsa生成密钥对,随后通过ssh-copy-id master-node将公钥复制至本机及其他节点(若有),实现ssh master-node免密登录。
为提升Hadoop运行效率,建议调整系统参数:编辑/etc/sysctl.conf添加vm.swappiness=10(减少交换空间使用)和net.core.somaxconn=65535(优化网络连接数),执行sysctl -p使配置生效,创建专用用户hadoop并赋予sudo权限,避免直接使用root操作引发权限问题。
Hadoop安装与配置
下载Hadoop稳定版(如3.3.6)并解压至/usr/local/目录:
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz sudo tar -zxf hadoop-3.3.6.tar.gz -C /usr/local/ sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop sudo chown -R hadoop:hadoop /usr/local/hadoop
配置环境变量:编辑~/.bashrc,添加以下内容:
export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
执行source ~/.bashrc使配置生效。
Hadoop核心配置文件位于$HADOOP_CONF_DIR,需修改以下关键文件:
- core-site.xml:配置HDFS默认地址与临时目录
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master-node:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration> - hdfs-site.xml:配置HDFS副本数与数据存储目录
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/local/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/local/hadoop/dfs/data</value> </property> </configuration> - mapred-site.xml:指定MapReduce运行框架为YARN
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> - yarn-site.xml:配置ResourceManager与NodeManager属性
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master-node</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
集群启动与验证
首次启动Hadoop前需格式化HDFS文件系统(仅执行一次):
hdfs namenode -format
依次启动HDFS与YARN服务:
start-dfs.sh # 启动NameNode、DataNode、SecondaryNameNode start-yarn.sh # 启动ResourceManager、NodeManager
通过jps命令检查进程:NameNode(主节点)、DataNode(从节点)、ResourceManager(主节点)、NodeManager(从节点)应正常运行。
验证集群功能:上传测试文件至HDFS并运行WordCount示例:
hdfs dfs -mkdir -p /input hdfs dfs -put $HADOOP_HOME/etc/hadoop/core-site.xml /input hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /input /output hdfs dfs -cat /output/*
若输出词频统计结果,则表明虚拟机Hadoop集群搭建成功。
通过以上步骤,可在虚拟机环境中完成Hadoop集群的创建与配置,为后续大数据处理、分布式计算等实验或开发提供稳定平台,实际部署中,可根据需求扩展从节点数量,并优化资源配置以提升集群性能。













