资源暂时不可用(Resource temporarily unavailable)

   大早Hadoop的NameNode无法用hadoop用户登录,ssh –vvv 提示远程无Session资源。

   用root登录进去查看hadoop用户的资源信息:

# su -m -c 'ulimit -a' hadoop
su: 无法设置用户ID: 资源暂时不可用

    按经验看就是hadoop用户开了太多线程,达到系统最大限制(默认1024)

# ps –eL | wc -l
2219

    总线程数超过1024,有可能是线程满的问题。不过这台服务器已经调整过用户线程限制了,为何还会出现这个问题呢?

    用户环境变量,/etc/profile.d/ulimit.sh :

#!/bin/bash
[ "$(id -u)" == "0" ] && ulimit -n 1048576
ulimit -u 10000

    系统限制配置,/etc/security/limits.conf:

* soft nproc 10000
* hard nproc 10000
* soft nofile 1048576
* hard nofile 1048576

    验证一下,结果还是设置无效:

# su -m -c 'ulimit -u' nobody
1024

   最后确定是由于CentOS 6.4版本新增了限制配置 /etc/security/limits.d/90-nproc.conf ,以保证root用户无限制。此配置会覆盖主配置文件的设定:

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     1024
root       soft    nproc     unlimited

    OK,问题就此定位!

    解决办法:删除 /etc/security/limits.d/90-nproc.conf 文件中1024那一行。

    注意:不推荐删除此文件,一方面root无限制的配置丢了;另一方面如果此配置文件不存在,执行系统升级时可能又被写入;文件存在时,升级系统时,即使此文件需要更新,也不会被覆盖而是生成 90-nproc.conf.rpmnew。

转载于:https://www.cnblogs.com/higkoo/articles/resource_temporarily_unavailable.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值