Elasticsearch与文件描述符的恩恩怨怨

提到Elasticsearch,让笔者最恶心的倒不是它的反人类的DSL设计,而是每次安装都需要修改进程的最大文件描述符 。那ES与文件描述符有啥恩怨呢 , 下面就来唠叨唠叨 。首先说说文件描述符、在说说ES为什么要这么多文件描述符 。
一、文件描述符1、什么是文件描述符文件描述符(File descriptor)是操作系统为了高效管理文件所创建的一种索引,用于指向被打开的文件,所有I/O操作都是通过文件描述符来实现 。有的地方也会说成是文件句柄,他俩有些区别 , 这里为了方便理解,暂且认为一样 。
如果以文件句柄(File Handle)来理解的话,也很形象 。Handle是门把手的意思,我们用门把手操作门,类似的,进程用文件句柄操作底层操作系统的资源 。
在linux中,遵循一切皆是文件的原则 , 磁盘文件、目录、设备、网络套接字、硬件等都是文件 。当进程读写文件,在打开时,文件和进程就建立了连接,文件描述符就是这个连接 。


    推荐阅读