网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
首先在$ES_HOME(elasticsearch目录)/config下有3个配置文件,其中jvm打头的配置中配置JVM相关设置,其中:
################################################################
IMPORTANT: JVM heap size
######################################################
You should always set the min and max JVM heap
size to the same value. For example, to set
the heap to 4 GB, set:
-Xms4g
-Xmx4g
要求这里初始化(最小)内存和最大内存需要设置一样,我虚拟机目前配置的2G内存,希望留给其他程序足够的空间,这里设置为1g:
-Xms1g
-Xmx1g
这样跑下来内存占用:
是超过了我设置的值的。因此我想试试bootstrap.memory_lock: true
这个设置
在Memory中去掉该设置的注释:
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
设置了这个属性之后,不再回使用内存交换,即从读写虚存,而虚存实际上是硬盘读写,效率比内存低得多,一般开启这个选项是为了提高性能.然后就出问题了,后台启动elastic过一阵进程自动消失,查看日志发现
[2017-11-17T11:21:16,128][INFO ][o.e.n.Node ] [es_node1] starting …
[2017-11-17T11:21:16,447][INFO ][o.e.t.TransportService ] [es_node1] publish_address {192.168.5.233:9300}, bound_addresses {192.168.5.233:9300}
[2017-11-17T11:21:16,457][INFO ][o.e.b.BootstrapChecks ] [es_node1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2017-11-17T11:21:16,458][ERROR][o.e.b.Bootstrap ] [es_node1] node validation exception
[1] bootstrap checks failed
[1]: memory locking requested for elasticsearch process but memory is not locked
[2017-11-17T11:21:16,523][INFO ][o.e.n.Node ] [es_node1] stopping …
[2017-11-17T11:21:16,741][INFO ][o.e.n.Node ] [es_node1] stopped
[2017-11-17T11:21:16,742][INFO ][o.e.n.Node ] [es_node1] closing …
[2017-11-17T11:21:16,810][INFO ][o.e.n.Node ] [es_node1] closed
查此错报,
原因:锁定内存失败
解决方案:
切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
sudo vim /etc/security/limits.conf添加如下内容:
* soft memlock unlimited
* hard memlock unlimited
备注:* 代表Linux所有用户名称保存、退出、重新登录才可生效
临时取消限制
ulimit -l unlimited
能正常启动,内存占用:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**