在Linux系统中管理HDFS(Hadoop Distributed File System)集群涉及多个方面,包括集群的安装与配置、日常运维、监控和故障排除等。以下是一些关键步骤和最佳实践:
下载Hadoop:
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文件,添加以下内容:
export HADOOP_HOME=/opt/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后使配置生效:
source /etc/profile.d/hadoop.sh
编辑core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
编辑hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-3.3.1/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-3.3.1/data/datanode</value>
</property>
</configuration>
格式化NameNode:
hdfs namenode -format
启动HDFS集群:
start-dfs.sh
start-dfs.sh
stop-dfs.sh
添加DataNode: 在新节点上执行:
hadoop-daemon.sh start datanode
然后在NameNode上更新dfs.hosts文件。
删除DataNode:
在NameNode上更新dfs.hosts文件,然后执行:
hadoop-daemon.sh stop datanode
http://namenode:50070http://resourcemanager:8088tail -f /opt/hadoop-3.3.1/logs/hadoop-<username>-namenode-<hostname>.log
tail -f /opt/hadoop-3.3.1/logs/hadoop-<username>-datanode-<hostname>.log
NameNode无法启动:
检查dfs.namenode.name.dir和dfs.datanode.data.dir配置是否正确,确保目录权限正确。
DataNode无法注册:
检查dfs.hosts文件是否正确更新,确保防火墙允许相关端口通信。
通过以上步骤和最佳实践,您可以在Linux系统中有效地管理和维护HDFS集群。