Elasticsearch全文检索学习
ElasticSearch官方网址:https://www.elastic.co
ElasticSearch官方网址(中文):https://www.elastic.co/cn/
Elasticsearch 权威指南(中文版文档,在线观看):https://es.xiaoleilu.com/
1、ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
2、Elastic Stack生态(简称ELK Stack,包括 Elasticsearch、Kibana、Beats 和 Logstash)。Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。
a、Elasticsearch 是一个分布式的 RESTful 搜索和分析引擎,可用来集中存储您的数据,以便您对形形色色、规模不一的数据进行搜索、索引和分析。Elasticsearch 是一个基于 JSON 的分布式搜索和分析引擎。
b、Logstash 是一个开源的数据采集引擎,具有实时管道传输功能。Logstash 能够将来自单独数据源的数据动态集中到一起,对这些数据加以标准化并传输到您所选的地方。清理并民主化您的全部数据,将其用于多样化的高级下游分析和可视化用例。Logstash 是动态数据收集管道,拥有可扩展的插件生态系统。
c、Kibana,您可以对自己的 Elasticsearch 进行可视化,还可以在 Elastic Stack 中进行导航,这样您便可以进行各种操作了,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。Kibana 可谓 Elastic Stack 的窗户。探索数据并管理堆栈。
d、Beats 是一个面向轻量型采集器的平台,这些采集器可从边缘机器发送数据。Beats 平台集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。
3、ElasticSearch的下载安装。这里使用elasticsearch-5.4.3.tar.gz,使用CentOS7进行安装。版本进行学习,其实截至目前,Elasticsearch已经发布到Elasticsearch 7.4.0版本了。
将下载好的elasticsearch-5.4.3.tar.gz开始进行安装。
注意:安装elasticsearch之前安装好java,因为elasticsearch是java语言开发的,注意选择java的版本是1.8.0的第20版本以后的,第20之前的会出现很多问题。我使用的1.8.0_181,我用的181版本的,也是出现不少问题。
[root@slaver4 package]# tar -zxvf elasticsearch-5.4..tar.gz -C /home/hadoop/soft/
可以查看其目录结构信息,如下所示:
[root@slaver4 soft]# ls
elasticsearch-5.4.
[root@slaver4 soft]# cd elasticsearch-5.4./
[root@slaver4 elasticsearch-5.4.]# ls
bin config lib LICENSE.txt modules NOTICE.txt plugins README.textile
[root@slaver4 elasticsearch-5.4.]# ll
total
drwxr-xr-x. root root Oct : bin #启动脚本目录
drwxr-xr-x. root root Jun config #配置文件目录
drwxr-xr-x. root root Jun lib #依赖jar包目录
-rw-r--r--. root root Jun LICENSE.txt
drwxr-xr-x. root root Jun modules #模块目录
-rw-r--r--. root root Jun NOTICE.txt
drwxr-xr-x. root root Jun plugins #第三方插件的目录
-rw-r--r--. root root Jun README.textile
[root@slaver4 elasticsearch-5.4.]#
启动ElasticSearch,如下所示:
启动过程中我的报错了,分析一下错误原因。
[root@slaver4 elasticsearch-5.4.]# sh ./bin/elasticsearch
Java HotSpot(TM) Server VM warning: INFO: os::commit_memory(0x6ac00000, , ) failed; error='Cannot allocate memory' (errno=)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map bytes for committing reserved memory.
# An error report file with more information is saved as:
# /home/hadoop/soft/elasticsearch-5.4./hs_err_pid11491.log
由于elasticsearch5.x版本默认分配jvm空间大小为2g,修改jvm空间分配。(备注:我的虚拟机给了1G的内存,如果硬件较好,可以多给内存)。
再次启动报如下所示错误:
[root@slaver4 elasticsearch-5.4.]# sh ./bin/elasticsearch
[--09T22::,][WARN ][o.e.b.Natives ] unable to load JNA native support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/linux-x86/libjnidispatch.so) not found in resource path ([file:/home/hadoop/soft/elasticsearch-5.4./lib/elasticsearch-5.4..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-core-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-analyzers-common-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-backward-codecs-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-grouping-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-highlighter-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-join-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-memory-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-misc-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-queries-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-queryparser-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-sandbox-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-spatial-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-spatial-extras-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-spatial3d-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/lucene-suggest-6.5..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/securesm-1.1.jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/jopt-simple-5.0..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/hppc-0.7..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/joda-time-2.9..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/snakeyaml-1.15.jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/jackson-core-2.8..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/jackson-dataformat-smile-2.8..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/jackson-dataformat-yaml-2.8..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/jackson-dataformat-cbor-2.8..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/t-digest-3.0.jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/HdrHistogram-2.1..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/spatial4j-0.6.jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/jts-1.13.jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/log4j-api-2.8..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/log4j-core-2.8..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/log4j-1.2-api-2.8..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/jna-4.4..jar, file:/home/hadoop/soft/elasticsearch-5.4./lib/java-version-checker-5.4..jar])
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:) ~[jna-4.4..jar:4.4. (b0)]
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:) ~[jna-4.4..jar:4.4. (b0)]
at com.sun.jna.Native.<clinit>(Native.java:) ~[jna-4.4..jar:4.4. (b0)]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_191]
at java.lang.Class.forName(Class.java:) ~[?:1.8.0_191]
at org.elasticsearch.bootstrap.Natives.<clinit>(Natives.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.Command.main(Command.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:) [elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:) [elasticsearch-5.4..jar:5.4.]
[--09T22::,][WARN ][o.e.b.Natives ] cannot check if running as root because JNA is not available
[--09T22::,][WARN ][o.e.b.Natives ] cannot install system call filter because JNA is not available
[--09T22::,][WARN ][o.e.b.Natives ] cannot register console handler because JNA is not available
[--09T22::,][WARN ][o.e.b.Natives ] cannot getrlimit RLIMIT_NPROC because JNA is not available
[--09T22::,][WARN ][o.e.b.Natives ] cannot getrlimit RLIMIT_AS beacuse JNA is not available
[--09T22::,][INFO ][o.e.n.Node ] [] initializing ...
[--09T22::,][INFO ][o.e.e.NodeEnvironment ] [rYUCm8s] using [] data paths, mounts [[/ (rootfs)]], net usable_space [.9gb], net total_space [.7gb], spins? [unknown], types [rootfs]
[--09T22::,][INFO ][o.e.e.NodeEnvironment ] [rYUCm8s] heap size [.6mb], compressed ordinary object pointers [unknown]
[--09T22::,][INFO ][o.e.n.Node ] node name [rYUCm8s] derived from node ID [rYUCm8sMRzaXu84zRj3duQ]; set [node.name] to override
[--09T22::,][INFO ][o.e.n.Node ] version[5.4.], pid[], build[eed30a8/--22T00::.743Z], OS[Linux/3.10.-.el7.x86_64/i386], JVM[Oracle Corporation/Java HotSpot(TM) Server VM/1.8.0_191/25.191-b12]
[--09T22::,][INFO ][o.e.n.Node ] JVM arguments [-Xms512m, -Xmx512m, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+DisableExplicitGC, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/home/hadoop/soft/elasticsearch-5.4.]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [aggs-matrix-stats]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [ingest-common]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-expression]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-groovy]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-mustache]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-painless]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [percolator]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [reindex]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [transport-netty3]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [transport-netty4]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] no plugins loaded
[--09T22::,][INFO ][o.e.d.DiscoveryModule ] [rYUCm8s] using discovery type [zen]
[--09T22::,][INFO ][o.e.n.Node ] initialized
[--09T22::,][INFO ][o.e.n.Node ] [rYUCm8s] starting ...
[--09T22::,][INFO ][o.e.t.TransportService ] [rYUCm8s] publish_address {127.0.0.1:}, bound_addresses {[::]:}, {127.0.0.1:}
[--09T22::,][WARN ][o.e.b.BootstrapChecks ] [rYUCm8s] max file descriptors [] for elasticsearch process is too low, increase to at least []
[--09T22::,][WARN ][o.e.b.BootstrapChecks ] [rYUCm8s] max virtual memory areas vm.max_map_count [] is too low, increase to at least []
[--09T22::,][WARN ][o.e.b.BootstrapChecks ] [rYUCm8s] system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
[--09T22::,][INFO ][o.e.c.s.ClusterService ] [rYUCm8s] new_master {rYUCm8s}{rYUCm8sMRzaXu84zRj3duQ}{NzmJVJKWRTaua11gn8v4Tw}{127.0.0.1}{127.0.0.1:}, reason: zen-disco-elected-as-master ([] nodes joined)
[--09T22::,][INFO ][o.e.g.GatewayService ] [rYUCm8s] recovered [] indices into cluster_state
[--09T22::,][INFO ][o.e.h.n.Netty4HttpServerTransport] [rYUCm8s] publish_address {127.0.0.1:}, bound_addresses {[::]:}, {127.0.0.1:}
[--09T22::,][INFO ][o.e.n.Node ] [rYUCm8s] started
解决方法如下所示:
直接删除或备份Elasticsearch-a.b.c/lib目录下面的jna文件:
然后在/home/hadoop/soft/elasticsearch-5.4.3/lib目录下载这个包,wget http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar。
[root@slaver4 lib]# mv jna-4.4..jar jna-4.4..jar.bak
[root@slaver4 lib]# wget http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar
---- ::-- http://repo1.maven.org/maven2/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar
Resolving repo1.maven.org (repo1.maven.org)... 151.101.24.209
Connecting to repo1.maven.org (repo1.maven.org)|151.101.24.209|:... connected.
HTTP request sent, awaiting response... OK
Length: (1.0M) [application/java-archive]
Saving to: ‘jna-4.4..jar’ %[==========================================================================================>] ,, 129KB/s in .0s -- :: ( KB/s) - ‘jna-4.4..jar’ saved [/] [root@slaver4 lib]#
再次启动ElasticSearch,报了如下所示的错误。
[root@slaver4 elasticsearch-5.4.]# sh ./bin/elasticsearch
[--09T22::,][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:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.Command.main(Command.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
... more
[root@slaver4 elasticsearch-5.4.]#
这应该是ElasticSearch不允许使用root用户进行启动。所以先创建一个用户组elsearch,再创建用户elsearch,再将解压缩后的目录权限赋予这个新用户即可。更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch。切换到elsearch用户再启动。
[root@slaver4 ~]# groupadd elsearch
[root@slaver4 ~]# useradd elsearch -g elsearch
[root@slaver4 ~]# passwd elsearch
Changing password for user elsearch.
New password:
BAD PASSWORD: The password contains the user name in some form
Retype new password:
passwd: all authentication tokens updated successfully.
[root@slaver4 ~]# cd /home/hadoop/soft/
[root@slaver4 soft]# ls
elasticsearch-5.4.
[root@slaver4 soft]# chown -R elsearch:elsearch elasticsearch-5.4./
[root@slaver4 soft]# su elsearch
[elsearch@slaver4 soft]$ ls
elasticsearch-5.4.
[elsearch@slaver4 soft]$ cd elasticsearch-5.4./
[elsearch@slaver4 elasticsearch-5.4.]$ ls
bin config data hs_err_pid11491.log lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
再次启动如下所示:
如果启动成功是可以看到started的。127.0.0.1:9200。ElasticSearch默认监听的就是9200端口号的。
[elsearch@slaver4 elasticsearch-5.4.]$ sh ./bin/elasticsearch
[--09T22::,][INFO ][o.e.n.Node ] [] initializing ...
[--09T22::,][INFO ][o.e.e.NodeEnvironment ] [rYUCm8s] using [] data paths, mounts [[/ (rootfs)]], net usable_space [.9gb], net total_space [.7gb], spins? [unknown], types [rootfs]
[--09T22::,][INFO ][o.e.e.NodeEnvironment ] [rYUCm8s] heap size [.6mb], compressed ordinary object pointers [unknown]
[--09T22::,][INFO ][o.e.n.Node ] node name [rYUCm8s] derived from node ID [rYUCm8sMRzaXu84zRj3duQ]; set [node.name] to override
[--09T22::,][INFO ][o.e.n.Node ] version[5.4.], pid[], build[eed30a8/--22T00::.743Z], OS[Linux/3.10.-.el7.x86_64/i386], JVM[Oracle Corporation/Java HotSpot(TM) Server VM/1.8.0_191/25.191-b12]
[--09T22::,][INFO ][o.e.n.Node ] JVM arguments [-Xms512m, -Xmx512m, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+DisableExplicitGC, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/home/hadoop/soft/elasticsearch-5.4.]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [aggs-matrix-stats]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [ingest-common]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-expression]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-groovy]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-mustache]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-painless]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [percolator]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [reindex]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [transport-netty3]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [transport-netty4]
[--09T22::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] no plugins loaded
[--09T22::,][INFO ][o.e.d.DiscoveryModule ] [rYUCm8s] using discovery type [zen]
[--09T22::,][INFO ][o.e.n.Node ] initialized
[--09T22::,][INFO ][o.e.n.Node ] [rYUCm8s] starting ...
[--09T22::,][INFO ][o.e.t.TransportService ] [rYUCm8s] publish_address {127.0.0.1:}, bound_addresses {[::]:}, {127.0.0.1:}
[--09T22::,][WARN ][o.e.b.BootstrapChecks ] [rYUCm8s] max file descriptors [] for elasticsearch process is too low, increase to at least []
[--09T22::,][WARN ][o.e.b.BootstrapChecks ] [rYUCm8s] max virtual memory areas vm.max_map_count [] is too low, increase to at least []
[--09T22::,][INFO ][o.e.c.s.ClusterService ] [rYUCm8s] new_master {rYUCm8s}{rYUCm8sMRzaXu84zRj3duQ}{2aE_CPSiTZqCbaR6IU4B2g}{127.0.0.1}{127.0.0.1:}, reason: zen-disco-elected-as-master ([] nodes joined)
[--09T22::,][INFO ][o.e.g.GatewayService ] [rYUCm8s] recovered [] indices into cluster_state
[--09T22::,][INFO ][o.e.h.n.Netty4HttpServerTransport] [rYUCm8s] publish_address {127.0.0.1:}, bound_addresses {[::]:}, {127.0.0.1:}
[--09T22::,][INFO ][o.e.n.Node ] [rYUCm8s] started
elasticsearch在后台启动如下所示,可以使用命令查看启动进程信息。
[elsearch@slaver4 elasticsearch-5.4.]$ ./bin/elasticsearch -d
[elsearch@slaver4 elasticsearch-5.4.]$ ps -aux | grep elasticsearch
elsearch 83.5 62.9 pts/ Sl : : /usr/local/soft/jdk1..0_191/bin/java -Xms512m -Xmx512m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction= -XX:+UseCMSInitiatingOccupancyOnly -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF- -Djna.nosys=true -Djdk.io.permissionsUseCanonicalPath=true -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread= -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j.skipJansi=true -XX:+HeapDumpOnOutOfMemoryError -Des.path.home=/home/hadoop/soft/elasticsearch-5.4. -cp /home/hadoop/soft/elasticsearch-5.4./lib/* org.elasticsearch.bootstrap.Elasticsearch -d
elsearch 12571 0.0 0.0 112708 992 pts/2 R+ 22:57 0:00 grep --color=auto elasticsearch
[elsearch@slaver4 elasticsearch-5.4.3]$
使用curl localhost:9200可以看到访问成功了。也说明你的ElasticSearch启动成功了。
[elsearch@slaver4 elasticsearch-5.4.]$ curl localhost:
{
"name" : "rYUCm8s",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "-VfRdnF3Syad_6QMsa7v3A",
"version" : {
"number" : "5.4.3",
"build_hash" : "eed30a8",
"build_date" : "2017-06-22T00:34:03.743Z",
"build_snapshot" : false,
"lucene_version" : "6.5.1"
},
"tagline" : "You Know, for Search"
}
外网访问,在防火墙开启9200端口命令。或者直接禁掉防火墙,如果本地学习的话。外网还无法访问的话就需要改下配置文件了。
[elsearch@slaver4 elasticsearch-5.4.]$ ls
bin config data hs_err_pid11491.log lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
[elsearch@slaver4 elasticsearch-5.4.]$ cd config/
[elsearch@slaver4 config]$ ls
elasticsearch.yml jvm.options log4j2.properties scripts
[elsearch@slaver4 config]$ vim elasticsearch.yml
在配置文件,vim elasticsearch.yml,添加如下所示内容即可。
network.host: 0.0.0.0
再次启动报了如下所示的错误:
下面使用红色标记起来的就是错误。
[elsearch@slaver4 bin]$ ./elasticsearch
[--10T10::,][INFO ][o.e.n.Node ] [] initializing ...
[--10T10::,][INFO ][o.e.e.NodeEnvironment ] [rYUCm8s] using [] data paths, mounts [[/ (rootfs)]], net usable_space [.9gb], net total_space [.7gb], spins? [unknown], types [rootfs]
[--10T10::,][INFO ][o.e.e.NodeEnvironment ] [rYUCm8s] heap size [.6mb], compressed ordinary object pointers [unknown]
[--10T10::,][INFO ][o.e.n.Node ] node name [rYUCm8s] derived from node ID [rYUCm8sMRzaXu84zRj3duQ]; set [node.name] to override
[--10T10::,][INFO ][o.e.n.Node ] version[5.4.], pid[], build[eed30a8/--22T00::.743Z], OS[Linux/3.10.-.el7.x86_64/i386], JVM[Oracle Corporation/Java HotSpot(TM) Server VM/1.8.0_191/25.191-b12]
[--10T10::,][INFO ][o.e.n.Node ] JVM arguments [-Xms512m, -Xmx512m, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+DisableExplicitGC, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/home/hadoop/soft/elasticsearch-5.4.]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [aggs-matrix-stats]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [ingest-common]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-expression]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-groovy]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-mustache]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [lang-painless]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [percolator]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [reindex]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [transport-netty3]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] loaded module [transport-netty4]
[--10T10::,][INFO ][o.e.p.PluginsService ] [rYUCm8s] no plugins loaded
[--10T10::,][INFO ][o.e.d.DiscoveryModule ] [rYUCm8s] using discovery type [zen]
[--10T10::,][INFO ][o.e.n.Node ] initialized
[--10T10::,][INFO ][o.e.n.Node ] [rYUCm8s] starting ...
[--10T10::,][INFO ][o.e.t.TransportService ] [rYUCm8s] publish_address {192.168.110.133:}, bound_addresses {[::]:}
[--10T10::,][INFO ][o.e.b.BootstrapChecks ] [rYUCm8s] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: [] bootstrap checks failed
[]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[--10T10::,][INFO ][o.e.n.Node ] [rYUCm8s] stopping ...
[--10T10::,][INFO ][o.e.n.Node ] [rYUCm8s] stopped
[--10T10::,][INFO ][o.e.n.Node ] [rYUCm8s] closing ...
[--10T10::,][INFO ][o.e.n.Node ] [rYUCm8s] closed
[elsearch@slaver4 bin]$
上面的两个错误解决方法如下所示:
错误一,[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]。解决方法如下所示:
错误原因,每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量。
注意,切记,如果按照此方法修改,必须重启你的虚拟机,而且是root用户修改的配置文件,不然你解决完报的这两个错误,再次启动elasticsearch还是会报错误一,但是不会报错误二,所以重启虚拟机以后解决这两个错误。
[root@slaver4 ~]# vim /etc/security/limits.conf
添加如下所示内容:
注意:解释如是,*是代表任何用户,此配置的意思是任何用户都可以打开文件的数量。
* soft nofile
* hard nofile
操作如下所示:
错误二,max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]。
错误原因,应该是虚拟内存不足导致的错误。修改/etc/sysctl.conf文件,增加配置vm.max_map_count=262144。执行命令sysctl -p生效。
[root@slaver4 ~]# vim /etc/sysctl.conf
[root@slaver4 ~]# sysctl -p
vm.max_map_count =
[root@slaver4 ~]#
添加内容如下所示:
vm.max_map_count=
操作如下所示:
解决完上述两个错误以后,使用浏览器访问也出现了正常,如下所示:
使用命令行,访问出现如下所示表示正常启动elasticsearch。
如何停止你的elasticsearch呢,如下所示:
方式一,如果是前台启动方式,即进入/home/hadoop/soft/elasticsearch-5.4.3/bin/目录直接使用./elasticsearch启动,直接ctrl+c就可以退出了elasticsearch。
方式二,如果是后台启动elasticsearch的话。./elasticsearch -d。这种后台方式启动。使用jps命令查看进程号,然后使用kill -9 进程号。直接强制杀死的命令。
4、ElasticSearch的实用插件Head的安装。
通过浏览器访问http://192.168.110.133:9200/。返回的是json格式的数据,显示效果不是很友好的,通过Head插件提供的友好的web界面,解决了界面显示的问题。同时Head插件还实现了基本信息的查看,rest请求的模拟,以及数据的基本检索。
使用命令下载elasticsearch head插件,wget https://github.com/mobz/elasticsearch-head/archive/master.zip。
或者使用这种方式安装elasticsearch-head插件。
[elsearch@slaver4 package]$ yum install –y git
[elsearch@slaver4 package]$ git clone https://github.com/mobz/elasticsearch-head.git
我是使用wget下载zip包,直接解压缩操作,安装的elasticearch-head插件。
[root@slaver4 ~]# cd /home/hadoop/package/
[root@slaver4 package]# ls
elasticsearch-5.4..tar.gz erlang-18.3-.el7.centos.x86_64.rpm haproxy-1.6..tar.gz phantomjs-2.1.-linux-x86_64.tar.bz2 rabbitmq-server-3.6.-.noarch.rpm
elasticsearch-analysis-ik-5.4..zip es-sql-site-standalone.zip keepalived-1.2..tar.gz rabbitmq_delayed_message_exchange-0.0..ez socat-1.7.3.2-1.1.el7.x86_64.rpm
[root@slaver4 package]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
---- ::-- https://github.com/mobz/elasticsearch-head/archive/master.zip
Resolving github.com (github.com)... 13.229.188.59
Connecting to github.com (github.com)|13.229.188.59|:... connected.
HTTP request sent, awaiting response... Found
Location: https://codeload.github.com/mobz/elasticsearch-head/zip/master [following]
---- ::-- https://codeload.github.com/mobz/elasticsearch-head/zip/master
Resolving codeload.github.com (codeload.github.com)... 13.250.162.133
Connecting to codeload.github.com (codeload.github.com)|13.250.162.133|:... connected.
HTTP request sent, awaiting response... OK
Length: (1.3M) [application/zip]
Saving to: ‘master.zip’ %[=======================================================================================================================================================================>] ,, 139KB/s in 10s -- :: ( KB/s) - ‘master.zip’ saved [/] [root@slaver4 package]# ls
elasticsearch-5.4..tar.gz es-sql-site-standalone.zip master.zip rabbitmq-server-3.6.-.noarch.rpm
elasticsearch-analysis-ik-5.4..zip haproxy-1.6..tar.gz phantomjs-2.1.-linux-x86_64.tar.bz2 socat-1.7.3.2-1.1.el7.x86_64.rpm
erlang-18.3-.el7.centos.x86_64.rpm keepalived-1.2..tar.gz rabbitmq_delayed_message_exchange-0.0..ez
[root@slaver4 package]#
下载好进行解压缩操作,如下所示:
[root@slaver4 package]# unzip master.zip
由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。
下载安装node,wget https://nodejs.org/dist/latest-v8.x/node-v8.16.2-linux-x64.tar.xz,下载完毕进行解压缩操作。
[root@slaver4 package]# wget https://nodejs.org/dist/latest-v8.x/node-v8.16.2-linux-x64.tar.xz
[root@slaver4 package]# ls
elasticsearch-5.4..tar.gz es-sql-site-standalone.zip master.zip rabbitmq_delayed_message_exchange-0.0..ez
elasticsearch-analysis-ik-5.4..zip haproxy-1.6..tar.gz node-v8.16.2-linux-x64.tar.xz rabbitmq-server-3.6.-.noarch.rpm
erlang-18.3-.el7.centos.x86_64.rpm keepalived-1.2..tar.gz phantomjs-2.1.-linux-x86_64.tar.bz2 socat-1.7.3.2-1.1.el7.x86_64.rpm
[root@slaver4 package]#
[root@slaver4 package]# tar -zxvf node-v8.16.2-linux-x64.tar.xz -C /home/hadoop/soft/
[root@slaver4 package]# cd ../soft/
[root@slaver4 soft]# ls
elasticsearch-5.4. elasticsearch-head-master node-v8.16.2-linux-x64
[root@slaver4 soft]#
解压缩完毕,进行配置环境变量。添加完Node环境变量以后刷新配置文件source /etc/profile。
[root@slaver4 soft]# vim /etc/profile
[root@slaver4 soft]# source /etc/profile
配置如下所示:
export NODE_HOME=/home/hadoop/soft/node-v8.16.2-linux-x64
export PATH=$PATH:$NODE_HOME/bin
然后进行查看Node版本验证。如下所示:
注意:Node的版本必须大于等于node6.0版本。
[root@slaver4 soft]# node -v
v8.16.2
[root@slaver4 soft]# npm -v
6.4.
[root@slaver4 soft]#
执行一下npm,npm是Node的一个包安装工具。
[root@slaver4 soft]# ls
elasticsearch-5.4. elasticsearch-head-master node-v8.16.2-linux-x64
[root@slaver4 soft]# cd elasticsearch-head-master/
[root@slaver4 elasticsearch-head-master]# ls
crx elasticsearch-head.sublime-project index.html plugin-descriptor.properties _site
Dockerfile Gruntfile.js LICENCE proxy src
Dockerfile-alpine grunt_fileSets.js package.json README.textile test
[root@slaver4 elasticsearch-head-master]# np
npm nproc npx
[root@slaver4 elasticsearch-head-master]# npm install
执行npm install报了如下所示的错误,真是坎坷万千啊。
[root@slaver4 elasticsearch-head-master]# npm install
npm WARN deprecated coffee-script@1.10.: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm WARN deprecated http2@3.3.: Use the built-in module in node 9.0. or newer, instead
npm WARN deprecated phantomjs-prebuilt@2.1.: this package is now deprecated
npm WARN deprecated json3@3.3.: Please use the native JSON object instead of JSON
npm WARN deprecated json3@3.2.: Please use the native JSON object instead of JSON > phantomjs-prebuilt@2.1. install /home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt
> node install.js PhantomJS not found on PATH
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
Saving to /tmp/phantomjs/phantomjs-2.1.-linux-x86_64.tar.bz2
Receiving...
[========================================] %
Received 22866K total.
Extracting tar contents (via spawned process)
Removing /home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
Copying extracted folder /tmp/phantomjs/phantomjs-2.1.-linux-x86_64.tar.bz2-extract-/phantomjs-2.1.-linux-x86_64 -> /home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
Phantom installation failed { Error: EACCES: permission denied, link '/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1570691935036/phantomjs-2.1.1-linux-x86_64' -> '/home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom'
errno: -,
code: 'EACCES',
syscall: 'link',
path: '/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1570691935036/phantomjs-2.1.1-linux-x86_64',
dest: '/home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom' } Error: EACCES: permission denied, link '/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1570691935036/phantomjs-2.1.1-linux-x86_64' -> '/home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom'
npm WARN elasticsearch-head@0.0. license should be a valid SPDX license expression
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2. (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm ERR! code ELIFECYCLE
npm ERR! errno
npm ERR! phantomjs-prebuilt@2.1. install: `node install.js`
npm ERR! Exit status
npm ERR!
npm ERR! Failed at the phantomjs-prebuilt@2.1. install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/--10T07_18_58_885Z-debug.log
应该是缺少类库,使用如下所示的命令npm install phantomjs-prebuilt -save进行安装。
[elsearch@slaver4 elasticsearch-head-master]$ npm install phantomjs-prebuilt -save
npm WARN deprecated phantomjs-prebuilt@2.1.: this package is now deprecated > phantomjs-prebuilt@2.1. install /home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt
> node install.js PhantomJS not found on PATH
Download already available at /tmp/phantomjs/phantomjs-2.1.-linux-x86_64.tar.bz2
Verified checksum of previously downloaded file
Extracting tar contents (via spawned process)
Removing /home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
Copying extracted folder /tmp/phantomjs/phantomjs-2.1.-linux-x86_64.tar.bz2-extract-/phantomjs-2.1.-linux-x86_64 -> /home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /home/hadoop/soft/elasticsearch-head-master/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN elasticsearch-head@0.0. license should be a valid SPDX license expression
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2. (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + phantomjs-prebuilt@2.1.
added packages from contributors, removed packages and audited packages in .541s
found vulnerabilities ( low, moderate, high)
run `npm audit fix` to fix them, or `npm audit` for details
[elsearch@slaver4 elasticsearch-head-master]$
安装完成以后,运行一下,使用如下命令npm run start,如下所示:
[elsearch@slaver4 elasticsearch-head-master]$ npm run start > elasticsearch-head@0.0. start /home/hadoop/soft/elasticsearch-head-master
> grunt server >> Local Npm module "grunt-contrib-jasmine" not found. Is it installed? Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
可以看到head插件默认占用9100端口,浏览器访问http://192.168.110.133:9100/,如下所示。即可显示head插件界面。
由于elasticsearch和elasticsearch-head插件是属于两个不同的进程的,他们之间的访问是存在跨域问题的。
[root@slaver4 ~]# cd /home/hadoop/soft/elasticsearch-
-bash: cd: /home/hadoop/soft/elasticsearch-: No such file or directory
[root@slaver4 ~]# cd /home/hadoop/soft/elasticsearch-
elasticsearch-5.4./ elasticsearch-head-master/
[root@slaver4 ~]# cd /home/hadoop/soft/elasticsearch-5.4./
[root@slaver4 elasticsearch-5.4.]# ls
bin config data hs_err_pid11491.log lib LICENSE.txt logs modules NOTICE.txt plugins README.textile
[root@slaver4 elasticsearch-5.4.]# vim config/elasticsearch.yml
在/home/hadoop/soft/elasticsearch-5.4.3/config/elasticsearch.yml配置文件中添加如下所示配置。解决跨域访问的问题、支持所有的域名。
# 是否支持跨域
http.cors.enabled: true
#
# *表示支持所有域名
http.cors.allow-origin: "*"
此时,后台启动elasticsearch(切记,使用自己创建的用户,不能使用root用户哦,./elasticsearch -d),启动elasticsearch-head插件(切记,使用自己创建的用户,npm run start)。
通过head插件连接elasticsearch服务。输入elasticsearch服务地址http://192.168.110.133:9200/,点击连接,右边显示黄色信息说明连接成功,至此elasticsearch-head插件安装成功。
注意:green绿色代表集群健康,正常运行。yellow黄色代表集群健康不是很好,但是集群可以使用。red红色代表集群状态很差,搜索可以使用,但是可能出现丢失数据的情况。
5、安装grunt,可以使用后台启动elasticsearch-head插件(这里的操作,我是执行完以上进行的操作,目的是为了后台可以启动head插件的),操作如下所示:
安装grunt,如下所示:
[elsearch@slaver4 elasticsearch-head-master]$ cd elasticsearch-head-master
[elsearch@slaver4 elasticsearch-head-master]$ npm install -g grunt --registry=https://registry.npm.taobao.org
注意:在elasticsearch-head目录下node_modules/grunt下如果没有grunt二进制程序,需要执行:
[elsearch@slaver4 elasticsearch-head-master]$ cd elasticsearch-head-master
[elsearch@slaver4 elasticsearch-head-master]$ npm install grunt --save
[elsearch@slaver4 soft]$ cd elasticsearch-head-master/
[elsearch@slaver4 elasticsearch-head-master]$ ls
crx Dockerfile-alpine Gruntfile.js index.html node_modules package-lock.json proxy _site test
Dockerfile elasticsearch-head.sublime-project grunt_fileSets.js LICENCE package.json plugin-descriptor.properties README.textile src
[elsearch@slaver4 elasticsearch-head-master]$ clear
[elsearch@slaver4 elasticsearch-head-master]$ ls
crx Dockerfile-alpine Gruntfile.js index.html node_modules package-lock.json proxy _site test
Dockerfile elasticsearch-head.sublime-project grunt_fileSets.js LICENCE package.json plugin-descriptor.properties README.textile src
[elsearch@slaver4 elasticsearch-head-master]$ npm install -g grunt --registry=https://registry.npm.taobao.org
/home/hadoop/soft/node-v8.16.2-linux-x64/bin/grunt -> /home/hadoop/soft/node-v8.16.2-linux-x64/lib/node_modules/grunt/bin/grunt
+ grunt@1.0.
added packages from contributors in .985s
[elsearch@slaver4 elasticsearch-head-master]$ npm install grunt --save
npm WARN deprecated coffee-script@1.10.: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm WARN elasticsearch-head@0.0. license should be a valid SPDX license expression
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2. (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + grunt@1.0.
updated package and audited packages in .081s
found vulnerabilities ( low, moderate, high)
run `npm audit fix` to fix them, or `npm audit` for details
下面的配置可以修改也可以不修改的,我这里修改了。
修改elasticsearch-head下Gruntfile.js文件,默认监听在127.0.0.1下9200端口:
添加hostname: '192.168.110.133',这个配置。
connect: {
server: {
options: {
hostname: '192.168.110.133',
port: ,
base: '.',
keepalive: true
}
}
}
修改 _site/app.js,修改http://localhost:9200字段到本机ES端口与IP:
在命令模式,即可以使用:/localhost搜索找到localhost,然后修改如下配置。显示行号,也是在命令模式,使用:set nu既可以显示行号。
将此配置
"http://localhost:9200"; 修改为了
"http://192.168.110.133:9200";
Vim的三种工作模式。
后台启动elasticsearch-head插件,如下所示:
在/home/hadoop/soft/elasticsearch-head-master/node_modules/grunt/bin目录下面,使用此命令后台启动。./grunt server &
[elsearch@slaver4 elasticsearch-head-master]$ ls
crx elasticsearch-head.sublime-project index.html package.json proxy src
Dockerfile Gruntfile.js LICENCE package-lock.json README.textile test
Dockerfile-alpine grunt_fileSets.js node_modules plugin-descriptor.properties _site
[elsearch@slaver4 elasticsearch-head-master]$ cd node_modules/gr
graceful-fs/ grunt-contrib-concat/ grunt-contrib-watch/ grunt-legacy-log/
grunt/ grunt-contrib-connect/ grunt-karma/ grunt-legacy-log-utils/
grunt-contrib-clean/ grunt-contrib-copy/ grunt-known-options/ grunt-legacy-util/
[elsearch@slaver4 elasticsearch-head-master]$ cd node_modules/grunt/bin/
[elsearch@slaver4 bin]$ ls
grunt
[elsearch@slaver4 bin]$ ./grunt server &
[]
[elsearch@slaver4 bin]$ >> Local Npm module "grunt-contrib-jasmine" not found. Is it installed? Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://192.168.110.133:9100
aaarticlea/jpeg;base64,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" alt="" />
作者:别先生
博客园:https://www.cnblogs.com/biehongli/
如果您想及时得到个人撰写文章以及著作的消息推送,可以扫描上方二维码,关注个人公众号哦。
Elasticsearch全文检索学习的更多相关文章
- Elasticsearch 6.x版本全文检索学习之分布式特性介绍
1.Elasticsearch 6.x版本全文检索学习之分布式特性介绍. 1).Elasticsearch支持集群默认,是一个分布式系统,其好处主要有两个. a.增大系统容量,如内存.磁盘.使得es集 ...
- Elasticsearch 6.x版本全文检索学习之Search API
Elasticsearch 6.x版本全文检索学习之Search API. 1).Search API,实现对es中存储的数据进行查询分析,endpoind为_search,如下所示. 方式一.GET ...
- 干货 |《从Lucene到Elasticsearch全文检索实战》拆解实践
1.题记 2018年3月初,萌生了一个想法:对Elasticsearch相关的技术书籍做拆解阅读,该想法源自非计算机领域红火已久的[樊登读书会].得到的每天听本书.XX拆书帮等. 目前市面上Elast ...
- ElasticSearch 5学习(10)——结构化查询(包括新特性)
之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...
- ElasticSearch 5学习(9)——映射和分析(string类型废弃)
在ElasticSearch中,存入文档的内容类似于传统数据每个字段一样,都会有一个指定的属性,为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成字符串值,Elasticsearc ...
- ElasticSearch 5学习(7)——分布式集群学习分享2
前面主要学习了ElasticSearch分布式集群的存储过程中集群.节点和分片的知识(ElasticSearch 5学习(6)--分布式集群学习分享1),下面主要分享应对故障的一些实践. 应对故障 前 ...
- ElasticSearch 5学习(6)——分布式集群学习分享1
在使用中我们把文档存入ElasticSearch,但是如果能够了解ElasticSearch内部是如何存储的,将会对我们学习ElasticSearch有很清晰的认识.本文中的所使用的ElasticSe ...
- ElasticSearch 5学习(5)——第一个例子(很实用)
想要知道ElasticSearch是如何使用的,最快的方式就是通过一个简单的例子,第一个例子将会包括基本概念如索引.搜索.和聚合等,需求是关于公司管理员工的一些业务. 员工文档索引 业务首先需要存储员 ...
- ElasticSearch 5学习(2)——Kibana+X-Pack介绍使用(全)
Kibana是一个为 ElasticSearch 提供的数据分析的 Web 接口.可使用它对日志进行高效的搜索.可视化.分析等各种操作.Kibana目前最新的版本5.0.2,回顾一下Kibana 3和 ...
随机推荐
- selenium webdriver (python)第三版.pdf
转载自:http://download.csdn.net/detail/waiwaijsj/7214035 是原作者根据自己的经验整理的,很实用.
- POJ-1860 Currency Exchange( Bellman_Ford, 正环 )
题目链接:http://poj.org/problem?id=1860 Description Several currency exchange points are working in our ...
- poj3984 迷宫问题(简单的输出路径的bfs)
题目链接 http://poj.org/problem?id=3984 中文题题意不解释了 反正就是简单的结构体套结构体存一下路径就行了 #include <iostream> #incl ...
- codeforces 486 E. LIS of Sequence(dp)
题目链接:http://codeforces.com/contest/486/problem/E 题意:给出n个数,如果一个数满足不属于最长递增序列,那么输出1,如果属于最长递增序列但是不属于所有最长 ...
- JUC(1)
cmd目录切换 D:\>cd /d D:\Program Files\Java\jdk1.8.0_201\bin 1. JUC 简介 在 Java 5.0 提供了 java.util.concu ...
- 深入拆解Java虚拟机视频教程
目录: 第1节说在前面的话 00:05:07分钟 | 第3节环境搭建以及jdk,jre,jvm的关系 00:20:48分钟 | 第5节jvm再体验-jvm可视化监控工具 00:21 ...
- spring中的XML Catalog配置
XML Catalog配置: 1.window-->preferences-->XML Catalog 2.如图: 点击File System,选择下图中的最后一个 图二中的key时sch ...
- 神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列
前言 开心一刻 感觉不妙呀,弟弟舔它! 不该舔的,舔到怀疑人生了...... GROUP BY 后 SELECT 列的限制 标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写 ...
- CLR中你想知道的事
CLR是什么? CLR 公共语言运行时,是一个可由多个语言共同使用的运行环境,核心(内存管理,程序集加载,安全性,异常处理和多线程) Visual Studio是一种编译器,编译器也可称为语法检查器和 ...
- VMware Ubuntu 19最新安装详细过程
ubuntu可以说是目前最流行的Linux改造版了(如果安卓不算的话),现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在 ...