如果您热衷于学习 Elasticsearch,这个基于开源 Lucene 库的著名开源搜索引擎,那么最好的方法莫过于在本地安装它。 Elasticsearch 网站上详细概述了该过程,但如果您是初学者,官方说明包含的细节远超必要。本文采取了一种简化的方法。
添加 Elasticsearch 仓库
首先,将 Elasticsearch 软件仓库添加到您的系统,以便您可以安装它并在需要时接收更新。具体操作取决于您的发行版。在基于 RPM 的系统上,例如 Fedora、CentOS、红帽企业 Linux (RHEL) 或 openSUSE,(本文中任何提及 Fedora 或 RHEL 的地方也适用于 CentOS 和 openSUSE)在 /etc/yum.repos.d/ 中创建一个名为 elasticsearch.repo 的仓库描述文件
$ cat << EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
在 Ubuntu 或 Debian 上,请勿使用 add-apt-repository 实用程序。它会导致错误,原因是其默认值与 Elasticsearch 仓库提供的配置不匹配。请改为设置以下配置
$ echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
在您可以从该仓库安装之前,导入其 GPG 密钥,然后更新
$ sudo apt-key adv --keyserver \
hkp://keyserver.ubuntu.com:80 \
--recv D27D666CD88E42B4
$ sudo apt update
此仓库仅包含 Elasticsearch 的开源功能,基于 Apache 许可证,不包含订阅提供的额外功能。如果您需要仅限订阅的功能(这些功能不是开源的),则 baseurl 必须设置为
baseurl=https://artifacts.elastic.co/packages/7.x/yum
安装 Elasticsearch
您需要安装的软件包名称取决于您使用的是开源版本还是订阅版本。本文使用开源版本,该版本在软件包名称末尾附加了 -oss。如果不附加 -oss 到软件包名称,则您请求的是仅限订阅的版本。
如果您创建了一个指向订阅版本的仓库,但尝试安装开源版本,您将收到一个相当不具体的错误。如果您为开源版本创建了一个仓库,但未能将 -oss 附加到软件包名称,您也会收到一个错误。
使用您的软件包管理器安装 Elasticsearch。例如,在 Fedora、CentOS 或 RHEL 上,运行以下命令
$ sudo dnf install elasticsearch-oss
在 Ubuntu 或 Debian 上,运行
$ sudo apt install elasticsearch-oss
如果在安装 Elasticsearch 时遇到错误,则可能是您尝试安装错误的软件包。如果您的目的是使用开源软件包,如本文所述,请确保您在 Yum 配置中使用了正确的 apt 仓库或 baseurl。
启动并启用 Elasticsearch
安装 Elasticsearch 后,您必须启动并启用它
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now elasticsearch.service
然后,要确认 Elasticsearch 在其默认端口 9200 上运行,请将 Web 浏览器指向 localhost:9200。您可以使用 GUI 浏览器,也可以在终端中执行此操作
$ curl localhost:9200
{
"name" : "fedora30",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "OqSbb16NQB2M0ysynnX1hA",
"version" : {
"number" : "7.2.0",
"build_flavor" : "oss",
"build_type" : "rpm",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
安装 Kibana
Kibana 是 Elasticsearch 数据可视化的图形界面。它包含在 Elasticsearch 仓库中,因此您可以使用软件包管理器安装它。与 Elasticsearch 本身一样,如果您使用的是 Elasticsearch 的开源版本,而不是订阅版本(两个安装版本需要匹配),则必须在软件包名称末尾附加 -oss
$ sudo dnf install kibana-oss
在 Ubuntu 或 Debian 上
$ sudo apt install kibana-oss
Kibana 在端口 5601 上运行,因此启动图形 Web 浏览器并导航到 localhost:5601 以开始使用 Kibana 界面,如下所示

故障排除
如果在安装 Elasticsearch 时遇到错误,请尝试手动安装 Java 环境。在 Fedora、CentOS 和 RHEL 上
$ sudo dnf install java-openjdk-devel java-openjdk
在 Ubuntu 上
$ sudo apt install default-jdk
如果一切都失败了,请尝试直接从 Elasticsearch 服务器安装 Elasticsearch RPM
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.2.0-x86_64.rpm{,.sha512}
$ shasum -a 512 -c elasticsearch-oss-7.2.0-x86_64.rpm.sha512 && sudo rpm --install elasticsearch-oss-7.2.0-x86_64.rpm
在 Ubuntu 或 Debian 上,请改用 DEB 软件包。
如果您无法使用 Web 浏览器访问 Elasticsearch 或 Kibana,则可能是您的防火墙阻止了这些端口。您可以通过调整防火墙设置来允许这些端口上的流量。例如,如果您正在运行 firewalld(Fedora 和 RHEL 上的默认防火墙,并且可以在 Debian 和 Ubuntu 上安装),则可以使用 firewall-cmd
$ sudo firewall-cmd --add-port=9200/tcp --permanent
$ sudo firewall-cmd --add-port=5601/tcp --permanent
$ sudo firewall-cmd --reload
您现在已设置完毕,可以继续阅读我们即将发布的关于 Elasticsearch 和 Kibana 的安装文章。
7 条评论