标签: amazon-elasticsearch

Neo4j和AWS ElasticSearch Service集成偶尔会失败

我一直在使用的Neo4j ElasticSearch集成模块(https://github.com/neo4j-contrib/neo4j-elasticsearch鉴于elasticsearch服务在服务器本身上运行的地方,发展和分期服务器上).

但是当使用Amazon AWS ElasticSearch服务并在Neo4j数据库中添加数据时 - 有时数据不会插入到弹性搜索中.

在Neo4j和Elasticsearch之间发生事务时,不会抛出任何错误或异常.

因此调试变得困难,为什么会发生这种情况.

任何想法都表示赞赏.

编辑:

至于网络设置,服务器是安装了Neo4j的EC2实例,并且所讨论的ElasticSearch服务是"AWS ElasticSearch Service".因为它确实有效,我在这里不了解网络的任何问题.

Neo4j版本:2.3.6 ElasticSearch版本:2.3.2

再次指出,这只发生在"AWS ElasticSearch Service"连接时,而不是在EC2实例本身上运行的那个.

知道是否有任何方法可以记录Neo4j和ElasticSearch服务之间发生的事务,这将是非常有帮助的.

以下是日志文件的内容:/var/log/neo4j/console.log

2016-09-02 12:27:47.494+0000 INFO  Remote interface ready and available at http://0.0.0.0:7474/
12:28:42.520 [NodeChecker RUNNING] ERROR i.s.c.config.discovery.NodeChecker - Error executing NodesInfo!
io.searchbox.client.config.exception.NoServerConfiguredException: No Server is assigned to client to connect
        at io.searchbox.client.AbstractJestClient$ServerPool.getNextServer(AbstractJestClient.java:132) ~[jest-common-2.0.2.jar:na]
        at io.searchbox.client.AbstractJestClient.getNextServer(AbstractJestClient.java:81) ~[jest-common-2.0.2.jar:na]
        at io.searchbox.client.http.JestHttpClient.prepareRequest(JestHttpClient.java:80) ~[jest-2.0.2.jar:na]
        at io.searchbox.client.http.JestHttpClient.execute(JestHttpClient.java:46) ~[jest-2.0.2.jar:na]
        at io.searchbox.client.config.discovery.NodeChecker.runOneIteration(NodeChecker.java:65) ~[jest-common-2.0.2.jar:na]
        at com.google.common.util.concurrent.AbstractScheduledService$ServiceDelegate$Task.run(AbstractScheduledService.java:189) [guava-19.0.jar:na]
        at com.google.common.util.concurrent.Callables$3.run(Callables.java:100) [guava-19.0.jar:na]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_101]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services neo4j amazon-elasticsearch

7
推荐指数
0
解决办法
279
查看次数

无法发现Kibana 5的数据

我已经设置了一个测试Amazon Elasticsearch Service,它使用Elastic和Kibana 5.1.

我可以通过curl插入测试条目:

curl -XPOST "https://mytestservicedomain.amazonaws.com/testindex/testtype" -d "{\"foo\":\"bar\"}"
Run Code Online (Sandbox Code Playgroud)

并验证它是通过Kibana的Dev Tools插入的:

请求:

GET _search
{
   "query": {
       "match_all": {}
   }
}
Run Code Online (Sandbox Code Playgroud)

响应:

