logo

CentOS系统下单机Hadoop环境快速搭建指南

作者:起个名字好难2025.09.17 11:04浏览量:0

简介:本文详细阐述了在CentOS 7系统上部署单机版Hadoop 3.x的完整流程,涵盖环境准备、安装配置、启动验证等关键环节,为开发者提供可复用的技术实践指南。

CentOS系统下单机Hadoop环境快速搭建指南

一、环境准备与前置条件

1.1 操作系统选择

推荐使用CentOS 7或CentOS 8 LTS版本,因其稳定的内核版本和良好的软件包兼容性。建议选择最小化安装镜像,减少不必要的服务依赖。通过cat /etc/redhat-release命令可验证系统版本。

1.2 网络配置要点

确保服务器具备静态IP地址,修改/etc/sysconfig/network-scripts/ifcfg-ens33文件(网卡名称可能不同),设置:

  1. BOOTPROTO=static
  2. IPADDR=192.168.1.100
  3. NETMASK=255.255.255.0
  4. GATEWAY=192.168.1.1
  5. DNS1=8.8.8.8

重启网络服务:systemctl restart network

1.3 主机名解析配置

编辑/etc/hosts文件,添加:

  1. 192.168.1.100 centos-hadoop

通过hostnamectl set-hostname centos-hadoop修改主机名,确保hostname命令输出与hosts配置一致。

二、Hadoop依赖环境搭建

2.1 Java环境安装

推荐安装OpenJDK 11或Oracle JDK 8:

  1. yum install -y java-11-openjdk-devel
  2. echo "export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))" >> ~/.bashrc
  3. source ~/.bashrc

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

2.2 SSH免密登录配置

生成密钥对:ssh-keygen -t rsa
将公钥追加到授权列表:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改SSH配置:

  1. # /etc/ssh/sshd_config
  2. RSAAuthentication yes
  3. PubkeyAuthentication yes
  4. PasswordAuthentication no

重启服务:systemctl restart sshd

2.3 防火墙与SELinux设置

临时关闭防火墙:systemctl stop firewalld
永久禁用:systemctl disable firewalld
修改SELinux模式:

  1. setenforce 0
  2. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

三、Hadoop安装与配置

3.1 下载与解压

从Apache官网获取Hadoop 3.3.4二进制包:

  1. wget https://dlcdn.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

添加:

  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

  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://centos-hadoop: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. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.name.dir</name>
  8. <value>/opt/hadoop/data/namenode</value>
  9. </property>
  10. <property>
  11. <name>dfs.datanode.data.dir</name>
  12. <value>/opt/hadoop/data/datanode</value>
  13. </property>
  14. </configuration>

3.3 格式化HDFS

执行:hdfs namenode -format
成功标志:看到”Storage directory /opt/hadoop/data/namenode has been successfully formatted”提示

四、服务启动与验证

4.1 启动服务

依次执行:

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

通过jps命令应看到:

  • NameNode
  • DataNode
  • ResourceManager
  • NodeManager
  • SecondaryNameNode

4.2 Web界面验证

访问:

4.3 功能测试

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

  1. hdfs dfs -mkdir /test
  2. hdfs dfs -put /etc/hosts /test/
  3. hdfs dfs -ls /test

五、常见问题解决方案

5.1 权限拒绝问题

现象:Permission denied错误
解决:

  1. chown -R hadoop:hadoop /opt/hadoop
  2. chmod 755 /opt/hadoop

5.2 内存不足错误

修改mapred-site.xml

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

5.3 数据节点无法启动

检查日志cat $HADOOP_HOME/logs/hadoop-*-datanode-*.log
常见原因:

  • 数据目录权限错误
  • 磁盘空间不足
  • 配置文件错误

六、优化建议

6.1 性能调优参数

hdfs-site.xml中添加:

  1. <property>
  2. <name>dfs.block.size</name>
  3. <value>134217728</value> <!-- 128MB -->
  4. </property>
  5. <property>
  6. <name>dfs.namenode.handler.count</name>
  7. <value>20</value>
  8. </property>

6.2 日志管理策略

配置log4j.properties

  1. log4j.logger.org.apache.hadoop=INFO,console
  2. log4j.appender.RFA.MaxFileSize=100MB
  3. log4j.appender.RFA.MaxBackupIndex=10

6.3 监控集成方案

推荐使用Prometheus+Grafana监控:

  1. wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz
  2. tar -xzvf node_exporter-*.tar.gz
  3. ./node_exporter &

七、卸载与清理指南

7.1 服务停止

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

7.2 数据清理

  1. rm -rf /opt/hadoop/data/
  2. rm -rf /opt/hadoop/tmp/

7.3 软件卸载

  1. rm -rf /opt/hadoop*
  2. sed -i '/export HADOOP_/d' ~/.bashrc

本指南完整覆盖了从环境准备到生产部署的全流程,特别针对单机环境优化了配置参数。实际部署时建议先在测试环境验证,再逐步迁移到生产环境。对于数据敏感场景,建议配置HDFS数据加密和定期备份策略。

相关文章推荐

发表评论