在centos系统上部署hadoop分布式文件系统(hdfs)的完整指南。
准备工作
-
Java环境安装: Hadoop依赖Java运行环境。请确保已安装合适的Java版本 (建议Java 8)。使用以下命令安装OpenJDK 8:
sudo yum install java-1.8.0-openjdk-devel
-
Hadoop下载与解压: 从apache Hadoop官网下载对应版本的Hadoop发行包,并解压到指定目录 (例如/opt)。 以下命令以Hadoop 3.3.1为例:
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz tar -xzvf hadoop-3.3.1.tar.gz -C /opt
-
环境变量配置: 编辑/etc/profile.d/hadoop.sh文件,设置Hadoop环境变量。 请根据实际路径调整:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export HADOOP_HOME=/opt/hadoop-3.3.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存文件后,运行 source /etc/profile.d/hadoop.sh 使配置生效。
-
Hadoop核心配置文件配置: 需要配置 core-site.xml, hdfs-site.xml, mapred-site.xml, 和 yarn-site.xml 等核心配置文件。 (具体配置内容需根据集群环境调整,请参考Hadoop官方文档)。
HDFS启动
-
NameNode格式化 (首次启动): 首次启动HDFS前,必须格式化NameNode。
hdfs namenode -format
-
启动HDFS集群: 使用以下命令启动整个HDFS集群:
start-dfs.sh
HDFS状态验证
-
NameNode状态检查: 使用以下命令查看NameNode状态及集群信息:
hdfs dfsadmin -report
-
Web ui访问: 通过浏览器访问以下地址查看HDFS的Web界面:
- NameNode Web UI: http://
:50070 - ResourceManager Web UI: http://
:8088 (如果适用)
- NameNode Web UI: http://
疑难解答
-
权限问题: 确保Hadoop用户拥有Hadoop安装目录的正确权限。
chown -R hadoop:hadoop /opt/hadoop-3.3.1
-
防火墙配置: 确保防火墙允许Hadoop使用的端口 (50070, 8088等)。
sudo firewall-cmd --permanent --zone=public --add-port=50070/tcp sudo firewall-cmd --permanent --zone=public --add-port=8088/tcp sudo firewall-cmd --reload
-
SElinux: 如果启用了SELinux,可能需要临时禁用或调整SELinux策略。 (不推荐永久禁用SELinux)。
setenforce 0 # 临时禁用SELinux (重启后失效)
完成以上步骤后,您应该可以在centos上成功启动并运行HDFS。 如有任何问题,请参考Hadoop官方文档寻求帮助。