Windows下安裝ElasticSearch及工具

轉載自我的主頁html

前言

什麼是ElasticSearch

官網如是介紹:Elasticsearch 是一個分佈式、可擴展、實時的搜索與數據分析引擎。 它能從項目一開始就賦予你的數據以搜索、分析和探索的能力,這是一般沒有預料到的。 Elasticsearch 不單單只是全文搜索,咱們還將介紹結構化搜索、數據分析、複雜的語言處理、地理位置和對象間關聯關係等。java

目的

因爲ElasticSearch更新的很快,因此安裝它及其插件時,遇到一些坑,在國內並未找到答案,因此在此記錄一下,爲了之後給再遇到的這些問題的人(也包括本身)。node

安裝ElasticSearch

  • 版本:6.4.2
  • 下載地址
  • 解壓到本地目錄
  • 運行bin目錄下的elasticsearch.bat文件(此文件是批處理文件,在Windows下雙擊也能夠,可是雙擊以後,若是出現錯誤,咱們是看不見的,因此此處不建議雙擊)
#進入cmd控制檯,進入elasticsearch.bat文件所在目錄,而後運行以下命令
elasticsearch.bat
  • 瀏覽器訪問http://localhost:9200/,若是出現以下則服務啓動成功,不然按照錯誤信息,去查找
{
  "name" : "node-1",
  "cluster_name" : "my-application",
  "cluster_uuid" : "tE18H2eXSimOzKKgAyZMtw",
  "version" : {
    "number" : "6.4.2",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "04711c2",
    "build_date" : "2018-09-26T13:34:09.098244Z",
    "build_snapshot" : false,
    "lucene_version" : "7.4.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

安裝ElasticSearch問題集錦

  • 運行elasticsearch.bat 出現以下問題
此時不該有 \Java\jdk1.8.0_181\bin\java.exe" -cp "!ES_CLASSPATH!" "org.elasticsearch.tools.launchers.JvmOptionsParser" "!ES_JVM_OPTIONS!" || echo jvm_options_parser_failed"`)

解決方案:將elasticsearch.bat文件中的,解決方案來源git

set "ES_JVM_OPTIONS=%ES_PATH_CONF%\jvm.options"
@setlocal
for /F "usebackq delims=" %%a in (`"%JAVA% -cp "!ES_CLASSPATH!" "org.elasticsearch.tools.launchers.JvmOptionsParser" "!ES_JVM_OPTIONS!" || echo jvm_options_parser_failed"`) do set JVM_OPTIONS=%%a
@endlocal & set "MAYBE_JVM_OPTIONS_PARSER_FAILED=%JVM_OPTIONS%" & set ES_JAVA_OPTS=%JVM_OPTIONS:${ES_TMPDIR}=!ES_TMPDIR!% %ES_JAVA_OPTS%

替換成github

set ES_JVM_OPTIONS=%ES_PATH_CONF%\jvm.options
@setlocal
for /F "usebackq delims=" %%a in (`CALL %JAVA% -cp "!ES_CLASSPATH!" "org.elasticsearch.tools.launchers.JvmOptionsParser" "!ES_JVM_OPTIONS!" ^|^| echo jvm_options_parser_failed`) do set JVM_OPTIONS=%%a
@endlocal & set "MAYBE_JVM_OPTIONS_PARSER_FAILED=%JVM_OPTIONS%" & set ES_JAVA_OPTS=%JVM_OPTIONS:${ES_TMPDIR}=!ES_TMPDIR!% %ES_JAVA_OPTS%
  • 出現以下錯誤
[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: ElasticsearchException[X-Pack is not supported and Machine Learning is not available for [windows-x86]; you can use the other X-Pack features (unsupported) by setting xpack.ml.enabled: false in elasticsearch.yml]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.4.2.jar:6.4.2]
        at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.4.2.jar:6.4.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.4.2.jar:6.4.2]
Caused by: org.elasticsearch.ElasticsearchException: X-Pack is not supported and Machine Learning is not available for [windows-x86]; you can use the other X-Pack features (unsupported) by setting xpack.ml.enabled: false in elasticsearch.yml
        at org.elasticsearch.xpack.ml.MachineLearningFeatureSet.isRunningOnMlPlatform(MachineLearningFeatureSet.java:103) ~[?:?]
        at org.elasticsearch.xpack.ml.MachineLearningFeatureSet.isRunningOnMlPlatform(MachineLearningFeatureSet.java:94) ~[?:?]
        at org.elasticsearch.xpack.ml.MachineLearning.createComponents(MachineLearning.java:374) ~[?:?]
        at org.elasticsearch.node.Node.lambda$new$8(Node.java:420) ~[elasticsearch-6.4.2.jar:6.4.2]
        at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:267) ~[?:1.8.0_181]
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_181]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_181]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_181]
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_181]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_181]
        at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_181]
        at org.elasticsearch.node.Node.<init>(Node.java:423) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.node.Node.<init>(Node.java:256) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:213) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:213) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.2.jar:6.4.2]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.2.jar:6.4.2]
        ... 6 more

解決方案:將jdk與jre安裝成64位,解決來源bootstrap

安裝Kibana

什麼是Kibana

Kibana 是通向 Elastic 產品集的窗口。 它能夠在 Elasticsearch 中對數據進行視覺探索和實時分析。此處簡單介紹,稍後會專門寫一篇博客介紹Kibana及其用法windows

  • 版本:6.4.2
  • 下載地址
  • 下載下來以後,解壓到相關目錄下
  • 打開 config/kibana.yml,並修改其中elasticsearch.url的值,此處的URL要修改爲ElasticSearch啓動的URL,此處是默認值,若是ElasticSearch的URL沒有更改,此處也不用改。
elasticsearch.url: "http://localhost:9200"
  • 使用cmd進入Kibana的bin目錄,而後運行kibana.bat文件。
kibana.bat
  • 打開瀏覽器,訪問http://localhost:5601便可。若是該端口被佔用了,在啓動的cmd控制檯有顯示訪問的地址,複製訪問便可。

如圖所示
我在安裝Kibana的時候沒有遇到問題。瀏覽器

插件們

下面是ElasticSearch 5.X 版本纔有的插件,6.X的這些插件都集成到Kibana與x-pack中了
如圖所示app

X-Pack

在安裝插件的時候發現,該插件已經集成到ElasticSearch中了,因此不須要單獨安裝。jvm

參考連接

小結

安裝總結起來仍是比較簡單的,接下來就是開始進行搜索了。

相關文章
相關標籤/搜索