「開かれているファイル記述子の数は 261 個です。 ファイル記述子の制限は 4,096 個です。 使用中の割合は 6.37% です。」

Cloudera Manager(CM)の4系を使っている人はこんなアラートに出会った人もいるのではないかな
上記はアラートの閾値を0%にして意図的にアラート出しました。


うちはCMは4.7.3

あ、うちのHadoopクラスタ名"Falcon"




この話はまた別途お送りできればなと^^



OS側で/etc/security/limits.conf設定したっても、
これはpam_limitsの設定ファイルな為、PAM認証通らないOS起動時やリブート時に
自動起動するようなデーモンは、ここで書いた制限が効かない

Hadoopはファイルたくさん扱うのでスレーブ側ではオープンファイル数の上限を増やしてあげるの必要があるですが、CMの場合はcm-agentの起動シェルに書いてあげましょう。
ここ↓

[root@falcon*** ~]# cat /usr/sbin/cmf-agent
# Force umask to 022. You can't reasonably do everything the Agent
# does with a stricter value. We specifically control permissions
# for things like log directories.
umask 022
# Bump ulimit values here so that all processes can inherit them.
# Supervisord prevents values in limits.conf from being respected.
# Max number of open files
ulimit -n 32768
# Max number of child processes and threads
ulimit -u 65536


CMとしてのデフォでOSのデフォより大きいいい感じの値になってますが、
使い方によってはFDが足りなくなることもあるでしょうから
デフォ値をコメントアウトするなりして書き込みしましょう。CMで変えられるようになればなぁ(と思ったら本文後半で)
※OSデフォは1024なのに冒頭のは4096だなぁ;


とりあえず動いちゃってるクラスタについては、このファイルのulimitはコメントアウトし適宜ulimit入れて、
ロール停止
cm-agentリスタート
ロール起動
で、OS側で設定したlimits.confが反映されます。


ちゃんちゃん



そして、CM5系だと以下のようにCM上から設定できるようになっていますね。
地味~ですが、うれしい^^