有没有办法在elasticsearch服务器中导入JSON文件(包含100个文档)?我想将一个大的json文件导入es-server ..
json artificial-intelligence bigdata elasticsearch elasticsearch-plugin
我有许多以logstash-Year-Week格式索引的日志.那就是如果我想删除超过几周的索引,我怎样才能在elasticsearch中实现这一点.有一种简单,无缝的方法吗?
我试图在我的Linux机器上运行Elasticsearch 2.1.1,我是它的root用户.
当我尝试执行Elasticsearch.I时收到以下错误:
Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
Run Code Online (Sandbox Code Playgroud)
我提到了互联网上的一些建议,他们提到将其作为不同的用户运行.我的方案是仅以root用户身份运行.如何在不运行不同用户的情况下克服此问题.
因为我的Elasticsearch服务器位于代理服务器后面,所以我无法使用bin下的命令直接安装插件.
所以我尝试在plugins目录中解压缩其中的一些,没有运气.
具体来说,我尝试了这个https://github.com/jprante/elasticsearch-knapsack,我无法让它工作.
有帮助吗?
当我尝试使用命令启动弹性搜索5.0并获得以下错误时,我./elasticsearch得到以下错误.
[2016-11-23T13:44:09,507][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:116) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-5.0.1.jar:5.0.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:96) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:155) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286) ~[elasticsearch-5.0.1.jar:5.0.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) ~[elasticsearch-5.0.1.jar:5.0.1]
... 6 more
Run Code Online (Sandbox Code Playgroud)
我试图通过切换到其他用户开始尝试sudo ./elasticsearch并得到相同的错误.如何以root用户身份开始弹性搜索?
我正在使用 Search Guard 插件来保护由多个节点组成的弹性搜索集群。这是我的 Dockerfile:
#!/bin/sh
FROM docker.elastic.co/elasticsearch/elasticsearch:5.6.3
USER root
# Install search guard
RUN bin/elasticsearch-plugin install --batch com.floragunn:search-guard-5:5.6.3-16 \
&& chmod +x \
plugins/search-guard-5/tools/hash.sh \
plugins/search-guard-5/tools/sgadmin.sh \
bin/init_sg.sh \
&& chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
USER elasticsearch
Run Code Online (Sandbox Code Playgroud)
初始化 SearchGuard(创建内部用户并分配角色)。我需要init_sg.sh在容器启动后运行脚本。问题在于:除非elasticsearch 正在运行,否则脚本不会初始化任何安全索引。
脚本的内容是:
sleep 10
plugins/search-guard-5/tools/sgadmin.sh -cd config/ -ts config/truststore.jks -ks config/kirk-keystore.jks -nhnv -icl
Run Code Online (Sandbox Code Playgroud)
现在,我只是在容器启动后手动运行脚本,但由于我是在 Kubernetes 上运行它的。Pod 可能会因某种原因被杀死或失败并自动重新创建。在这种情况下,插件必须在容器启动后自动初始化!
那么如何实现这一点呢?任何帮助或提示将不胜感激。
elasticsearch docker elasticsearch-plugin kubernetes dockerfile
我正在使用elasticsearch来过滤和搜索json文件,我是这项技术的新手.所以我有点困惑如何在elasticsearch中编写类似查询.
select * from table_name where 'field_name' like 'a%'
Run Code Online (Sandbox Code Playgroud)
这是mysql查询.如何在Elasticsearch中编写此查询?我使用的是elasticsearch版本0.90.7.
php java elasticsearch elasticsearch-plugin elasticsearch-net
我是Elasticsearch的新手,我在这里阅读https://www.elastic.co/guide/en/elasticsearch/plugins/master/mapper-attachments.html,在elasticsearch 5.0.0中不推荐使用mapper-attachments插件.
我现在尝试使用新的ingest-attachment插件索引pdf文件并上传附件.
到目前为止我尝试过的是
curl -H 'Content-Type: application/pdf' -XPOST localhost:9200/test/1 -d @/cygdrive/c/test/test.pdf
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse"}],"type":"mapper_parsing_exception","reason":"failed to parse","caused_by":{"type":"not_x_content_exception","reason":"Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes"}},"status":400}
Run Code Online (Sandbox Code Playgroud)
我希望pdf文件将被编入索引并上传.我究竟做错了什么?
我还测试了Elasticsearch 2.3.3,但mapper-attachments插件对此版本无效,我不想使用任何旧版本的Elasticsearch.
如何在弹性搜索中找出索引创建日期?
我在网上搜索得足够多,但没有找到解决方案.
是否有像Oracle SQL Developer一样的Elastic Search服务器的远程GUI客户端,以便查看远程弹性数据库的模式和其他详细信息.
目前我正在使用弹性头插件
它不允许我连接到远程弹性群集.仅当弹性服务器托管在同一台计算机中时,它才有效.我还将以下条目添加到elastic.yml文件中,但不起作用.说no connection to the remote host.
#http.cors.enable: true
#http.cors.allow-origin: "remotehosturl:9200"
Run Code Online (Sandbox Code Playgroud) elasticsearch ×10
java ×2
linux ×2
attachment ×1
bigdata ×1
docker ×1
dockerfile ×1
json ×1
kubernetes ×1
logstash ×1
pdf ×1
php ×1
plugins ×1