因为工作需要,最近熊哥要花点时间去研究ELK(ElasticSearch, Logstash, Kibana)。关于日志收集分析相关技术知识之前没有接触过,所以需要仔细研究一番。
首先是ElasticSearch。从网上下载了一本关于ES的书籍《ElasticSearch服务器开发:第二版》。下载地址
Elasticsearch是由Shay Banon发起的一个开源搜索服务器项目,2010年2月发布。迄今,该项
目已发展成为搜索和数据分析解决方案领域的主要一员,广泛应用于声名卓著或鲜为人知的搜索
应用程序。此外,由于其分布式性质和实时功能,许多人把它作为文档数据库。
按照书上的教程,安装起来很简单,但是在centOS7上启动的时候,遇到一些问题,这里整理一下,希望能够帮助像我一样初次接触ES的朋友。
我使用的centOS7内核版本是3.10.0-514.el7.x86_64,大家可做为参考。
ES版本elasticsearch-5.5.2,从官网download的。大家可以使用最新的版本。
使用JDK版本是
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
当这些环境都安装好后,接下来就是启动ES了,我的安装目录如下
进入bin执行sh elasticsearch
如果你使用root启动会发现如下错误 java.lang.RuntimeException: can not run elasticsearch as root
然后按照网上说的解决办法就是,将elasticsearch-5.5.2分配给非root权限的用户和组
执行chown -R centos:centos elasticsearch-5.5.2 然后用centos用户启动就OK了
但是又出现下面这些问题
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决办法如下
vi /etc/security/limits.conf添加如下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
vi /etc/sysctl.conf 添加如下内容
vm.max_map_count=655360
然后执行sysctl -p
如果按照上面操作还是无法启动ES或者还有类似错误。此时最好重新登录启动ES的用户
此时就可以正常启动ES了,通过curl http://127.0.0.1:9200可以看到如下结果
有些同学此时在浏览器中会发现无法通过具体ip地址+port方式访问ElasticSearch只能在本地通过http://127.0.0.1:9200访问
可以按照下面方便解决:去elasticsearch的config下修改elasticsearch.yml配置文件 network.host: 0.0.0.0
这样就可以通过ip地址9200端口访问了
接下来就可以按照书上的教程继续了解elasticsearch了
本文地址: https://www.xiongge.club/biancheng/java/1278.html
转载请注明:熊哥club → ELK之Elasticsearch学习(一)centOS安装启动ES
©熊哥club,本站推荐使用的主机:阿里云,CDN建议使用七牛云。
关注微信公众号『熊哥club』
免费提供IT技术指导交流
关注博主不迷路~