Elasticsearch的Debian软件包可以从我们的网站下载或从我们的APT仓库安装。它可以用于任何基于Debian的系统上安装Elasticsearch,如Debian和Ubuntu。
Elasticsearch的最新稳定版本可以在Elasticsearch下载页面获取。其它版本可以在上之前的下载页面找到。
注意
Elasticsearch需要Java 8或更高版本。可以使用Oracle官方发布或开源版本的OpenJDK。
导入Elasticsearch PGP Key
Elasticsearch的所有包都采用如下指纹与签名Key进行签名(PGP key D88E42B4,可从https://pgp.mit.edu):
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
下载并安装该公用签名密钥:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
在操作之前您可能需要在Debian系统中安装apt-transport-https软件包:
sudo apt-get install apt-transport-https
库定义保存到/etc/apt/sources.list.d/elastic-5.x.list:
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
注意
有以下几个原因不使用add-apt-repository: 1. add-apt-repository添加到系统/etc/apt/sources.list文件,而不是在/etc/apt/sources.list.d中清空之前的仓库文件 1. add-apt-repository需要按照一些非默认的依赖以及在许多发行版本中他不是默认安装的。 1. 老版本的add-apt-repository总是添加deb-src将导致错误,因为我们不提供源码包。如果你添加了deb-src,你将会看到一个如下的错误直到你删除了deb-src:
Unable to find expected entry 'main/source/Sources' in Release file
(Wrong sources.list entry or malformed file)
您可以通过如下方式安装Elasticsearch Debian软件包:
警告
如果同一Elasticsearch版本库中两个条目,在使用apt-get update是你会看到在这样的错误:
在/etc/apt/sources.list.d和/和/etc/apt/sources.list文件中检查下重复的/etc/apt/sources.list.d/elasticsearch-5.x.list条目。
注意
在systemd-based的发行中,安装脚本会尝试设置内核参数(例如:vm.max_map_count);你可以通过设置环境变量ES_SKIP_SET_KERNEL_PARAMETERS=true跳过此设置。
手动下载并安装Debian软件包
① 通过sha1sum或shasum比较官方发布的SHA公钥
SysV init vs systemd
Elasticsearch不是在安装后自动启动。如何启动和停止Elasticsearch取决于你的系统是否使用的SysV init或system(较新发行版中使用)。你可以说这是一个用来运行以下命令:
通过SysV init启动Elasticsearch
使用update-rc.d命令来配置Elasticsearch在系统启动时自动启动:
Elasticsearch可以通过service命令来启动与停止:
任何原因的Elasticsearch启动失败,都会将原因打印到控制套。日志文件可以在/var/log/elasticsearch/中找到。
通过systemd启动Elasticsearch
要配置Elasticsearch在系统启动时自动启动,运行以下命令:
Elasticsearch可以通过service命令来启动与停止:
无论Elasticsearch是否成功没有启动, 这些命令不提供反馈。相反,该信息将被写入位于/var/log/elasticsearch/的日志文件中。
默认情况下,Elasticsearch服务的信息不记录在信息systemd 的journal日志中。若要启用journalctl日志记录,在elasticsearch.service文件的ExecStart命令行中必须删除--quiet选项。
当systemd启用了日志记录,日志信息的使用可用journalctl命令:
tail查看journal:
要列出journal中elasticsearch服务的日志条目:
要列出指定时间之后的列出journal中elasticsearch服务的日志条目:
更多的journalctl操作手册,请参考:https://www.freedesktop.org/software/systemd/man/journalctl.html。
检查Elasticsearch运行
您可以在已运行的Elasticsearch节点上,发送一个HTTP请求测试localhost的9200端口:
返回的消息应该是这样的:
配置Elasticsearch
Elasticsearch默认从/etc/elasticsearch/elasticsearch.yml文件中加载配置。这个配置文件的格式说明请参考Elasticsearch配置。
Debian软件包也有一个系统配置文件(/etc/default/elasticsearch),它允许你设置以下参数:
运行的Group,默认为elasticsearch。
最大锁定内存大小。你使用bootstrap.memory_lock的elasticsearch.yml选项将被设置为unlimited。
进程的内存映射区域最大数量。如果你使用mmapfs的索引存储类型,确保此项设置为高值。欲了解更多信息,请查看Linux内核文件查看相关的max_map_count。这是在启动elasticsearch之前通过sysctl设置的,默认为262144。
日志目录,默认为/var/log/elasticsearch。
Data目录,默认为/var/lib/elasticsearch。
配置文件目录(其中必须包括elasticsearch.yml和log4j2.properties文件),默认为/etc/elasticsearch。
配置在安装包升级后重启,默认为false。这意味着你将在安装包后需要手动重新启动您的elasticsearch实例。这样做的原因是为了保证,在群集升级时不会连续的重新分配分片导致高网络流量、并降低群集的响应时间。
注意
使用systemd部署需要配置systemd的系统资源限制,而不是通过/etc/sysconfig/elasticsearch文件。更多信息请参见:系统设置。
Debian包中配置文件、日志和数据目录在Debian-based系统中对应的位置:
Elasticsearch主目录或 $ES_HOME
二进制脚本,包括启动节点的elasticsearch、安装插件的elasticsearch-plugin
/usr/share/elasticsearch/bin
/etc/default/elasticsearch
节点上分配的各索引/分片的数据文件的目录,可以配置多个位置。
/usr/share/elasticsearch/plugins
共享文件系统存储库位置。可以容纳多个位置。文件系统存储库可以放在这里指定的任意目录中的任何子目录。
/etc/elasticsearch/scripts
现在,您搭建了一个测试环境Elasticsearch。开始更深入的研究或投入生产使用Elasticsearch之前,你需要做一些额外的配置: