Ubuntu HDFS配置要注意什么
导读:Ubuntu 上配置 HDFS 的关键注意事项 一 基础环境与网络 规划集群角色与规模:明确 NameNode、DataNode、ResourceManager、NodeManager 的数量与主机,建议同网段部署,避免跨公网高延迟。 主...
Ubuntu 上配置 HDFS 的关键注意事项
一 基础环境与网络
- 规划集群角色与规模:明确 NameNode、DataNode、ResourceManager、NodeManager 的数量与主机,建议同网段部署,避免跨公网高延迟。
- 主机名与解析:为每台机器设置唯一 hostname,并在所有节点的 /etc/hosts 中维护一致的 IP–主机名 映射,避免解析漂移。
- 免密登录:在规划为管理节点的机器上生成 SSH 密钥对,将公钥分发到所有节点,确保脚本化启停与集群内互通。
- 防火墙与端口:开放 HDFS 与 YARN 相关端口(如 9870/50070 等),或按需在测试环境临时关闭防火墙,生产环境务必精细化放行。
- Java 与用户:安装并固定 JDK 版本(如 8),在 hadoop-env.sh 中正确设置 JAVA_HOME;建议使用专用 hadoop 用户运行进程,避免权限混乱。
二 核心配置与目录权限
- 配置文件一致性:集群内所有节点的 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、workers、hadoop-env.sh 必须保持一致;修改后需同步到各节点并重启相关服务。
- 关键参数示例:
- core-site.xml:fs.defaultFS=hdfs://:9000
- hdfs-site.xml:dfs.replication(生产建议 ≥ 3)、dfs.namenode.name.dir(本地元数据目录)、dfs.datanode.data.dir(本地数据目录)
- 本地目录与权限:提前创建 NameNode/DataNode 数据目录 并赋予运行用户(如 hdfs:hdfs)权限,避免启动时报目录不可写。
- 首次格式化:仅在全新集群首次启动时执行 hdfs namenode -format,并记录格式化结果;重复格式化会导致 clusterID 不一致。
- 环境变量:在 ~/.bashrc 或 /etc/profile 中正确设置 HADOOP_HOME、PATH、JAVA_HOME,并确保各节点一致。
三 高可用 HA 要点
- 组件与机制:部署 ZooKeeper 集群(建议 3/5 节点)、JournalNode(建议 ≥ 3 节点),启用 ZKFC 实现 Active/Standby 自动故障转移。
- 必要配置:
- hdfs-site.xml:dfs.nameservices、dfs.ha.namenodes.、dfs.namenode.rpc-address/dfs.namenode.http-address..、dfs.namenode.shared.edits.dir(指向 JournalNode)、dfs.client.failover.proxy.provider
- core-site.xml:fs.defaultFS 指向 nameservice
- 初始化顺序:
1)启动 ZooKeeper 并确认 Leader/Follower;
2)启动 JournalNode;
3)在 Active NameNode 执行 hdfs namenode -format;
4)在 Active 上执行 hdfs namenode -initializeSharedEdits 初始化共享编辑日志;
5)在 Standby NameNode 执行 hdfs namenode -bootstrapStandby 同步元数据;
6)执行 hdfs zkfc -formatZK 初始化 ZKFC;
7)启动 HDFS(如 start-dfs.sh)。 - 验证与演练:使用 hdfs haadmin -getServiceState nn1 检查状态,模拟故障验证 自动切换 是否正常。
四 常见故障与快速排查
- 配置与 XML 格式:检查 core-site.xml/hdfs-site.xml 等是否存在标签未闭合、特殊字符或多余空格;建议保留原始头部声明,减少格式错误。
- 进程与配置不一致:对比各节点进程列表与配置文件,确保 workers 与 XML 一致;变更后需同步并重启。
- 主机名绑定问题:核对 /etc/hosts 与 hostname,确保 NameNode RPC/HTTP 地址可达。
- 免密登录失败:确认 authorized_keys 已包含管理节点公钥,且目录权限为 700/600。
- 防火墙/端口:确认 9870/50070 等端口已放行,或临时关闭防火墙验证是否为网络问题。
- DataNode 未启动或反复退出:清理 DataNode 数据目录(如 /home/hadoop/dfs/data/),避免 clusterID 冲突后重启。
- 日志定位:优先查看 $HADOOP_HOME/logs/hadoop--namenode-.log 与 hadoop--datanode-.log 的错误堆栈。
五 上线前检查清单
- 网络与解析:所有节点 /etc/hosts 一致,跨节点 ping/ssh 正常。
- 目录与权限:namenode/data 目录存在且属主正确,磁盘空间充足。
- 配置分发:所有节点 XML/workers/hadoop-env.sh 一致,环境变量生效。
- 端口可达:NameNode RPC/HTTP 端口(如 9000/9870)对集群开放。
- 安全基线:生产环境启用 Kerberos 等认证,并按需配置 代理用户 与 静态用户(如 hadoop.proxyuser、hadoop.http.staticuser.user)。
- 监控与告警:配置 日志轮转,建立 NameNode/DataNode/JN/ZK 健康检查与告警。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu HDFS配置要注意什么
本文地址: https://pptw.com/jishu/762350.html
