logo

CentOS 7环境下单机Hadoop 3.3.4部署全攻略

作者:da吃一鲸8862025.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:

  1. yum install -y java-11-openjdk-devel
  2. echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk" >> ~/.bashrc
  3. source ~/.bashrc

验证安装:java -version应显示11.x版本。

2.2 SSH免密登录设置

单机环境仍需配置SSH免密登录:

  1. ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  3. chmod 600 ~/.ssh/authorized_keys

测试连接:ssh localhost应直接登录无需密码。

2.3 必要工具安装

安装wget、rsync等工具:

  1. yum install -y wget rsync

三、Hadoop安装与配置

3.1 下载与解压

从Apache官网下载Hadoop 3.3.4二进制包:

  1. wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
  2. tar -xzvf hadoop-3.3.4.tar.gz -C /opt/
  3. ln -s /opt/hadoop-3.3.4 /opt/hadoop

3.2 核心配置文件调整

3.2.1 hadoop-env.sh

修改/opt/hadoop/etc/hadoop/hadoop-env.sh,添加:

  1. export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
  2. export HADOOP_HOME=/opt/hadoop
  3. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

3.2.2 core-site.xml

配置HDFS默认路径:

  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://localhost:9000</value>
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/opt/hadoop/tmp</value>
  9. </property>
  10. </configuration>

3.2.3 hdfs-site.xml

设置副本数为1(单机模式):

  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. </configuration>

3.2.4 mapred-site.xml

配置YARN作为执行框架:

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. </configuration>

3.2.5 yarn-site.xml

设置ResourceManager地址:

  1. <configuration>
  2. <property>
  3. <name>yarn.resourcemanager.hostname</name>
  4. <value>localhost</value>
  5. </property>
  6. <property>
  7. <name>yarn.nodemanager.aux-services</name>
  8. <value>mapreduce_shuffle</value>
  9. </property>
  10. </configuration>

四、启动与验证

4.1 格式化HDFS

首次启动前需格式化:

  1. hdfs namenode -format

观察输出中”Storage directory … has been successfully formatted”确认成功。

4.2 启动服务

按顺序启动服务:

  1. $HADOOP_HOME/sbin/start-dfs.sh
  2. $HADOOP_HOME/sbin/start-yarn.sh

验证进程:jps应显示NameNode、DataNode、ResourceManager、NodeManager等进程。

4.3 基础功能测试

4.3.1 Web界面访问

4.3.2 命令行测试

创建测试目录并上传文件:

  1. hdfs dfs -mkdir /test
  2. hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /test
  3. hdfs dfs -ls /test

4.3.3 运行示例Job

执行MapReduce示例:

  1. 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

  1. export HADOOP_OPTS="-Xms256m -Xmx512m"

5.2 端口冲突解决

检查9000、9870、8088等端口是否被占用:

  1. netstat -tulnp | grep -E '9000|9870|8088'

冲突时修改配置文件中对应端口号。

5.3 日志分析技巧

主要日志位于$HADOOP_HOME/logs/,推荐使用:

  1. tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log

实时监控关键服务启动过程。

六、性能优化建议

6.1 内存配置调整

根据物理内存调整JVM参数,在mapred-site.xml中添加:

  1. <property>
  2. <name>mapreduce.map.memory.mb</name>
  3. <value>512</value>
  4. </property>
  5. <property>
  6. <name>mapreduce.reduce.memory.mb</name>
  7. <value>1024</value>
  8. </property>

6.2 本地缓存优化

core-site.xml中启用本地缓存:

  1. <property>
  2. <name>io.file.buffer.size</name>
  3. <value>131072</value>
  4. </property>

6.3 监控工具集成

建议部署Ganglia或Prometheus+Grafana进行实时监控,需额外安装配置相关exporter。

七、卸载与清理

如需重新部署,执行:

  1. $HADOOP_HOME/sbin/stop-yarn.sh
  2. $HADOOP_HOME/sbin/stop-dfs.sh
  3. rm -rf /opt/hadoop* /tmp/hadoop-* /opt/hadoop/tmp

本指南通过分步骤详细说明,结合实际配置示例和问题解决方案,为在CentOS 7上部署单机Hadoop提供了完整的操作路径。建议首次部署时严格按照文档顺序执行,并在关键步骤后进行验证。对于生产环境,需在此基础上考虑高可用配置、监控告警等增强方案。

相关文章推荐

发表评论