首页 > 代码库 > elasticsearch 使用心得

elasticsearch 使用心得

安装所遇到的问题:
http://www.bubuko.com/infodetail-1889252.html

一,先创建用户和组
groupadd es useradd -g es es passwd es

二,下载对应文件

Download and install the .tar.gz packageedit

The .tar.gz archive for Elasticsearch v5.4.0 can be downloaded and installed as follows:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.0.tar.gz
sha1sum elasticsearch-5.4.0.tar.gz 技术分享
三,切换用户并解压文件
su es tar -xzf elasticsearch-5.4.0.tar.gz
然后chmod 777 给文件所在的目录授权 cd elasticsearch-5.4.0/
四,启动软件

[root@linux-node2 ~]# su es
[es@linux-node2 root]$ cd elasticsearch-5.4.0
[es@linux-node2 elasticsearch-5.4.0]$ ./bin/elasticsearch

 

技术分享

 

启动后总是这里报错,然后参考下面文章进行修改。
五,排错的过程
结合tail命令进行排查

[root@linux-node2 ~]# tail -100f /root/elasticsearch-5.4.0/logs/elasticsearch.log



ELK学习系列文章第二章:elasticsearch常见错误与配置简介::

http://m.blog.csdn.net/article/details?id=53577115

 

在安装Elasticsearch时候,会出现一些坑,我这里做个总结,目的是进行一些记录以及后面使用的童鞋一个参考,同时把其配置做一个简介。

一、常见错误

1.1 root用户启动elasticsearch报错

         Elasticsearch为了安全考虑,不让使用root启动,解决方法新建一个用户,用此用户进行相关的操作。如果你用root启动,会出现“java.lang.RuntimeException: can not runelasticsearch as root”错误,具体如下所示:

技术分享

 

1.2 JVM虚拟机内存不足

        错误:“JavaHotSpot(TM) 64-Bit Server VM warning: INFO: error=‘Cannotallocate memory‘ (errno=12)”表示内存不足,其配置文件为config目录下的jvm.options,默认为2g,可以修改为1g。

1.3  max_map_count过小

        错误“max virtual memory areas vm.max_map_count [65530]is too low, increase to at least [262144]”,max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量,系统默认是65530,修改成262144。解决方法是修改/etc/sysctl.conf配置文件,添加vm.max_map_count=262144,记得需要重启机器才起作用,修改后配置如下图所示:

技术分享

 

1.4 max file descriptors过小

        错误“max file descriptors [65535] for elasticsearchprocess is too low, increase to at least [65536]”,maxfile descriptors为最大文件描述符,设置其大于65536即可。解决方法是修改/etc/security/limits.conf文件,添加“* - nofile65536 * - memlock unlimited”,“*”表示给所有用户起作用,修改后的配置如下图所示:

技术分享

 

一定要重新启动机器要不死活就是你麻痹的,启动不了。

1.5外网访问设置

         细心的同学也许发现第一章验证是用的“localhost:9200”,如果换成“IP:9200”,则浏览器与curl都无法进行访问,那么如何让外网访问呢?网上查了一下,需要修改config目录下elasticsearch.yml文件,修改network.host为“0.0.0.0”,然后进行启动成功,外网就可以访问啦。但是很遗憾,在我的机器还出现了其他错误,具体如下所示:

技术分享

 

通过上面的错误信息,想到需要修改config目录下elasticsearch.yml文件,修改discovery.zen.ping.unicast.hosts为“[“0.0.0.0”]”,然后再次启动,发现没有报错信息(注意防火墙对于端口的限制),同时远程浏览器访问也正常,如下图所示:

技术分享

elasticsearch 使用心得