详细解法见:http://www.elasticsearch.org/tutorials/too-many-open-files/
总体意思是,在linux系统中,使用了非root用户启动的elasticsearch,但Linux对这些非特权用户打开的文件格式做了限制。导致elasticsearch报错。
修改方法,使用root编辑/etc/security/limits.conf,在最后面增加
elasticsearch soft nofile 32000 elasticsearch hard nofile 32000
修改之后,切换到elasticsearch用户,使用命令ulimit -Sn查看。
最后重启elasticsearch。