ELK单机版搭建之Elasticsearch5.5安装
最近手头没什么事,想整个搜索引擎把商品列表功能优化下,找了下发现ElasticSearch, Logstash, Kibana整合的全文搜索比较火,就研究下,整了一上午,只把ElasticSearch跑起来了,因为不太熟练,所以在安装过程中遇到了超级多的坑(感觉网上所有的坑都踩了一遍),特此记录下安装过程和遇到的问题,供以后参考。
首先下载ElasticSearch,下载地址:https://www.elastic.co/downloads/elasticsearch
我的环境是jdk8,尽量建议用jdk8,因为低版本的jdk好像不支持
然后上传到linux服务器,解压命令 unzip elasticsearch-5.5.2.zip,
我解压后的地址:/usr/local/elk/elasticsearch-5.5.2
然后修改配置,命令:vim /usr/local/elk/elasticsearch-5.5.2/config/elasticsearch.yml
port是访问的端口
如果想外网访问,必须将host配置为0.0.0.0,否则外网访问时会拒绝链接
这两个是data和logs的路径,大部分人应该都会配置到自己指定的路径,方便寻找
然后修改内存大小,默认是占用2g内存,如果内存足够可以不修改,如果报下图异常
说明内存不足,需要修改,修改地址:vim /usr/local/elk/elasticsearch-5.5.2/config/jvm.options
根据自己的内存来修改,修改后
Elasticsearch5.0以上版本为了安全不再支持root用户启动,试了网上很多方法都无法再root用户下启动,报错信息
失败的方法:
1./elasticsearch -Des.insecure.allow.root=true
2.修改执行文件elasticsearch,添加ES_JAVA_OPTS="-Des.insecure.allow.root=true"
以上两种方法测试无效,可能是版本问题
正确的解决方法,创建一个新的账户,专门用来启动elasticsearch
linux命令:
1.创建用户和用户组
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
2.更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch(root账户下)
cd
/usr/local
chown -R elsearch:elsearch elk
特别提示:如果你在之前设置了data和logs路径,且不在你授权的目录下,同样需要单独授权
/usr/local
chown -R elsearch:elsearch local
然后进到/usr/local/elk/elasticsearch-5.5.2/bin下
linux命令:./elasticsearch -d
-d为可选,加上则后台启动,第一次启动建议不加,可以查看启动日志
启动错误:
1.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方法:修改/etc/sysctl.conf配置文件,
vim etc/sysctl.conf,修改vm.max_map_count参数
vm.max_map_count=262144
如果不存在则添加
添加后保存,执行linux命令: sudo sysctl -p
2.max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536]
执行:ulimit -n 65536 然后关闭shell和服务器的连接重新打开,一定要关闭连接重新打开,我因为执行命令后没有重新打开连接,所以一直报这个错,重新连接服务器后运行正常
然后重启Elasticsearch,显示以下日志后,运行成功
浏览器访问返回:ip+端口号 例如:xxx.xxx.xxx.xx:9200
返回结果:
如果返回结果为服务器拒绝链接
1.请查看下防火墙是否屏蔽端口
2.请查看host地址是否正确
以上就是搭建过程,希望帮助大家快速搭建Elasticsearch,如果有不正确的地方请在评论区留言,上面的所有解决方案都来源于百度,感谢大神提供的教程