ubuntu 安装Elasticsearch5.0(Debian包)

时间:2024-05-19 20:06:26

通过Debian包安装Elasticsearch

Elasticsearch的Debian包可以从downloaded from our websiteAPT repository

它可以用于在任何Debian-based的系统(如Debian和Ubuntu)上安装Elasticsearch。

Elasticsearch的最新稳定版在Download Elasticsearch下载,其他的版本在Past Releases page下载。


NOTE:

Elasticsearch需要java8或者更高的java版本。

可以使用official Oracle distribution 或者使用open-source distribution 例如OpenJDK。


1.导入Elasticsearch PGP Key

我们利用如下指纹签名的密钥签署验证了所有的包

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

下载并安装公共签名密钥:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

2.从apt存储库安装

在继续之前,你可能需要在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

WARNING:

不要使用add-apt-repository,因为它将添加一个deb-src条目,但我们不提供源包。 如果你已添加deb-src条目,你将看到类似如下的错误:

Unable to find expected entry 'main/source/Sources' in Release file
(Wrong sources.list entry or malformed file)

从/etc/apt/sources.list文件中删除deb-src条目,安装可以正常工作


你可以通过如下命令安装Elasticsearch Debian软件包:

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

WARNING:

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

Duplicate sources.list entry 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中寻找重复的条目



NOTE:

在systemd-based的版本,安装脚本将尝试设置内核参数(例如,vm.max_map_count); 你可以通过将环境变量ES_SKIP_SET_KERNEL_PARAMETERS设置为true来跳过此操作。


3.下载并手动安装debian软件包

用于Elasticsearch v5.0.2的Debian软件包可以从网站下载并安装如下:

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

4.Sysv init vs systemd

Elasticsearch在安装后不会自动启动。 如何启动和停止Elasticsearch取决于你的系统是使用SysV init还是systemd(由较新的发行版使用)。

你可以通过运行此命令来确定:

ps -p 1

5.Running Elasticsearch with Sysv init

使用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/中找到。

6.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/中的日志文件中。

(你可以尝试 sudo systemctl status elasticsearch.service)

默认情况下,Elasticsearch服务不会被记录到systemd journal。 要启用journalctl,必须从elasticsearch.service文件中的ExecStart命令行中删除--quiet选项。

当启用systemd日志记录时,使用journalctl命令可以获得日志记录信息:

To tail the journal:

sudo journalctl -f

To list journal entries for the elasticsearch service:

sudo journalctl --unit elasticsearch

To list journal entries for the elasticsearch service starting from a given time:

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

有关更多命令行选项,请检查man journalctl或https://www.freedesktop.org/software/systemd/man/journalctl.html。

7.检查elasticsearch是否在运行

你可以通过向localhost上的端口9200发送HTTP请求来测试Elasticsearch节点是否正在运行:

GET /

如果elasticsearch正在运行,你会得到如下response

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

8.配置Elasticsearch

默认情况下,Elasticsearch从/etc/elasticsearch/elasticsearch.yml文件加载其配置。

此配置文件的格式在Configuring Elasticsearch中进行了说明

Debian包还有一个系统配置文件/etc/default/elasticsearch,允许你设置以下参数:

参数 解释
ES_USER 定义user名称,默认为elasticsearch
ES_GROUP 定义group名称,默认为elasticsearch
JAVA_HOME 设置java路径
MAX_OPEN_FILES 最大打开文件数,默认值为65536
MAX_LOCKED_MEMORY 最大锁定内存大小,如果在elasticsearch.yml 设置了bootstrap.memory_lock=true,此处设置为unlimited
MAX_MAP_COUNT 进程可能具有的内存映射区域的最大数量。 如果使用mmapfs作为索引存储类型,请确保将其设置为较高的值。有关更多信息,请查看[]。 这是在启动elasticsearch之前通过sysctl设置的。 默认为262144。
LOG_DIR 日志文件目录,默认为/var/log/elasticsearch
DATA_DIR 数据文件目录,默认为/var/lib/elasticsearch
CONF_DIR 配置文件目录(需要包括elasticsearch.yml和log4j2.properties文件),默认为/etc/elasticsearch
ES_JAVA_OPTS 想要应用的任何其他JVM系统属性
RESTART_ON_UPGRADE 配置软件包升级时的重新启动,默认为false。 这意味着您必须在手动安装软件包后重新启动elasticsearch实例。这样做的原因是确保集群中的升级不会导致持续的分片重新分配,从而导致高网络流量并减少集群的响应时间。

NOTE:

使用systemd的版本需要通过systemd而不是通过/etc/sysconfig/elasticsearch文件配置系统资源限制。 有关详细信息,请参阅。


9.Debian包安装后的目录结构

Type Description Default Location Setting
home elasticsearch主目录($ES_HOME) /usr/share/elasticsearch
bin elasticsearch启动节点启动脚本,elasticsearch-plugin插件安装脚本 /usr/share/elasticsearch/bin
conf 配置文件,包含elasticsearch.yml /etc/elasticsearch path.conf
conf 环境变量设置,包括heap size、file descriptors /etc/default/elasticsearch
data 节点上分配的每个index/shard的数据文件的位置,可以有多个位置 /var/lib/elasticsearch path.data
logs 日志文件的存放位置 /var/log/elasticsearch path.logs
plugins 插件文件的位置,每个插件一个子文件夹 /usr/share/elasticsearch/plugins
repo 共享文件系统存储库位置,容纳多个位置。可以放置在此处指定的任何目录的任何子目录中。 Not configured path.repo
script 脚本文件的位置 $ES_HOME/scripts path.scripts

10.进一步

你现在已经设置了一个测试Elasticsearch环境。 在开始认真开发或使用Elasticsearch开始生产之前,您需要进行一些额外的设置:


原文地址