Ubuntu下HDFS配置的关键注意事项
Hadoop依赖Java运行环境,需优先安装OpenJDK 8(或更高版本)。安装后通过java -version验证,确保输出包含Java版本信息(如openjdk version "1.8.0_392")。若未安装或版本不符,使用sudo apt update && sudo apt install openjdk-8-jdk安装。
/usr/local/目录(避免空格或特殊字符),并重命名为hadoop(便于管理)。~/.bashrc(或/etc/profile),添加HADOOP_HOME(指向Hadoop安装目录)和PATH(包含$HADOOP_HOME/bin和$HADOOP_HOME/sbin),运行source ~/.bashrc使配置生效。需确保变量无拼写错误且路径正确。fs.defaultFS),格式为hdfs://<namenode-hostname>:<port>(单机模式下为localhost:9000);添加hadoop.tmp.dir(临时目录,如/usr/local/hadoop/tmp),用于存储临时文件。dfs.replication,单机模式为1,集群模式建议3,根据数据重要性调整);指定NameNode元数据存储路径(dfs.namenode.name.dir,如/path/to/namenode/data)和DataNode数据存储路径(dfs.datanode.data.dir,如/path/to/datanode/data)。路径需存在且有写入权限。若搭建集群,需在所有节点间配置SSH免密登录。在NameNode上生成密钥对(ssh-keygen -t rsa),将公钥(id_rsa.pub)复制到所有DataNode的authorized_keys文件中(ssh-copy-id user@datanode-ip)。测试免密登录(ssh user@datanode-ip),确保无需输入密码。
首次启动HDFS前,必须格式化NameNode(hdfs namenode -format),以创建元数据目录(如dfs.namenode.name.dir指定的路径)和初始文件(fsimage、edits)。注意:格式化会清除已有元数据,仅能在首次启动或元数据损坏时使用。
start-dfs.sh启动HDFS服务(若为集群,需在ResourceManager节点运行start-yarn.sh启动YARN)。jps命令检查进程(NameNode、DataNode、SecondaryNameNode需存在);访问HDFS Web界面(http://<namenode-ip>:50070,Hadoop 3.x及以上版本为http://<namenode-ip>:9870),查看集群状态。dfs.namenode.name.dir和dfs.datanode.data.dir指定的目录存在且有正确的写入权限(如chown -R hadoop:hadoop /path/to/dir,hadoop为运行Hadoop的用户)。sudo ufw allow <port>命令。