我正在玩spring-boot-sample-data-elastcisearch项目。我更改了pom并添加了:
SampleElasticsearchApplicationWebXml extends SpringBootServletInitializer
与嵌入式Tomcat一起运行。我的application.properties有
spring.data.elasticsearch.http-enabled=true
spring.data.elasticsearch.local=true
我希望能够连接到localhost:9200以便使用elasticsearch-head或其他JS客户端。我想念什么?谢谢米兰
您应该自己定义它,因为NodeClientFactoryBean有一个选项,http.enabled
但是ElasticSearchAutoConfiguration尚未设置。
@Configuration
@EnableConfigurationProperties(ElasticsearchProperties.class)
public class ElasticsearchConfiguration implements DisposableBean {
private static Log logger = LogFactory.getLog(ElasticsearchConfiguration.class);
@Autowired
private ElasticsearchProperties properties;
private NodeClient client;
@Bean
public ElasticsearchTemplate elasticsearchTemplate() {
return new ElasticsearchTemplate(esClient());
}
@Bean
public Client esClient() {
try {
if (logger.isInfoEnabled()) {
logger.info("Starting Elasticsearch client");
}
NodeBuilder nodeBuilder = new NodeBuilder();
nodeBuilder
.clusterName(this.properties.getClusterName())
.local(false)
;
nodeBuilder.settings()
.put("http.enabled", true)
;
this.client = (NodeClient)nodeBuilder.node().client();
return this.client;
}
catch (Exception ex) {
throw new IllegalStateException(ex);
}
}
@Override
public void destroy() throws Exception {
if (this.client != null) {
try {
if (logger.isInfoEnabled()) {
logger.info("Closing Elasticsearch client");
}
if (this.client != null) {
this.client.close();
}
}
catch (final Exception ex) {
if (logger.isErrorEnabled()) {
logger.error("Error closing Elasticsearch client: ", ex);
}
}
}
}
}
问题内容: 当我尝试使用连接到Elasticsearch时, 它工作正常。 但是当我运行它时抛出一个错误说 无法连接到本地主机端口9200:连接被拒绝 如何解决这个错误? 问题答案: 默认情况下,它应该绑定到所有本地地址。因此,假设你没有使用防火墙在网络层的问题,唯一的ES设置我能想到是检查并确保其未设置或设置为或或正确的IP地址为您的网络。 更新:根据ES 2.3中的注释,您应该进行设置。
当我尝试使用它工作正常。 但是当我运行它抛出一个错误,表示 连接到localhost端口9200失败:连接拒绝 如何解决此错误?
2017-05-20 15:23:31+0200:env:{“rack.version”=>[1,3],“rack.errors”=>#>,“rack.multithread”=>true,“rack.multiprocess”=>false,“rack.run_once”=>false,“script_name”=>>“query_string”=>>“http/1.1”,“server_sof
问题内容: 我从此链接克隆了一个有关Web浏览器上实时图像处理的项目:然后,我不允许我的浏览器访问我的相机。我收到此JavaScript警报: 嗯,网络摄像头没有启动。你有摄像头吗?您同意了吗?刷新后重试。并且允许按钮不会显示,就像我访问他的网站一样。 问题答案: 您是否正在通过localhost访问通过HTTP提供的网页?如果您通过访问它,Chrome会征求您使用相机的许可。 如果您直接打开网页
问题内容: 我在Debian Jessie上安装了Docker引擎,并且正在其中运行带有nginx的容器。我的“运行”命令如下所示: 它工作正常,问题在于现在可以通过访问此容器的内容。我想在此服务器上运行多个容器(域),所以我想为其设置反向代理。 我如何确保只能通过反向代理访问容器,而不能直接从反向代理访问容器?例如。: //编辑: 为了清楚起见-我不是在问如何设置反向代理,而是如何运行只能从本地
问题内容: 我将开发环境设置为vmware中的Ubuntu服务器(安装了LAMP)。vmware在我的本地Windows 7计算机上运行。当我尝试通过HeidiSQL程序访问我的mysql服务器时,连接失败。我得到: 但是,我可以通过PhpMyAdmin访问数据库服务器。MySQL正在运行,我的连接凭据和端口均正确。 我读到您应该输入要连接的计算机的IP地址,作为my.cnf文件中的“绑定地址”。