1、开发模式与生产模式
-
开发模式:(默认)
network.host:localhost 即使配置不正确,写入警告到日志信息,也可以启动 -
生产模式:(默认)
network.host:非localhost 如果配置不正确,则写入异常日志信息,不可以启动
2、启动检查项
Elasticsearch在启动的时候会检查相关参数的设置,如果设置没有满足启动要求,则启动不成功:
- Heap size JVM的大小
- File descriptor 文件句柄的大小
- Memory lock 内存锁定,锁内存可以防止内存与磁盘的频繁交换
- Maximum number of threads 最大线程数
- Maximum size virtual memory 最大虚拟内存
- Maximum map count mmap,设置映射数量
- use serial collector 串行收集器
3、重要系统参数配置
- 文件句柄数 临时更改:
ulimit -n 65536
永久更改:
/etc/security/limits.conf * soft nofile 65536 * hard nofile 65536
-
JVM属性
临时更改:ES_JAVA_OPTS="-Xms2g -Xmx2g" ES_JAVA_OPTS="-Xms4000m -Xmx4000m"
永久更改:
修改config目录下面的jvm.options文件 -
禁用swapping
启用bootstrap.memory_lock:
bootstrap.memory_lock:true/etc/secutiry/limits.conf中将memlock设置为unlimited
- 禁用所有交换文件:
在/etc/fstab中 将含有swap的行注释掉
或者修改linux swap空间的swappiness值,降低对硬盘的缓存-
Virtual memory:
临时更新:sysctl -w vm.max_map_count=262144
永久更新:
/etc/sysctl.conf 设置vm.max_map_count=262144
-
线程数:
临时更新:ulimit -u2048
永久更新:
/etc/security/limits.conf 设置nproc值
4、rest风格API介绍
所有东西都是资源(Resource)
规范对资源的操作,包括CRUD:- GET(SELECT):从服务器取出资源(一项或多项)
- POST(CREATE):在服务器新建一个资源
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)
- DELETE(DELETE):从服务器删除资源
- HEAD:获取资源的元数据
- OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的