Linux elasticsearch搭建

前言

前几篇博客是针对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
2
sudo chown -R es:es elasticsearch-6.2.3
su es

(如果还有报错,阅读的第五部分,可能出现的问题和解决方法)上面的步骤都完成之后,到bin目录下./elasticsearch启动服务,看到started,则表示你的服务启动成功了。打开浏览器输入es服务器的ip:9200,可以看到

你想输入的替代文字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"name" : "nQjQYj2",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "h7oqDUO1Q8me_iSdN1ztag",
"version" : {
"number" : "6.2.3",
"build_hash" : "c59ff00",
"build_date" : "2018-03-13T10:06:29.741383Z",
"build_snapshot" : false,
"lucene_version" : "7.2.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

可能出现的问题和解决方法

下面的配置若修改了还是出现之前的问题,就先断开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

2.max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解决:切换到root用户修改配置sysctl.conf

1
vi /etc/sysctl.conf

添加下面配置:

1
vm.max_map_count=655360

并执行命令:

1
sysctl -p

3.max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

解决:切换到root用户,进入limits.d目录下修改配置文件。(我的目录下没有这个文件,直接vim生成就好)

1
vim /etc/security/limits.d/90-nproc.conf

修改如下内容:

1
soft nproc 1024

修改为:

1
soft nproc 2048