安装hadoop_2_6_1_0_129-hdfs后,部署Hadoop集群App Timeline Server失败求助
解决App Timeline Server部署时libtirpc-devel找不到的问题
咱们先从几个核心方向排查,毕竟你已经多次尝试安装却仍报错,大概率不是单纯的安装命令问题:
1. 先确认软件源是否正常,换源重试
系统默认源可能存在包缺失或同步延迟的情况,先清理缓存并换用稳定源试试:
- 针对CentOS/RHEL系统:
如果还是不行,建议先备份原repo配置文件,替换为国内阿里源后再重新安装。yum clean all yum makecache yum install libtirpc-devel -y - 针对Ubuntu/Debian系统:
注意!Ubuntu下这个包的名字是libtirpc-dev,别和CentOS的包名搞混了:apt-get update --fix-missing apt-get install libtirpc-dev -y
2. 检查依赖安装路径与Hadoop的查找路径是否匹配
Hadoop在运行或部署时会依赖系统指定的库路径,如果libtirpc-devel的安装路径不在它的搜索范围内,就会出现"找不到"的错误:
- 先找到libtirpc的实际安装位置:
find / -name "libtirpc.so*" find / -name "tirpc.h" - 把找到的路径添加到系统环境变量中,比如编辑
~/.bashrc或/etc/profile:
执行export LD_LIBRARY_PATH=/usr/lib64/libtirpc:$LD_LIBRARY_PATH export C_INCLUDE_PATH=/usr/include/tirpc:$C_INCLUDE_PATHsource ~/.bashrc让配置生效后,再重新部署App Timeline Server。
3. 排查依赖链是否完整
libtirpc-devel本身可能依赖其他组件,要是这些前置依赖没装全,就算表面安装成功,Hadoop也无法正常识别:
- 查看依赖树,把所有缺失的组件补上:
# CentOS/RHEL yum deplist libtirpc-devel # Ubuntu/Debian apt-cache depends libtirpc-dev
4. 针对Hadoop 2.6版本的特殊兼容处理
Hadoop 2.6属于比较老的版本,对系统依赖的版本有特定要求,新系统的高版本libtirpc可能反而不兼容:
- 尝试源码编译安装适配的旧版本(比如0.2.4,是Hadoop 2.x系列常用的兼容版本):
# 下载源码包 wget https://downloads.sourceforge.net/project/libtirpc/libtirpc/0.2.4/libtirpc-0.2.4.tar.gz # 解压编译安装 tar -zxvf libtirpc-0.2.4.tar.gz cd libtirpc-0.2.4 ./configure --prefix=/usr make && make install
5. 检查App Timeline Server的配置文件
有时候是配置写错了导致的"假报错":
- 打开
yarn-site.xml,确认以下配置项的主机名和端口是否正确,且对应节点上确实安装了所有依赖:<property> <name>yarn.timeline-service.address</name> <value>你的主机名:10200</value> </property> <property> <name>yarn.timeline-service.webapp.address</name> <value>你的主机名:8188</value> </property>
如果以上方法都试过还是不行,建议把部署时的完整报错日志贴出来,能更精准定位问题。
内容的提问来源于stack exchange,提问作者Nikolay Baranenko
相关产品推荐
相关产品推荐

