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
文件(网卡名称可能不同),设置:
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
重启网络服务:systemctl restart network
1.3 主机名解析配置
编辑/etc/hosts
文件,添加:
192.168.1.100 centos-hadoop
通过hostnamectl set-hostname centos-hadoop
修改主机名,确保hostname
命令输出与hosts配置一致。
二、Hadoop依赖环境搭建
2.1 Java环境安装
推荐安装OpenJDK 11或Oracle JDK 8:
yum install -y java-11-openjdk-devel
echo "export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))" >> ~/.bashrc
source ~/.bashrc
验证安装:java -version
应显示11.x版本信息
2.2 SSH免密登录配置
生成密钥对:ssh-keygen -t rsa
将公钥追加到授权列表:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改SSH配置:
# /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
重启服务:systemctl restart sshd
2.3 防火墙与SELinux设置
临时关闭防火墙:systemctl stop firewalld
永久禁用:systemctl disable firewalld
修改SELinux模式:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
三、Hadoop安装与配置
3.1 下载与解压
从Apache官网获取Hadoop 3.3.4二进制包:
wget https://dlcdn.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
添加:
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
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://centos-hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
3.2.3 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>
</configuration>
3.3 格式化HDFS
执行:hdfs namenode -format
成功标志:看到”Storage directory /opt/hadoop/data/namenode has been successfully formatted”提示
四、服务启动与验证
4.1 启动服务
依次执行:
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
通过jps
命令应看到:
- NameNode
- DataNode
- ResourceManager
- NodeManager
- SecondaryNameNode
4.2 Web界面验证
访问:
- HDFS管理界面:http://centos-hadoop:9870
- YARN资源管理:http://centos-hadoop:8088
4.3 功能测试
创建测试目录并上传文件:
hdfs dfs -mkdir /test
hdfs dfs -put /etc/hosts /test/
hdfs dfs -ls /test
五、常见问题解决方案
5.1 权限拒绝问题
现象:Permission denied
错误
解决:
chown -R hadoop:hadoop /opt/hadoop
chmod 755 /opt/hadoop
5.2 内存不足错误
修改mapred-site.xml
:
<property>
<name>mapreduce.map.memory.mb</name>
<value>1024</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>2048</value>
</property>
5.3 数据节点无法启动
检查日志:cat $HADOOP_HOME/logs/hadoop-*-datanode-*.log
常见原因:
- 数据目录权限错误
- 磁盘空间不足
- 配置文件错误
六、优化建议
6.1 性能调优参数
在hdfs-site.xml
中添加:
<property>
<name>dfs.block.size</name>
<value>134217728</value> <!-- 128MB -->
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>20</value>
</property>
6.2 日志管理策略
配置log4j.properties
:
log4j.logger.org.apache.hadoop=INFO,console
log4j.appender.RFA.MaxFileSize=100MB
log4j.appender.RFA.MaxBackupIndex=10
6.3 监控集成方案
推荐使用Prometheus+Grafana监控:
wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz
tar -xzvf node_exporter-*.tar.gz
./node_exporter &
七、卸载与清理指南
7.1 服务停止
$HADOOP_HOME/sbin/stop-yarn.sh
$HADOOP_HOME/sbin/stop-dfs.sh
7.2 数据清理
rm -rf /opt/hadoop/data/
rm -rf /opt/hadoop/tmp/
7.3 软件卸载
rm -rf /opt/hadoop*
sed -i '/export HADOOP_/d' ~/.bashrc
本指南完整覆盖了从环境准备到生产部署的全流程,特别针对单机环境优化了配置参数。实际部署时建议先在测试环境验证,再逐步迁移到生产环境。对于数据敏感场景,建议配置HDFS数据加密和定期备份策略。
发表评论
登录后可评论,请前往 登录 或 注册