问题来源
- hadoop运行时出现警告
[ WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ]
- 打开调试,查看具体的报错信息
# 1) 开启调式模式
$ vi /etc/profile
Export HADOOP_ROOT_LOGGER=DEBUG,console
# 2) 刷新环境变量
$ source /etc/profile
# 3) 发现提示说glibc2.14 not found,于是尝试安装glibc2.14
- 其实这个警告没有实质影响, 建议不要去管
- glibc是底层架包,搞不好系统就gg了,所以尽量不要手动更新. 如果一定要更新, 请先做好系统备份
- glibc的安装文件解压后, 可以从readme中找到完整流程. 应该结合官方流程进行glibc的手动更新, 因为网上的教程可能有不完整
问题解决
- 搜索下载并上传对应版本的glibc, 一般需要的是2.14版本
- 解压缩:
tar -zxvf /data/glibc-2.14.tar.gz -C /apps/
- 切换到解压目录:
cd /apps/glibc-2.14/
- 新建目录, 用于安装:
mkdir build
- 切换目录:
cd build
- 准备安装:
../configure --prefix=/usr/local/glibc-2.14/ --with-headers=/usr/include/
这里如果警告缺少依赖:makeinfo
, 需要用yum安装texinfo; 类似的,如果缺少msgfmt
, 需要安装gettext
- 安装:
$ make -j4
# 控制台依次输出指令
$ make install
#错误: Can't open configuration file /usr/local/glibc-2.14/etc/ld.so.conf: No such file or directory
#解决:
$ cp /etc/ld.so.c* /usr/local/glibc-2.14/etc/
- 同步本地设置:
make localedata/install-locales
- 删除原有链接:
rm -rf /lib64/libc.so.6
重建链接:LD_PRELOAD=/usr/local/glibc-2.14/lib/libc-2.14.so ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
确认链接:ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
查看glibc是否更新:strings /lib64/libc.so.6 | grep GLIBC_
查看版本信息:lib64/libc.so.6
重设时区:ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
export TZ='Asia/Shanghai'
~/.bashrc
文件中
整体流程: https://blog.csdn.net/qq_25927437/article/details/80824119
细节: https://www.cnblogs.com/Mrhuangrui/p/7766554.html