CentOS轻松配置HDFS分步指南
以下是在CentOS系统上配置HDFS(Hadoop分布式文件系统)的简化步骤,覆盖基础环境准备、核心配置及启动验证,适合快速搭建单节点HDFS集群。
9000、50070、50010等),避免网络拦截。hadoop)操作,避免root权限滥用;后续需将Hadoop目录归属该用户(chown -R hadoop:hadoop /usr/local/hadoop)。Hadoop依赖Java 8运行,通过以下命令快速安装OpenJDK:
sudo yum install -y java-1.8.0-openjdk-devel
验证Java版本(需显示1.8.0):
java -version
配置Java环境变量(编辑/etc/profile.d/java.sh):
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> /etc/profile.d/java.sh
source /etc/profile.d/java.sh
从Apache官网下载稳定版Hadoop(如3.3.1),解压至/usr/local并创建软链接:
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -zxvf hadoop-3.3.1.tar.gz -C /usr/local/
ln -s /usr/local/hadoop-3.3.1 /usr/local/hadoop
配置Hadoop环境变量(编辑/etc/profile.d/hadoop.sh):
echo "export HADOOP_HOME=/usr/local/hadoop" >> /etc/profile.d/hadoop.sh
echo "export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin" >> /etc/profile.d/hadoop.sh
source /etc/profile.d/hadoop.sh
验证Hadoop安装:
hadoop version
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下关键文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> <!-- 单节点用localhost,集群改为NameNode IP -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> <!-- 单节点设为1,集群根据节点数调整(如3) -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/namenode</value> <!-- NameNode元数据存储路径 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/datanode</value> <!-- DataNode数据存储路径 -->
</property>
</configuration>
若需使用YARN作为资源管理器,修改yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
手动创建HDFS数据存储目录(若配置文件中路径未自动创建):
mkdir -p /usr/local/hadoop/data/namenode
mkdir -p /usr/local/hadoop/data/datanode
设置目录权限(确保Hadoop用户可读写):
chown -R hadoop:hadoop /usr/local/hadoop/data
首次启动HDFS前,必须格式化NameNode(清除旧元数据,仅第一次需要):
hdfs namenode -format
格式化后会生成dfs.name.dir目录下的元数据文件。
使用以下命令启动HDFS服务(单节点无需单独启动DataNode,start-dfs.sh会自动启动):
start-dfs.sh
验证HDFS进程是否运行(应看到NameNode和DataNode进程):
jps
若进程未启动,检查/usr/local/hadoop/logs目录下的日志文件排查错误。
命令行验证:执行以下命令查看HDFS集群信息:
hdfs dfsadmin -report
输出应包含NameNode、DataNode的状态及存储容量。
Web界面验证:打开浏览器访问http://<namenode-ip>:50070(如http://localhost:50070),查看HDFS的Web管理界面(显示集群状态、存储使用情况等)。
core-site.xml中配置NameNode的IP地址,同时在slaves文件中添加DataNode主机名。9000、50070、50010等)通过,避免网络隔离导致服务不可用。chown命令调整目录归属。