Ubuntu 与 Hadoop 兼容性问题的系统解决路径
一 版本匹配与基线选择
二 环境与依赖的标准化配置
~/.bashrc 或 /etc/profile.d/hadoop.sh 中统一设置,避免多版本冲突。export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
sudo apt-get update
sudo apt-get install -y libsnappy1v5 libsnappy-dev zlib1g zlib1g-dev
/etc/hosts 与主机名映射,设置 SSH 免密登录(本机回环与集群节点均需可用),否则启动与提交作业会频繁失败。三 常见兼容性问题与修复清单
java -version 与预期不符。修复要点:仅保留一个 JDK 8 为默认,更新 JAVA_HOME 与 PATH,执行 source ~/.bashrc 后重开会话验证。hadoop.native.lib 配置,必要时从源码带 native 目标重新编译 Hadoop 以适配当前 glibc/内核/架构。PATH、或使用了错误的包管理器源。修复要点:确认 $HADOOP_HOME/bin 存在且可执行,使用绝对路径或软链统一到 /usr/local/hadoop,必要时改用官方二进制包而非系统源。start-dfs.sh/start-yarn.sh 卡住或报 “Permission denied”。修复要点:本机 ssh localhost 能无密登录,集群节点间互信正常,检查 /etc/ssh/sshd_config 与防火墙策略。core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 中路径不存在、权限不足或 XML 格式错误。修复要点:使用绝对路径、提前 mkdir -p 创建目录、用 hdfs namenode -format 初始化后再启动。四 快速验证与上线前检查
jps,应看到 NameNode、DataNode、ResourceManager、NodeManager 等关键进程(伪分布式至少包含前两者)。hdfs dfs -mkdir -p /user/$USER
hdfs dfs -put $HADOOP_HOME/README.txt /user/$USER/
hdfs dfs -ls /user/$USER
yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 2 5
$HADOOP_HOME/logs/ 下对应进程的 .log 与 .out,从异常栈与 “Caused by” 定位是配置、权限、网络还是本地库问题。五 升级与迁移的稳妥做法
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 的变更点,重点核对 RPC 端口、存储目录、资源调度参数 与权限。hadoop checknative -a 校验本地库可用性,再执行小规模作业验证压缩、I/O 与 Shuffle 链路。