CentOS系统下Hadoop单机模式部署指南
2025.09.12 11:09浏览量:14简介:本文详细介绍在CentOS 7/8系统上以单机模式部署Hadoop 3.x的完整流程,涵盖环境准备、依赖安装、配置文件修改及验证测试等关键环节,适合开发测试与教学场景使用。
CentOS系统下Hadoop单机模式部署指南
一、环境准备与系统要求
在CentOS系统上部署Hadoop单机模式前,需确保系统满足以下基础条件:
- 系统版本:推荐使用CentOS 7或CentOS 8(需关闭SELinux并配置防火墙)
- 硬件配置:至少4GB内存(建议8GB+)、20GB可用磁盘空间
- 网络环境:需配置静态IP地址,确保网络连通性
- 用户权限:建议创建专用用户(如hadoopuser)而非直接使用root
# 创建专用用户示例sudo useradd -m hadoopusersudo passwd hadoopusersudo usermod -aG wheel hadoopuser # 授予sudo权限
二、依赖组件安装与配置
1. Java环境配置
Hadoop 3.x要求Java 8或11版本,推荐使用OpenJDK:
# 安装OpenJDK 11sudo yum install -y java-11-openjdk-devel# 验证安装java -version# 应输出类似:openjdk version "11.0.xx"
配置JAVA_HOME环境变量(修改~/.bashrc或/etc/profile):
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' >> ~/.bashrcecho 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrcsource ~/.bashrc
2. SSH免密登录配置
单机模式虽不依赖分布式通信,但Hadoop组件启动时仍需SSH服务:
sudo yum install -y openssh-serversudo systemctl start sshdsudo systemctl enable sshd# 生成密钥对(直接回车跳过密码)ssh-keygen -t rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys# 验证SSH本地登录ssh localhost
三、Hadoop安装与配置
1. 下载与解压
从Apache官网获取稳定版Hadoop(本文以3.3.6为例):
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gztar -xzvf hadoop-3.3.6.tar.gz -C /opt/sudo chown -R hadoopuser:hadoopuser /opt/hadoop-3.3.6
2. 环境变量配置
修改~/.bashrc文件:
echo 'export HADOOP_HOME=/opt/hadoop-3.3.6' >> ~/.bashrcecho 'export PATH=$HADOOP_HOME/bin:$PATH' >> ~/.bashrcecho 'export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop' >> ~/.bashrcsource ~/.bashrc
3. 核心配置文件修改
(1) hadoop-env.sh
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh# 取消以下行注释并修改export JAVA_HOME=/usr/lib/jvm/java-11-openjdkexport HADOOP_LOG_DIR=/var/log/hadoop
(2) core-site.xml
<configuration><property><name>hadoop.tmp.dir</name><value>/opt/hadoop-3.3.6/tmp</value></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property></configuration>
(3) hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>1</value> <!-- 单机模式设为1 --></property><property><name>dfs.namenode.name.dir</name><value>/opt/hadoop-3.3.6/data/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>/opt/hadoop-3.3.6/data/datanode</value></property></configuration>
四、格式化与启动验证
1. 格式化HDFS文件系统
hdfs namenode -format# 成功输出应包含"Storage directory ... has been successfully formatted"
2. 启动Hadoop服务
# 启动HDFS(单机模式只需启动NameNode和DataNode)$HADOOP_HOME/sbin/start-dfs.sh# 验证进程状态jps# 应显示NameNode、DataNode、SecondaryNameNode进程
3. 基础功能测试
(1) Web界面访问
- NameNode UI:http://localhost:9870
- DataNode UI:http://localhost:9864
(2) HDFS操作测试
# 创建测试目录hdfs dfs -mkdir /test# 上传本地文件echo "Hello Hadoop" > test.txthdfs dfs -put test.txt /test/# 查看文件列表hdfs dfs -ls /test# 下载文件验证hdfs dfs -get /test/test.txt test_download.txtcat test_download.txt
五、常见问题解决方案
1. 权限拒绝错误
现象:Permission denied: user=..., access=WRITE
解决:
# 修改HDFS目录权限hdfs dfs -chmod -R 777 /# 或创建专用用户并配置hdfs-site.xml的权限策略
2. 端口冲突问题
现象:Address already in use
解决:
# 修改配置文件中的端口号(如9000→9001)netstat -tulnp | grep java # 确认占用端口
3. 内存不足错误
现象:Could not reserve enough space for object heap
解决:
修改hadoop-env.sh中的内存参数:
export HADOOP_HEAPSIZE=1024 # 默认单位MBexport HADOOP_NAMENODE_OPTS="-Xms512m -Xmx1024m"
六、优化建议与扩展应用
- 日志管理:配置log4j.properties实现日志分级存储
- 监控集成:通过Ganglia或Prometheus监控单机运行状态
- 数据备份:定期备份namenode的metadata目录
- 版本升级:关注Apache官网的安全补丁更新
七、卸载清理流程
# 停止所有服务$HADOOP_HOME/sbin/stop-dfs.sh# 删除安装目录和数据rm -rf /opt/hadoop-3.3.6rm -rf /var/log/hadoop# 清理环境变量sed -i '/HADOOP_HOME/d' ~/.bashrcsed -i '/HADOOP_CONF_DIR/d' ~/.bashrc
通过以上步骤,您可在CentOS系统上快速搭建Hadoop单机环境,该模式特别适用于:
- 开发阶段的单元测试
- 教学演示与原型验证
- 小规模数据处理实验
- 集群部署前的功能验证
建议后续根据实际需求向伪分布式或完全分布式模式迁移,以获得更完整的Hadoop生态体验。

发表评论
登录后可评论,请前往 登录 或 注册