Linux下安装ElasticSearch 5 和配置外部访问
https://www.cnblogs.com/hts-technology/p/8477291.html
(一)ElasticSearch需要jdk1.8以上版本的支持,所以需要先安装jdk。linux下如何安装可以查看另一篇博客 linux下如何安装jdk
(二)在es官网下载tar版本
(三)下载后传到linux系统home/es(目录可自选)下,使用tar -zxvf 压缩包名 解压缩
(四)解压后进入bin目录,执行sh elasticsearch,发现出现错误,说不能以root用户执行。所以创建新的用户
usradd elastic
//目录权限赋于
chown -R elastic:elastic /home/es/elasticsearch-5.5.2/
//然后切换到该用户
su elastic
//再执行,当然也可以加 -d 参数再后台运行,通过ps -ef | grep elasticsearch 查看后台运行
sh elasticsearch
还有可能遇到错误:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
由于elasticsearch5.0默认分配jvm空间大小为2g,修改jvm空间分配
# vim elasticsearch-5.5.2/config/jvm.options
-Xms2g
-Xmx2g
#修改为
-Xms512m
-Xmx512m
(五)运行curl http://localhost:9200 查看,如果出现拒绝之类的问题,一般是防火墙的问题,可以修改防火墙规则或者关闭防火墙
(六)配置外部访问
1)进行安装目录的config目录下,修改elasticsearch.yml文件,修改点如下(要去掉#号注释)
network.host:0.0.0.0
http.port:9200
2)重新启动elasticsearch,可能会出现错误,提示虚拟内存太小,最大文件描述进程太小,进行以下的修改
①max file descriptors.......
修改/etc/security/limits.conf,添加或者修改如下(切换root用户)
* hard nofile 65536
* soft nofile 65536
②max virtual memory.......
修改/etc/sysctl.conf 添加vm.max_map_count=2621441
保存后执行sudo sysctl -p /etc/sysctl.conf 使之生效
3)再次重新启动elasticsearch,当然还有可能出现下面错误(很少出现)Java Hotspot(TM) 64-Bit Server Warning ........
则按照下图修改
4)即可以通过外部 http://服务器ip:9200访问