CentOS 7环境下单机Hadoop 3.3.4部署全攻略
2025.09.17 11:04浏览量:0简介:本文详细介绍在CentOS 7系统上部署单机版Hadoop 3.3.4的完整流程,涵盖环境准备、依赖安装、配置调整及验证测试,适合开发人员和企业用户快速搭建Hadoop学习环境。
一、环境准备与系统要求
1.1 基础环境确认
建议使用CentOS 7.9(x86_64)作为部署系统,需确保系统已安装基础开发工具包(Development Tools组)。通过yum groupinstall "Development Tools"
命令可快速安装编译环境。系统内核版本建议不低于3.10.0,可通过uname -r
命令验证。
1.2 网络配置要点
单机部署需关闭防火墙或开放必要端口(默认9870/HDFS Web UI,8088/YARN ResourceManager)。推荐使用systemctl stop firewalld
临时禁用,或通过firewall-cmd --add-port={9870,8088}/tcp --permanent
添加永久规则。网络时间同步建议配置NTP服务,避免集群时间不同步问题。
1.3 用户权限管理
创建专用hadoop用户(useradd -m hadoop
),设置密码后将其加入sudoers列表(visudo
添加hadoop ALL=(ALL) NOPASSWD:ALL
)。所有Hadoop相关操作建议在该用户下执行,避免使用root直接操作。
二、依赖组件安装
2.1 Java环境配置
Hadoop 3.3.4需要Java 11或更高版本。推荐安装OpenJDK 11:
yum install -y java-11-openjdk-devel
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk" >> ~/.bashrc
source ~/.bashrc
验证安装:java -version
应显示11.x版本。
2.2 SSH免密登录设置
单机环境仍需配置SSH免密登录:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
测试连接:ssh localhost
应直接登录无需密码。
2.3 必要工具安装
安装wget、rsync等工具:
yum install -y wget rsync
三、Hadoop安装与配置
3.1 下载与解压
从Apache官网下载Hadoop 3.3.4二进制包:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -xzvf hadoop-3.3.4.tar.gz -C /opt/
ln -s /opt/hadoop-3.3.4 /opt/hadoop
3.2 核心配置文件调整
3.2.1 hadoop-env.sh
修改/opt/hadoop/etc/hadoop/hadoop-env.sh
,添加:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
3.2.2 core-site.xml
配置HDFS默认路径:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
3.2.3 hdfs-site.xml
设置副本数为1(单机模式):
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.2.4 mapred-site.xml
配置YARN作为执行框架:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.2.5 yarn-site.xml
设置ResourceManager地址:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
四、启动与验证
4.1 格式化HDFS
首次启动前需格式化:
hdfs namenode -format
观察输出中”Storage directory … has been successfully formatted”确认成功。
4.2 启动服务
按顺序启动服务:
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
验证进程:jps
应显示NameNode、DataNode、ResourceManager、NodeManager等进程。
4.3 基础功能测试
4.3.1 Web界面访问
- HDFS管理界面:http://localhost:9870
- YARN资源管理:http://localhost:8088
4.3.2 命令行测试
创建测试目录并上传文件:
hdfs dfs -mkdir /test
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /test
hdfs dfs -ls /test
4.3.3 运行示例Job
执行MapReduce示例:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar pi 2 5
观察输出中的π近似值计算结果。
五、常见问题处理
5.1 内存不足问题
若出现”Unable to load native-hadoop library”警告,可修改hadoop-env.sh
:
export HADOOP_OPTS="-Xms256m -Xmx512m"
5.2 端口冲突解决
检查9000、9870、8088等端口是否被占用:
netstat -tulnp | grep -E '9000|9870|8088'
冲突时修改配置文件中对应端口号。
5.3 日志分析技巧
主要日志位于$HADOOP_HOME/logs/
,推荐使用:
tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log
实时监控关键服务启动过程。
六、性能优化建议
6.1 内存配置调整
根据物理内存调整JVM参数,在mapred-site.xml
中添加:
<property>
<name>mapreduce.map.memory.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>1024</value>
</property>
6.2 本地缓存优化
在core-site.xml
中启用本地缓存:
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
6.3 监控工具集成
建议部署Ganglia或Prometheus+Grafana进行实时监控,需额外安装配置相关exporter。
七、卸载与清理
如需重新部署,执行:
$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/sbin/stop-dfs.sh
rm -rf /opt/hadoop* /tmp/hadoop-* /opt/hadoop/tmp
本指南通过分步骤详细说明,结合实际配置示例和问题解决方案,为在CentOS 7上部署单机Hadoop提供了完整的操作路径。建议首次部署时严格按照文档顺序执行,并在关键步骤后进行验证。对于生产环境,需在此基础上考虑高可用配置、监控告警等增强方案。
发表评论
登录后可评论,请前往 登录 或 注册