# Debian软件包安装Elasticsearch

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html#deb-key](https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html#deb-key)

译文链接 : [http://apache.wiki/pages/editpage.action?pageId=4882727](http://apache.wiki/pages/editpage.action?pageId=4882727)

贡献者 : @漫步

## Debian软件包安装Elasticsearch

Debian的软件包Elasticsearch可以[从我们的网站下载](https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html#install-rpm "下载并手动安装RPM") 或从我们的 [APT仓库](https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html#deb-repo "从APT库中安装")。它可以用于任何基于Debian的系统，如Debian和Ubuntu上安装Elasticsearch。

Elasticsearch的最新稳定版本可以在上找到 [下载Elasticsearch](https://www.elastic.co/downloads/elasticsearch)页面。其它版本可以在上找到[过去的版本页面](https://www.elastic.co/downloads/past-releases)。

![注意](img/66451d8bfad3b8dc5776cc1eafdf57b6.jpg)

Elasticsearch需要Java 8或更高版本。使用 [Oracle官方分发](http://www.oracle.com/technetwork/java/javase/downloads/index.html) 或作为开放源代码的分布，[OpenJDK的](http://openjdk.java.net/)。

## 导入Elasticsearch PGP密钥

我们签署所有我们与Elasticsearch签名密钥包（PGP密钥 [D88E42B4](https://pgp.mit.edu/pks/lookup?op=vindex&search=0xD27D666CD88E42B4)，可从[https://pgp.mit.edu](https://pgp.mit.edu/)）与指纹识别：

```
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
```

下载并安装该公用签名密钥：

```
wget的- QO - HTTPS ：// 文物。弹性。合/ GPG - KEY - elasticsearch | sudo易于- 键添加-
```

## 从APT库中安装

您可能需要安装`apt-transport-https`程序之前，Debian软件包：

```
sudo易于- get安装容易- 运输- HTTPS
```

库定义保存到 `/etc/apt/sources.list.d/elastic-5.x.list`：

```
回声“的deb https://artifacts.elastic.co/packages/5.x/apt~~V稳定的主” | sudo的发球- 一/ 等/ 易/ 来源。名单。ð / 弹性- 5.x的。名单                     
```

![警告](img/3efc16dc4276a33f18692faec41cbbd5.jpg)

不要使用`add-apt-repository`，因为它会增加一个`deb-src`条目，但是我们不提供源代码包。如果您已经添加了`deb-src`条目，你会看到如下的错误：

```
无法找到预期的条目发行文件的主要/源极/源“
（错误的sources.list条目或格式错误的文件）
```

删除`deb-src`从入门`/etc/apt/sources.list`文件，按预期的方式安装应该工作。

您可以通过安装Elasticsearch Debian软件包：

```
sudo易于- 得到更新&& 命令和apt - get安装elasticsearch
```

![警告](img/3efc16dc4276a33f18692faec41cbbd5.jpg)

如果同一Elasticsearch版本库中两个条目，你会看到在这样的错误`apt-get update`：

```
重复的sources.list进入https://artifacts.elastic.co/packages/5.x/apt/ ...`
```

检查`/etc/apt/sources.list.d/elasticsearch-5.x.list`的重复条目，或找到文件之间的重复条目`/etc/apt/sources.list.d/`和`/etc/apt/sources.list`文件。

## 下载并安装Debian软件包手动

```
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.1.deb
sha1sum elasticsearch-5.0.1.deb 
sudo dpkg -i elasticsearch-5.0.1.deb
```

| [![](img/24cb6cd12df1a0cbdb39ab06379bd3de.jpg)](https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html#CO3-1) | 通过比较产生的SHA `sha1sum`或`shasum`与  [published SHA](https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.1.deb.sha1).。 |

### SysV `init` vs `systemd`

Elasticsearch是不是在安装后自动启动。如何启动和停止Elasticsearch取决于你的系统是否使用的SysV`init`或 `systemd`（较新发行版中使用）。你可以说这是一个用来运行以下命令：

```
PS - p 1
```

### Running Elasticsearch with SysV `init`

使用`update-rc.d`命令来配置Elasticsearch时自动启动系统启动:

```
sudo update-rc.d elasticsearch defaults 95 10
```

Elasticsearch可以开始，并使用停止`service`命令：

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

如果Elasticsearch无法启动以任何理由，将打印未能STDOUT的原因。日志中可以找到的文件`/var/log/elasticsearch/`

### Running Elasticsearch with `systemd`

要配置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`日志记录，该`--quiet`选项必须从被删除`ExecStart`的命令行`elasticsearch.service`文件。

当`systemd`启用了日志记录，日志信息的使用可用`journalctl`的命令：

tail 查看  journal:

```
sudo journalctl -f
```

要列出elasticsearch服务日记帐分录：

```
sudo journalctl --unit elasticsearch
```

要列出从给定的时间启动elasticsearch服务日记帐分录：

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

检查 `man journalctl`或[https://www.freedesktop.org/software/systemd/man/journalctl.html](https://www.freedesktop.org/software/systemd/man/journalctl.html)更多的命令行选项。

## 检查Elasticsearch运行

您可以测试你的Elasticsearch节点通过发送一个HTTP请求到端口上运行`9200`的`localhost`：

```
GET /返回值如下：
```

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

## 配置Elasticsearch

Elasticsearch加载从它的配置`/etc/elasticsearch/elasticsearch.yml` 默认文件。这个配置文件的格式说明 [_配置Elasticsearch_](https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html "配置Elasticsearch")。

Debian软件包也有一个系统配置文件（`/etc/default/elasticsearch`），它允许你设置以下参数：

| `ES_USER` | 用户运行的，默认为`elasticsearch`。 |
| `ES_GROUP` | 本组运行的，默认为`elasticsearch`。 |
| `JAVA_HOME` | 设置定制的Java路径中使用。 |
| `MAX_OPEN_FILES` | 打开文件，默认最大数量`65536`。 |
| `MAX_LOCKED_MEMORY` | 最大锁定内存大小。设置为`unlimited`，如果你使用 `bootstrap.memory_lock`的elasticsearch.yml选项。 |
| `MAX_MAP_COUNT` | 的过程中可能出现内存映射区域的最大数量。如果你使用`mmapfs` 的索引存储类型，确保此项设置为高值。欲了解更多信息，请查看 [Linux内核文件](https://github.com/torvalds/linux/blob/master/Documentation/sysctl/vm.txt) 有关`max_map_count`。这是通过设置`sysctl`在开始之前elasticsearch。默认为`262144`。 |
| `LOG_DIR` | 日志目录，默认为`/var/log/elasticsearch`。 |
| `DATA_DIR` | Data目录，默认为`/var/lib/elasticsearch`。 |
| `CONF_DIR` | 配置文件目录（其中必须包括`elasticsearch.yml` 和`log4j2.properties`文件），默认为`/etc/elasticsearch`。 |
| `ES_JAVA_OPTS` | 任何额外的JVM系统属性，你可能要应用。 |
| `RESTART_ON_UPGRADE` | 配置上的升级包，默认为重启`false`。这意味着你将有手动安装包后重新启动您的elasticsearch实例。这样做的原因是为了保证，在群集升级不会导致连续碎片重新分配导致高网络流量并降低群集的响应时间。 |

![注意](img/66451d8bfad3b8dc5776cc1eafdf57b6.jpg)

使用分布`systemd`需要系统资源限制经由被配置`systemd`，而不是通过`/etc/sysconfig/elasticsearch` 文件。见[Systemd配置](https://www.elastic.co/guide/en/elasticsearch/reference/current/setting-system-settings.html#systemd "Systemd配置")以获取更多信息。

## Debian目录结构

Debian的包宿的配置文件，日志，并在基于Debian的系统中相应的位置的数据目录：

| 类型 | 描述 | 默认位置 | 设置 |
| --- | --- | --- | --- |
| **home
** | Elasticsearch主目录或 `$ES_HOME` | `/usr/share/elasticsearch` |   |
| **bin
** | 二进制脚本包括`elasticsearch`启动一个节点，并`elasticsearch-plugin`安装插件 | `/usr/share/elasticsearch/bin` |   |
| **conf
** | 配置文件，包括 `elasticsearch.yml` | `/etc/elasticsearch` | `path.conf` |
| **conf
** | 环境变量，包括堆大小，文件描述符。 | `/etc/default/elasticsearch` |   |
| **data
** | 节点上分配的各索引/碎片的数据文件的位置。可以容纳多个位置。 | `/var/lib/elasticsearch` | `path.data` |
| **logs
** | 日志文件的位置。 | `/var/log/elasticsearch` | `path.logs` |
| **plugins
** | 插件文件的位置。每一个插件将被包含在一个子目录。 | `/usr/share/elasticsearch/plugins` |   |
| **repo
** | 共享文件系统存储库位置。可以容纳多个位置。文件系统存储库可以放在这里指定的任意目录中的任何子目录。 | 未配置 | `path.repo` |
| **script
** | 脚本文件位置。 | `/etc/elasticsearch/scripts` | `path.scripts` |

## 下一步

现在，您有一个测试环境Elasticsearch成立。开始之前严重的发展或进入生产与Elasticsearch，你需要做一些额外的设置：

*   了解如何[配置Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html "配置Elasticsearch")。
*   配置[重要Elasticsearch设置](https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html "重要Elasticsearch配置")。
*   配置[重要的系统设置](https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html "重要的系统配置")。