前言
前几篇博客是针对solr的使用,对solr的使用也算是告一段落了。elasticsearch是当前主流的搜索框架,相比较于solr的单机服务来说,es的分布式特点就是一大卖点了。而且看网上的大牛们说,es在文件较大的程度上搜索的速度比solr快上很多。当你的业务上来,单台服务的搜索都会变的很吃力。
那么作为es的开篇,这里来记录一下es的安装,以及安装碰上的问题。
elasticsearch下载
elasticsearch5.0之后就需要运行在jdk1.8以上,所以在安装es之前先安装jdk,这里不再复述。
elasticsearch可以在官网上下载对应的版本然后上传到linux服务器上 es下载。
另外一个简单方法就是用wget命令,直接下载到本地,然后到对应目录上解压开。1
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz

1 | tar -xvzf elasticsearch-6.2.3.tar.gz |
elasticsearch配置
想要其他的机子能够访问到这台服务器的es服务,需要修改elasticsearch-6.2.3/config/elasticsearch.yml,找到对应的位置修改为1
network.host: 0.0.0.0 #允许任意ip访问
elasticsearch启动
这时候如果你到/elasticsearch-6.2.3/bin 目录下去启动服务,会报错,因为es的服务器不允许root用户启动。创建一个新用户,用户名为es
1 | sudo adduser es |

输入密码,创建成功后改变一下这个目录的权限,然后切换到es新用户。1
2sudo chown -R es:es elasticsearch-6.2.3
su es
(如果还有报错,阅读的第五部分,可能出现的问题和解决方法)上面的步骤都完成之后,到bin目录下./elasticsearch启动服务,看到started,则表示你的服务启动成功了。打开浏览器输入es服务器的ip:9200,可以看到

1 | { |
可能出现的问题和解决方法
下面的配置若修改了还是出现之前的问题,就先断开ssh连接,然后重新连接到linux服务器 1.max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]解决方法:切换到root用户,编辑limits.conf 添加如下内容1
vi /etc/security/limits.conf
添加如下内容:1
2
3
4* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
解决:切换到root用户修改配置sysctl.conf1
vi /etc/sysctl.conf
添加下面配置:1
vm.max_map_count=655360
并执行命令:1
sysctl -p
解决:切换到root用户,进入limits.d目录下修改配置文件。(我的目录下没有这个文件,直接vim生成就好)1
vim /etc/security/limits.d/90-nproc.conf
修改如下内容:1
soft nproc 1024
修改为:1
soft nproc 2048