1.安装jre
elasticsearch是使用java开发的搜索引擎,因此其运行依赖于java runtime environment,我们在这里不使用Oracel的官方jre,改为使用open-jre。
运行环境:
- ubuntu:18.04
- jre:openjdk-11-jre
执行一下的命令进行安装:
apt update
apt install default-jre
安装完成后,执行java -version
进行验证,输出如下表示安装成功:
2.安装Elasticsearch
2.1 下载并启动Elasticsearch
首先从Elasticsearch的官网下载GA版本的Elasticsearch,目前GA版本是6.6.2
,我们使用wget进行下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
下载完成后进行解压:
tar -xzvf elasticsearch-6.6.2.tar.gz
然后我们进入elasticsearch-6.6.2\bin
目录,执行里面的elasticsearch
就可以运行起来,命令行中会输出大量的启动信息,当我们看到以下输出时,就表明elasticsearch启动成功:
其中H9iEvJw
就是我们当前节点Node的名称。
注意:elasticsearch不能使用root用户进行启动,在Ubuntu中必须是用adduser命令添加用户后,然后使用该用户启动elasticsearch。
2.2 修复启动过程中的warn消息
我们在启动过程中看到了以下的warn信息:
[2019-03-21T23:00:05,193][WARN ][o.e.b.BootstrapChecks ] [H9iEvJw] max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2019-03-21T23:00:05,193][WARN ][o.e.b.BootstrapChecks ] [H9iEvJw] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
我们可以看到是max file descriptors
和max virtual memory
的值太小导致Elasticsearch报出这两个warn消息。
2.2.1 修改 max_map_count
使用下面的命令修改Linux系统的 max_map_count值:
su root
vim /etc/sysctl.conf
在文件中加入:
vm.max_map_count=262144
然后执行以下命令使其生效:
sysctl -p
具体可以参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html
2.2.2 修改nofile
打开/etc/security/limits.conf文件:
su root
vim /etc/security/limits.conf
添加以下两项内容(如果存在相应内容,则修改其值):
* soft nofile 65536
* hard nofile 65536
备注:前面的*号表示匹配所有用户,soft和hard分别代表soft limit和hard limit,nofile表示最大打开文件数量
修改后需要重启才能生效。
2.3 绑定IP地址
默认情况下,elasticsearch只允许本地访问,如果要允许其他机器访问,那么需要绑定IP地址,修改方法如下:
vim elasticsearch-6.6.2/config/elasticsearch.yml
修改elasticsearch安装目录下的config文件夹中的elasticsearch.yml文件:
重启Elasticsearch使得新配置生效,这样就可以实现三个地址都能访问Elasticsearch。
至此,Elasticsearch的安装完成。