启动并运行 Open Distro for Elasticsearch | 亚马逊AWS官方博客
简介
2019 年 3 月 11 日,我们发布了 Open Distro for Elasticsearch,这是 Elasticsearch 的一个增值发行版,100% 开源(采用 Apache 2.0 许可证)并且由 AWS 提供支持。(另请参阅 Jeff Barr 的 Open Distro for Elasticsearch和 Adrian Cockcroft 的 Keeping Open Source Open – Open Distro for Elasticsearch。) 除 源代码存储库外,Open Distro for Elasticsearch 和 Kibana 还可作为 RPM 和 Docker 容器提供,并提供适用于 SQL JDBC 驱动程序和 PerfTop CLI 的独立下载版。您可以在笔记本电脑上、在数据中心里,或者在云中运行此代码。有关详细信息,请参阅 Open Distro for Elasticsearch 文档。
想通过一种简单的方式深入了解并试用这些功能吗? 对于 Mac 和 Windows,您可以使用 Docker Desktop 部署和测试 Open Distro for Elasticsearch。本博文将引导您完成整个流程。
部署 Docker Desktop
Docker Desktop (DD) 为您提供了在隔离环境中在笔记本电脑上运行 Docker 的简便方法。我的笔记本电脑是 Macintosh,因此我从 下载页面下载了 Docker Desktop 的 Mac 镜像,然后按照 安装说明将 DD 拖到我的 Applications 文件夹中。
为了使用下面的 docker-compose 测试 Open Distro for Elasticsearch,您需要增加分配给 DD 的 RAM。在 Docker 完成初始启动后,我转到菜单栏中的 Docker 图标并选择 Preferences…
选择 Advanced选项卡,然后将内存滑块移动到至少 4 GiB:
单击窗口的关闭框。单击 Apply以允许 Docker 使用新设置重新启动。等待 Docker 重新启动,然后再继续。
运行 Open Distro for Elasticsearch
您首先需要提取 Open Distro for Elasticsearch Docker 镜像。打开终端窗口,然后运行:
docker pull amazon/opendistro-for-elasticsearch:0.7.0
Docker 将获取 Elasticsearch 的容器镜像。您还需要 Kibana 发行版。运行:
docker pull amazon/opendistro-for-elasticsearch-kibana:0.7.0
现在在您的笔记本电脑上创建一个目录,该目录将保存 docker-compose 文件以及与您的项目相关的任何其他资产:
mkdir odfe-docker
cd odfe-docker
使用以下内容创建 docker-compose.yml:
version: '3'
services:
odfe-node1:
image: amazon/opendistro-for-elasticsearch:0.7.0
container_name: odfe-node1
environment:
- cluster.name=odfe-cluster
- bootstrap.memory_lock=true # along with the memlock settings below, disables swapping
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- odfe-data1:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9600:9600 # required for Performance Analyzer
networks:
- odfe-net
odfe-node2:
image: amazon/opendistro-for-elasticsearch:0.7.0
container_name: odfe-node2
environment:
- cluster.name=odfe-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.zen.ping.unicast.hosts=odfe-node1
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- odfe-data2:/usr/share/elasticsearch/data
networks:
- odfe-net
kibana:
image: amazon/opendistro-for-elasticsearch-kibana:0.7.0
container_name: odfe-kibana
ports:
- 5601:5601
expose:
- "5601"
environment:
ELASTICSEARCH_URL: https://odfe-node1:9200
networks:
- odfe-net
volumes:
odfe-data1:
odfe-data2:
networks:
odfe-net:
从 odfe-docker 目录,运行:
docker-compose up
您可以使用 docker ps 查看正在运行的容器。(编辑以适合页面大小):
CONTAINER ID IMAGE STATUS NAMES
fb1a78290e33 amazon/opendistro-for-elasticsearch-kibana:0.7.0 Up… odfe-kibana
a53942e76501 amazon/opendistro-for-elasticsearch:0.7.0 Up… odfe-node1
f33f91837f47 amazon/opendistro-for-elasticsearch:0.7.0 Up… odfe-node2
要确保 Elasticsearch 正常响应,请运行:
curl -XGET https://localhost:9200 -u admin:admin --insecure
Elasticsearch 会做如下响应:
{
"name" : "NHKRnp4",
"cluster_name" : "odfe-cluster",
"cluster_uuid" : "ItWH-yLSQSCD9eGiWbvDDQ",
"version" : {
"number" : "6.5.4",
"build_flavor" : "oss",
"build_type" : "tar",
"build_hash" : "d2ef93d",
"build_date" : "2018-12-17T21:17:40.758843Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
登录 Kibana
Kibana 是一个 Web 客户端,用于向 Elasticsearch 发送 API 请求以支持其可视化。在浏览器中,导航到 http://localhost:5601。您将看到 Open Distro for Elasticsearch 登录页面:
Open Distro for Elasticsearch 预先配置了 Username(admin) 和 Password(admin)。使用这些凭证登录。(请注意,此设置不安全。我们将在后续博文中向您展示如何更改这些密码。) 您会看到 Kibana 的启动页面。单击 Try our sample data。我在以下屏幕中添加了 示例 Web 日志数据集。
检查样本数据
您可以正常方式与示例 Web 日志数据进行交互。单击 Discover选项卡,将时间窗口扩展到 Last 7 days,您应该会看到如下内容
您可以使用 Kibana 的 Dev Tools窗格来运行查询。单击选项卡,然后输入以下查询:
GET kibana_sample_data_logs/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"machine.os.keyword": {
"value": "ios"
}
}
},
{
"range": {
"bytes": {
"gte": 5000
}
}
},
{
"term": {
"clientip": {
"value": "68.0.0.0/8"
}
}
}
]
}
}
}
我有 8 条来自 IOS 设备的结果,其中返回 5000 多个字节,IP 地址位于 68.CIDR 块。
通常,您可以继续浏览 Kibana 和 Elasticsearch,构建或导入现有的可视化效果和控制面板等。
小结
祝贺您! 您已成功在笔记本电脑上以本地方式部署了 Open Distro for Elasticsearch,登录并浏览了 Kibana 的其中一个示例数据集。请随时关注! 我们将在即将发布的博文中深入探讨 Open Distro for Elasticsearch 的插件。
有问题或疑问? 希望参与讨论? 您可以在 我们的论坛上获得帮助并讨论 Open Distro for Elasticsearch。您可以 在这里提出问题。
本篇作者
Jon Handler
Jon Handler (@_searchgeek) 是总部位于加利福尼亚州帕罗奥图市的 Amazon Web Services 的首席解决方案架构师。Jon 与 CloudSearch 和 Elasticsearch 团队密切合作,为想要将搜索工作负载迁移到 AWS 云的广大客户提供帮助和指导。在加入 AWS 之前,Jon 作为一名软件开发人员,曾为某个大型电子商务搜索引擎编写代码长达四年。Jon 拥有宾夕法尼亚大学的文学学士学位,以及西北大学计算机科学和人工智能理学硕士和博士学位。