ローカルにインストールしている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も快調に動いてます。