{
    "_index": "testindex",
    "_type": "testtype",
    "_id": "AVoQD4Kyv413fK4nN1sg",
    "_score": 1,
    "_source": {
      "foo": "bar"
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我去Kibana的菜单选项中发现时,我无法获得任何结果.我得到的只是一些错误:

  • Saved "field" parameter is now invalid. Please select a new field.
  • Discover: "field" is a required parameter

在此输入图像描述

我在Elastic的论坛上发现了一些帖子(帖子1,帖子2),这些帖子似乎表明Kibana/Elastic存在一些兼容性问题,但我只是想看看是否还有其他人遇到过它.

amazon-elasticsearch elasticsearch-5 kibana-5

7
推荐指数
1
解决办法
1188
查看次数

AWS Elasticsearch和CORS

我正在试用AWS Elasticsearch服务:

https://aws.amazon.com/elasticsearch-service/

很容易设置.基本上就是命中部署.遗憾的是,由于未在AWS构建中启用CORS,因此无法获取任何Elasticsearch GUI(ElasticHQ,Elasticsearch Head),并且无法更改elasticsearch配置或安装我能看到的插件.

有谁知道如何在AWS上更改这些选项?

amazon-web-services elasticsearch elasticsearch-plugin amazon-elasticsearch

6
推荐指数
1
解决办法
2237
查看次数

AWS ElasticSearchService index_create_block_exception

我在尝试在增加集群大小并查看index_create_block_exception之后在AWS ElasticSearch集群中创建新索引.我怎么能纠正这个?我试过搜索但没有得到确切的答案.谢谢.

curl -XPUT 'http://<aws_es_endpoint>/optimus/'

{"error":{"root_cause":[{"type":"index_create_block_exception","reason":"blocked by: [FORBIDDEN/10/cluster create-index blocked (api)];"}],"type":"index_create_block_exception","reason":"blocked by: [FORBIDDEN/10/cluster create-index blocked (api)];"},"status":403}
Run Code Online (Sandbox Code Playgroud)

amazon-web-services elasticsearch amazon-elasticsearch

6
推荐指数
1
解决办法
5498
查看次数

在AWS ElasticSearch Instance上为Kibana安装自定义插件

我想知道是否可以为在这个链接中提到的AWS实例上运行的Kibana添加自定义插件.

从命令行我们可以输入,

bin/kibana-plugin install some-plugin

但是,在AWS ElasticSearch Service的情况下,没有命令提示符/终端,因为它只是一个服务,我们没有SSH到它.我们只有管理控制台.那么如何在这种情况下为kibana添加自定义插件呢?

amazon amazon-web-services amazon-elasticsearch

6
推荐指数
1
解决办法
1665
查看次数

亚马逊的AWS.NodeHttpClient - 没有文档:(

我正在编写一个lambda函数,我必须将日志写入Amazon的ElasticSearch Service.后端是Node.js.我在github上遇到了这个例子:

https://github.com/awslabs/amazon-elasticsearch-lambda-samples/blob/master/src/s3_lambda_es.js

哪个用于AWS.NodeHttpClient第91行.官方文档对此没有任何说明:

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS.html

也没有任何提供AWS.HttpClient(看起来像姐妹类AWS.NodeHttpClient)

那么,有没有人以前成功使用/修改过这段代码?我真的不想深入node_modules了解类的描述文件夹

amazon-web-services node.js aws-lambda amazon-elasticsearch

6
推荐指数
1
解决办法
2073
查看次数

弹性搜索中的primary_term究竟是什么?

在阅读了大量文档后,我了解到primary_term 和sequence_number 用于乐观并发控制,以防止旧版本的文档覆盖较新的文档。但是,我的问题是 primary_term 到底是什么?它与主分片相同吗?

elasticsearch amazon-elasticsearch

6
推荐指数
2
解决办法
1863
查看次数

有没有办法重新启动(停止和启动)AWS ElasticSearch?

不知道为什么 AWS ES 不允许停止和启动集群。我相信在幕后它只是一组本身可以轻松停止和启动的 AWS EC2 实例。这样,客户可能不需要备份删除集群、从备份启动新的恢复,更不用说使用新的 URL 了!我了解服务提供商 (AWS) 需要在客户不在“工作”时为客户维护/预留实例。

所以,

  1. 有没有办法重新启动(停止和启动)AWS ES?
  2. 如果不是,除了这种可能的财务不可行性之外,我是否还缺少任何其他关键技术原因,使得这种架构成为最合适的?顺便说一句,我查看了 elastic.co,他们有相同的概念(除了他们称之为“关闭”)。

谢谢,拉胡尔

amazon-web-services elasticsearch amazon-elasticsearch

6
推荐指数
0
解决办法
1958
查看次数

向AWS Elasticsearch Service添加多个域访问策略(静态IP和Lambda ARN)

设置AWS Elasticsearch之后,我在静态IP服务器上安装了Logstash和Kibana代理,并在ES上添加了这个域访问策略,它运行正常:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:ap-southeast-1:323137313233:domain/sg-es-logs/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "192.192.192.192"
          ]
        }
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

现在我需要允许Lambda函数es:ESHttpDelete在AWS ES上执行操作,因此我使用现有角色创建了该函数,service-role/Elasticsearch然后ARN从IAM Managment控制台复制了相关内容以将其添加到AWS ES访问策略,以得出:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam:: 323137313233:role/service-role/Elasticsearch"
        ]
      },
      "Action": [
        "es:*"
      ],
      "Resource": "arn:aws:es:ap-southeast-1:323137313233:domain/sg-es-logs/*"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

问题出在ES我应该为静态IP或ARN选择域访问策略,但不能同时选择两者.当我尝试手动合并它们而不是使用控制台时,它不起作用.我检查了AWS文档,但他们没有提到是否可能.

amazon-web-services elasticsearch aws-lambda amazon-elasticsearch aws-access-policy

5
推荐指数
1
解决办法
812
查看次数

在为Elasticsearch指定同义词过滤器时,使用synonyms_path和使用同义词之间有什么区别吗?

就性能而言,在为Elasticsearch指定同义词过滤器时,使用synonyms_path和使用同义词之间有什么区别吗?请参考图片.请注意,在我的ES群集中​​,有许多索引将使用同一个同义词过滤器.

使用synonyms_path

使用同义词

我问这个问题,因为显然AWS ES不允许将文件直接上传到集群.因此,我需要使用API​​上传同义词数据.

elasticsearch amazon-elasticsearch

5
推荐指数
1
解决办法
1212
查看次数