无法在linux上使用ElasticSearch映射logstash
我只是运行下面的命令,它显示了docker上所有正在运行的图像
sudo docker ps
输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e14ace6bd419 a962b6541416 "/bin/bash /usr/loca…" 23 hours ago Up 22 hours 0.0.0.0:5601->5601/tcp trusting_chatterjee
00e6822bb991 28259852697e "/usr/local/bin/dock…" 23 hours ago Up 23 hours 9200/tcp, 9300/tcp friendly_roentgen
我只想将logstash链接到弹性搜索并尝试运行以下命令
命令:
sudo docker run -d --rm -it -v /home/sabharanikumar/logstash.conf e95781358676
输出:
989e2a8f4d9fd972c4f2102d726a68877c989b546800899abbb8c382fb62f04c
logstash。形态:
input
{
stdin{}
}
output
{
elasticsearch{ hosts => ["localhost:9200"] }
}
日志日志:
[2019-08-23T09:40:53833][WARN][logstash.outputs.elasticsearch]试图恢复与已死亡ES实例的连接,但出现错误。{:url=
我运行了sudo docker ps,但logstash正在列出。
我错过了什么吗?是否有任何地方需要更改主机值?
正如@Mihai在评论中指出的,“localhost:9200”是不正确的。logstash容器将尝试在端口9200上与其自身通信,但没有任何内容正在侦听。
我看到的第二个问题是您将logstash配置文件作为参数(或命令)传递给docker。此外,您应该避免使用--link
选项,因为它已被弃用并且更喜欢网络生成。
换句话说,命令应该如下所示:
docker network create \
--driver bridge \
--subnet=172.100.0.0/16 \
--gateway=172.100.0.1 \
my_elk_net
然后使用--network=my_elk_net
选项启动两个docker容器。e、 g。
docker run -d \
--name elasticsearch \
--name my_elk_net \
<ElasticSearchIMAGEID>
docker run -d \
--name logstash \
--network my_elk_net \
-v "/home/arrchana/logstash.conf:/usr/share/logstash/config/logstash.yml:ro"
<LogstashIMAGEID>
你的弹性搜索现在应该是这样的:
input
{
stdin{}
}
output
{
elasticsearch{ hosts => ["elasticsearch:9200"] }
}
或者,您可以使用docker compose并避免创建网络。docker compose的一个非常基本的例子。yml,应该对你有用,应该是这样的:
version: '3.7'
services:
elasticsearch:
image: image_image
logstash:
image: logstash_image
volumes:
- /home/arrchana/logstash.conf:/usr/share/logstash/config/logstash.yml:ro
depends_on:
- elasticsearch
我正在尝试创建弹性贴图 但我得到以下错误: [mapper_parsing_exception][agent_id]的映射定义有不受支持的参数:[field ddata: true]
我尝试使用mockito从amazon aws(com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper)模拟DynamoDBMapper。这在我的本地机器上运行得很好,但在jenkins上运行时出现以下错误 “Mockito无法模拟此类:class com.amazonaws.services.dynamodbv2.dataMod
主要内容:映射类型,动态映射,映射参数映射是存储在索引中的文档的大纲。它定义数据类型,如或文档和规则中存在的字段的字符串和格式,以控制动态添加的字段的映射。 例如, 请求正文 响应 字段数据类型 Elasticsearch支持文档中字段的多种不同数据类型。以下数据类型用于在Elasticsearch中存储字段 - 核心数据类型 - 这些是几乎所有系统支持的基本数据类型,如整数,长整数,双精度,短整型,字节,双精度,浮点型,字符串,日期
问题内容: 具有以下映射: 如果我添加以下代码,即使它与映射不匹配(丢失)也可以完美地工作,但ES不会抱怨。 如果我添加以下条目,它也可以工作。 似乎该映射未对我添加的元素生效。尝试映射类型时我做错了什么? 问题答案: 这是Elasticsearch的默认行为,在大多数情况下是理想的。但是对于您的情况,如果您不想允许索引未在映射中定义的字段,则需要更新映射并将其属性设置为。基本上,您的映射定义应如
问题内容: 我正在努力完成索引创建这一简单任务,目标是使用分析器和字段映射创建索引。当我使用分析器创建索引时,我可以通过分析api调用与分析器通信,但是当我添加映射信息时,创建索引调用失败,并显示“字段[$ field]]找不到Analyzer [analyzer1]”,我创建了一个脚本来显示问题: 问题答案: 我相信您的问题是这些设置需要嵌套在JSON的一个节点内,而不是您所拥有的嵌套在一个节点
问题内容: 我有一个要在elasticSearch上建立索引的文档,该文档包含一些我事先不知道的动态键,例如下面的示例中的“ spanish”或“ french” 我使用的是DSL elastic4s为了使我的映射(通过在DSL的createIndex),但我找不到如何创建,使用这个库的基础上,“匹配”选项动态映射(如建议在这里),在为了为路径content.title下存储的每种语言指定不同的分