ローカルにインストールしているJIRAが落ちた際の対応
JIRAをローカルインストールして使ったいたらいきなりJIRAが落ちた。
ログファイルを探してみてみると↓こんなエラーが・・・。
ログファイルの場所:/opt/atlassian/jira/logs/catalina.2015-11-19.log
11 19, 2015 3:16:57 午後 org.apache.catalina.startup.ContextConfig processAnnotationsFile 重大: Unable to process file [/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/com/atlassian/jira/scheme/DefaultSchemeFactory.class] for annotations java.io.FileNotFoundException: /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/com/atlassian/jira/scheme/DefaultSchemeFactory.class (システム中のファイルを開きすぎです) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2032) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2026) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2026) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2026) at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2026) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1291) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
「Too many open files」のエラーだと思うのでそれ関連で調べてみる。
Linux サーバでの「Too many open files」対策について
http://d.hatena.ne.jp/akishin999/20130213/1360711554
上記のサイトにたどり着いた。
今回のサーバはOpenVZで運用している「CentOS6.5」でulimitは↓の状態でした。
# ulimit -n 1024
ブログにあるとおり「/etc/sysconfig/init」の最後に追記する方法を実行。
ulimit -n 65536
で、OSをリブート。
# ulimit -n 65536
変わった!
ローカル環境なのでとりあえずこれでOK。JIRAも快調に動いてます。