ES6.0.0官方参考指南翻译~安装ES~使用Debian包安装ES-deb文件怎么安装

可通过我们的站点或APT仓库(https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html#deb-repo)来下载Elasticsearch Debian包.

该包可在任何基于Debian的操作系统(比如: Debian 和 Ubuntu)上安装Elasticsearch.

Elasticsearch的最新稳定版本可通过Download Elasticsearch(https://www.elastic.co/downloads/elasticsearch)页面下载.

其它老版本可通过Past Releases page(https://www.elastic.co/downloads/past-releases)下载.

注意

运行Elasticsearch需要Java 8+,可使用Oracle官方发行包或开源发行包(如:OpenJDK).

导入Elasticsearch PGP Key

我们使用带有指纹的elasticsearch签名密钥(pgp密钥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 -

通过APT repository来安装

在继续安装之前,你还需要在Debian上安装apt-transport-https包:

sudo apt-get install apt-transport-https

再将repository定义存储到/etc/apt/sources.list.d/elastic-6.x.list:

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

注意

下面是不建议使用add-apt-repository的原因:

  1. add-apt-repository会向系统/etc/apt/sources.list文件添加条目,而不会在/etc/apt/sources.list.d中存放干净的repository文件
  2. 许多发行包都没有默认安装add-apt-repository,因此它需要许多的非默认依赖.
  3. 老版的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 包:

sudo apt-get update && sudo apt-get install elasticsearch

警告

如果同一Elasticsearch存储库存在两个条目,则在apt-get update期间会出现如下错误:

Duplicate sources.list entry https://artifacts.elastic.co/packages/6.x/apt/ ...

可查看/etc/apt/sources.list.d/elasticsearch-6.x.list来排除重复条目,或在/etc/apt/sources.list.d/和/etc/apt/sources.list文件中定位重复条目.

注意

在基于systemd的发行版中,安装脚本会尝试设置内核参数(例如,vm.max_map_count); 您可以屏蔽systemd-sysctl.service来跳过此步骤。

下载并手动安装Debian包

可通过下面的地址来下载Elasticsearch v6.0.0的Debian包,并进行安装:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.deb.sha512
shasum -a 512 -c elasticsearch-6.0.0.deb.sha512

ES6.0.0官方参考指南翻译~安装ES~使用Debian包安装ES

sudo dpkg -i elasticsearch-6.0.0.deb

1.比较下载Debian包的SHA校验和是否与发布的检验和相等,正常情况下它应该输出:elasticsearch-{version}.deb: OK.

SysV init vs systemd

在安装完后,Elasticsearch不会自动启动. Elasticsearch的启动/停止方式取决于您的系统使用的是SysV init还是systemd(由较新发行版使用). 可使用如下命令来确定目前正在使用哪一个:

ps -p 1

使用SysV init来运行Elasticsearch

可使用update-rc.d命令来配置Elasticsearch自动随系统一起启动:

sudo update-rc.d elasticsearch defaults 95 10

使用service命令够启动或停止Elasticsearch:

sudo -i service elasticsearch start
sudo -i service elasticsearch stop

如果Elasticsearch启动失败,它会向STDOUT输出失败原因。

日志文件位于/var/log/elasticsearch/目录。

使用systemd来运行Elasticsearch

要配置Elasticsearch自动随系统一起启动,可运行如下命令:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service

可按如下方式来启动和停止Elasticsearch:

sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service

这些命令不会提供Elasticsearch是否启动成功的反馈信息.

相反,它会将启动写入/var/log/elasticsearch/目录下的日志文件中.

默认Elasticsearch服务不会在systemd日志中记录信息。

要启用journalctl日志记录功能,必须从elasticsearch.service文件中的ExecStart命令行中删除--quiet选项。

启用systemd日志后,可使用journalctl命令来获取日志信息:

查看末尾日志信息:

sudo journalctl -f

可通过如下命令来列出elasticsearch服务中的journal条目:

sudo journalctl --unit elasticsearch

要从指定时间开始列出elasticsearch服务中的journal条目,可使用如下命令:

sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"

可通过man journalctl或阅读https://www.freedesktop.org/software/systemd/man/journalctl.html来查看命令行选项的详细信息.

检查Elasticsearch是否运行

可向本机的9200端口发送如下请求来测试你的Elasticsearch节点是否运行:

GET /

正常情况下,它应该有如下类似响应:

{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "6.0.0",
"build_hash" : "f27399d",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "7.0.1",
"minimum_wire_compatibility_version" : "1.2.3",
"minimum_index_compatibility_version" : "1.2.3"
},
"tagline" : "You Know, for Search"
}

配置Elasticsearch

Elasticsearch默认使用/etc/elasticsearch作为运行时配置. 在包安装中,此目录以及其子文件的属主都是root:elasticsearch,并且该目录还设置了setgid标志,这样在/etc/elasticsearch下创建的所有文件和子目录都会继承该目录的属主信息(例如,使用keystore tool来创建密钥库).我们期望以这种方式继续维护下去,这样Elasticsearch进程就可通过组权限来读取该目录下的文件.

默认Elasticsearch会通过/etc/elasticsearch/elasticsearch.yml文件来加载配置.

该配置文件的格式说明可参考配置Elasticsearch.

Debian包还提供了一个系统配置文件(/etc/default/elasticsearch),它允许你设置如下参数:

ES6.0.0官方参考指南翻译~安装ES~使用Debian包安装ES

注意

使用systemd的发行包必须通过systemd(而不能通过/etc/sysconfig/elasticsearch文件)来修改资源限制.

参考Systemd configuration(https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-system-settings.html#systemd)来了解更多信息.

Debian包的目录结构

对于Debian操作系统,Debian包会将配置文件,日志文件,以及数据目录安放在适当位置:

ES6.0.0官方参考指南翻译~安装ES~使用Debian包安装ES

下一步

现在您已经配置了Elasticsearch测试环境。 在正式开发或将Elasticsearch投入生产之前,您还需要进行一些额外设置:

  • 学习如何配置Elasticsearch.
  • 配置重要的Elasticsearch设置.
  • 配置重要的系统设置.

推荐阅读