我在采用声纳法的过程中遇到了与它所依赖的Elasticsearch实例有关的间歇性问题。为了解决这个问题,我相信我需要修改Elasticsearch配置值。
在\conf\sonar.properties
设置文件中,我已设置sonar.search.port=9200
当我尝试在浏览器中访问时,会给我以下内容。
太好了,我只需要在Powershell中构造正确的请求?Invoke-WebRequest 'localhost:9200'
-方法'GET'无法识别URI前缀Invoke-WebRequest 'http://localhost:9200/' -Method 'GET'
违反协议(protocol)Invoke-WebRequest 'localhost:9200' -Method 'XGET'
无法将值“XGET”转换为类型Invoke-WebRequest 'http://localhost:9200/_all/settings' -Method 'GET'
违反协议(protocol)
如果我直接更改Elasticsearch配置,它将重新生成(也许是声纳启动的一部分),因此我认为任何配置都必须采用这种方式。
任何指针将不胜感激。
最佳答案
我不认为您的elasticsearch实例已启动并正在运行,或者它的设置没有为9200使用9200以外的其他端口。默认情况下,当您通过浏览器访问ES时,至少应该看到如下所示的响应(如果使用的是Chrome / Firefox)。如果您使用IE,则应该提示将此响应另存为JSON。
{
"name" : "ESPOC-NODE1",
"cluster_name" : "ESPOC",
"cluster_uuid" : "oZSfvTqmQY-ASngFlxp56A",
"version" : {
"number" : "5.5.2",
"build_hash" : "b2f0c09",
"build_date" : "2017-08-14T12:33:14.154Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
因此,首先让您的ES工作。然后,您可以继续进行SONAR设置。