我知道不建议使用嵌入式Elasticsearch。我只是为了测试而尝试。
我正在尝试启动嵌入式Elasticsearch节点,并从以下elasticsearch.yml提供配置
# Name for the cluster
cluster.name: elasticsearch
# Name for the embedded node
node.name: EmbeddedESNode
# Path to log files:
path.logs: logs
discovery.zen.ping.unicast.hosts: []
# Disable dynamic scripting
script.inline: false
script.stored: false
script.file: false
transport.type: local
http.type: netty3
我使用的是es 5.1.1,我的代码启动嵌入式节点如下。
try {
Settings elasticsearchSetting = Settings.builder()
// Value for path.home is required for es but will not be used as long as other properties
// path.logs, path.data and path.conf is set.
.put(ES_PROPERTY_PATH_HOME, "nullpath")
.put(ES_PROPERTY_PATH_CONF, confDir)
.build();
Node node = new Node(elasticsearchSetting).start();
logger.info("Embedded Elasticsearch server successfully started ...");
} catch (Exception e) {
throw e;
}
我得到以下跟踪。
java.lang.IllegalStateException: Unsupported http.type [netty3]
at org.elasticsearch.common.network.NetworkModule.getHttpServerTransportSupplier(NetworkModule.java:194) ~[elasticsearch-5.1.1.jar:5.1.1]
at org.elasticsearch.node.Node.<init>(Node.java:396) ~[elasticsearch-5.1.1.jar:5.1.1]
at org.elasticsearch.node.Node.<init>(Node.java:229) ~[elasticsearch-5.1.1.jar:5.1.1]
at org.elasticsearch.node.Node.<init>(Node.java:225) ~[elasticsearch-5.1.1.jar:5.1.1]
... 18 more
我也尝试过,http.type: netty4
但到目前为止还没有运气。它在http.enabled:false
设置时有效,但我想使用http
rest api进行测试。
PS:在实现嵌入式es时,我一直在使用这个
elasticsearch hadoop类作为参考,很遗憾,我在上找不到任何文档http.type
。
我现在不能在ES 5.x中使用http启动嵌入式节点吗? 我在这里做错了什么?
非常感谢您的帮助。
如@Bastian所述,问题是传输模块不在类路径中。该解决方案已经存在于es-
hadoop嵌入式es实现中。
private static class PluginConfigurableNode extends Node {
public PluginConfigurableNode(Settings settings, Collection<Class<? extends Plugin>> classpathPlugins) {
super(InternalSettingsPreparer.prepareEnvironment(settings, null), classpathPlugins);
}
}
我们可以给netty3作为插件,如下所示。然后一切正常。
Collection<Class<? extends Plugin>> plugins = Arrays.asList(Netty3Plugin.class);
Node node = new PluginConfigurableNode(elasticsearchSetting, plugins).start();
问题内容: 我正在尝试用Elasticsearch替换Solr设置。这是一个新的设置,尚未投入生产,因此我有很大的空间来摆弄各种东西并使它们运转良好。 我有非常大量的数据。我正在索引一些实时数据并将其保留7天(通过使用_ttl字段)。我不在索引中存储任何数据(并禁用了_source字段)。我预计我的指数将稳定在 200亿 行左右。我将把这些数据放入2-3个命名索引中。到目前为止,多达数十亿行的搜索
案例 Basic css 我们绑定 styled-jsx 来生成独立作用域的 CSS. 目标是支持 "shadow CSS",但是 不支持独立模块作用域的 JS. export default () => <div> Hello world <p>scoped!</p> <style jsx>{` p { color: blue;
我正在尝试用ElasticSearch替换Solr设置。这是一个新的设置,还没有看到生产,所以我有很多的空间来摆弄东西,使他们工作良好。 我有非常非常大量的数据。我正在索引一些实时数据并将其保存7天(通过使用_ttl字段)。我没有在索引中存储任何数据(并且禁用了_source字段)。我预计我的指数稳定在200亿行左右。我将把这些数据放入2-3个命名索引中。到目前为止,多达几十亿行的搜索性能是完全可
我想使用REST API的HAL格式来包含嵌入式资源。我在API中使用Spring HATEOAS,Spring HATEOAS似乎支持嵌入式资源;但是,没有关于如何使用此功能的文档或示例。 有人能提供一个如何使用Spring HATEOAS包含嵌入式资源的例子吗?
根据本主题: Kafka Spring Integration:Headers not for Kafka consumer-这不是对Kafka的Headers支持 但文件上说: 我无法使用Spring-Cloud-Stream-Binder-Kafka:1.2.0版本 正在发送日志: 接收日志: 正在发送消息:
我的源提供商向我发送。gz文件(zip文件)通过POST请求发送到我的服务器。 我试图实现。NET代码将拦截POST请求并解压缩文件以打开里面的文件。 我只是想截取POST请求并解压缩内容,这样做: 它返回415 Unsupport tedMediaType。 如何截获POST请求,这是一个ZIP文件,以及如何解压缩它以返回其中的文件? 谢谢你。 编辑: