Ubuntu环境下配置HDFS的前提条件
需使用兼容的Linux发行版(推荐Ubuntu 20.04及以上版本),确保系统内核稳定,支持Hadoop的分布式计算框架。
Hadoop基于Java开发,必须提前安装JDK(推荐OpenJDK 8或11,Hadoop 3.x版本支持JDK 11)。安装后需配置JAVA_HOME环境变量(指向JDK安装路径),并添加至系统PATH中,验证java -version能正确显示版本信息。
从Apache Hadoop官方网站下载稳定版本的安装包(如3.3.6),解压至Ubuntu系统的指定目录(如/usr/local/hadoop),并设置合适的目录权限(建议归属hadoop用户或当前用户)。
Hadoop集群管理(如NameNode与DataNode通信、Secondary NameNode同步)依赖SSH。需在所有节点(尤其是主节点)生成RSA密钥对(ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa),并将公钥(id_rsa.pub)追加至~/.ssh/authorized_keys文件中,设置文件权限为0600,实现主节点到自身及其他节点的无密码登录。
所有参与HDFS的节点(主节点、DataNode)必须在同一子网内,且能通过IP地址互相访问。可通过ping命令测试节点间连通性,避免因网络隔离导致通信失败。
若系统启用了防火墙(如ufw),需放行Hadoop关键端口(如NameNode默认端口9000、HDFS Web界面50070、YARN ResourceManager端口8088等),避免端口被拦截导致服务无法启动。
集群节点间的时间差过大会导致心跳检测失败(NameNode无法识别DataNode状态)。建议安装ntpd或chrony服务,同步所有节点的系统时间(如sudo apt install ntp并配置/etc/ntp.conf)。
需提前创建HDFS数据存储目录(如NameNode的dfs.namenode.name.dir、DataNode的dfs.datanode.data.dir),并设置正确的归属权限(建议归属hadoop用户或当前用户),避免因权限不足导致数据写入失败。