Elasticsearch從概念介紹到安裝啓動

簡介

Elasticsearch,基於lucene,隱藏複雜性,提供簡單易用的restful api接口、java api接口(還有其他語言的api接口)。
[百度百科]
ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java開發的,並作爲Apache許可條款下的開放源碼發佈,是當前流行的企業級搜索引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。

適用場景

1)全文檢索,高亮,搜索推薦。
2)新聞類,用戶行爲日誌(點擊,瀏覽,收藏,評論)+ 社交網絡數據(對某某新聞的相關看法),數據分析,給到每篇新聞文章的作者,讓他知道他的文章的公衆反饋(好,壞,熱門,垃圾,鄙視,崇拜)。
3) 站內搜索(電商,招聘,門戶,等等),IT系統搜索(OA,CRM,ERP,等等),數據分析等

概念

1)Index(索引-數據庫)

索引包含一堆有相似結構的文檔數據,比如可以有一個客戶索引,商品分類索引,訂單索引,索引有一個名稱。一個index包含很多document,一個index就代表了一類類似的或者相同的document。比如說建立一個product index,商品索引,裏面可能就存放了所有的商品數據,所有的商品document。

2)Type(類型-表)

每個索引裏都可以有一個或多個type,type是index中的一個邏輯數據分類,一個type下的document,都有相同的field,比如博客系統,有一個索引,可以定義用戶數據type,博客數據type,評論數據type。
商品index,裏面存放了所有的商品數據,商品document
但是商品分很多種類,每個種類的document的field可能不太一樣,比如說電器商品,可能還包含一些諸如售後時間範圍這樣的特殊field;生鮮商品,還包含一些諸如生鮮保質期之類的特殊field
type,日化商品type,電器商品type,生鮮商品type

3)Document(文檔-行)

文檔是es中的最小數據單元,一個document可以是一條客戶數據,一條商品分類數據,一條訂單數據,通常用JSON數據結構表示,每個index下的type中,都可以去存儲多個document。

4)Field(字段-列)

Field是Elasticsearch的最小單位。一個document裏面有多個field,每個field就是一個數據字段。

5)mapping(映射-約束)

數據如何存放到索引對象上,需要有一個映射配置,包括:數據類型、是否存儲、是否分詞等。
這樣就創建了一個名爲blog的Index。Type不用單獨創建,在創建Mapping 時指定就可以。Mapping用來定義Document中每個字段的類型,即所使用的 analyzer、是否索引等屬性,非常關鍵等

6)Elasticsearch與關係型數據庫的類比

在這裏插入圖片描述

ES存入數據和搜索數據機制

在這裏插入圖片描述

下載-安裝-啓動

官網 https://www.elastic.co/downloads/elasticsearch
以下用的版本5.6.1 https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-1
在這裏插入圖片描述
在這裏插入圖片描述
下載elasticsearch-5.6.1.tar.gz後

1)解壓

	(-C 表示解壓到指定目錄,不加默認解壓到當前目錄)
	tar -zxvf elasticsearch-5.6.1.tar.gz -C /lhyt/servers/elasticsearch-5.6.1

目錄結構如下:
在這裏插入圖片描述
其中plugins文件夾是用來存放插件的,如:分詞器等等

2)在es安裝的根目錄下新建目錄data和logs

data:數據目錄
logs:日誌目錄
	[root@xxx elasticsearch-5.6.1]# mkdir data
	[root@xxx elasticsearch-5.6.1]# mkdir logs
	[root@xxx elasticsearch-5.6.1]# ll
	total 244
	drwxr-xr-x  2 root root   4096 Dec 28 15:28 bin
	drwxr-xr-x  2 root root   4096 Sep 15  2017 config
	drwxr-xr-x  2 root root   4096 Dec 28 15:32 data
	drwxr-xr-x  2 root root   4096 Sep 15  2017 lib
	-rw-r--r--  1 root root  11358 Sep 15  2017 LICENSE.txt
	drwxr-xr-x  2 root root   4096 Dec 28 15:32 logs
	drwxr-xr-x 13 root root   4096 Sep 15  2017 modules
	-rw-r--r--  1 root root 194187 Sep 15  2017 NOTICE.txt
	drwxr-xr-x  2 root root   4096 Sep 15  2017 plugins
	-rw-r--r--  1 root root   9549 Sep 15  2017 README.textile

3)修改配置信息

進入config目錄:

[root@xxx config]# ll
total 16
-rw-rw---- 1 root root 2854 Sep 15  2017 elasticsearch.yml
-rw-rw---- 1 root root 3064 Sep 15  2017 jvm.options
-rw-rw---- 1 root root 4456 Sep 15  2017 log4j2.properties

修改elasticsearch.yml 的信息如下:注意yml語法,冒號後面有一個空格。末尾無空格

# ---------------------------------- Cluster -----------------------------------
#集羣配置,名稱需要保持一致
cluster.name: my-es-search
# ------------------------------------ Node ------------------------------------
node.name: node-001
# ----------------------------------- Paths ------------------------------------
path.data: /lhyt/servers/elasticsearch-5.6.1/data
path.logs: /lhyt/servers/elasticsearch-5.6.1/logs
# ----------------------------------- Memory -----------------------------------
#設置爲false,否則初始化會失敗
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
# ---------------------------------- Network -----------------------------------
#主機地址
network.host: 192.168.1.117
#端口號可以不用修改,默認9200
#http.port: 9200
# --------------------------------- Discovery ----------------------------------
#對外暴露的主機名稱,多個用逗號隔開,注意這裏是hostname的名稱哦
discovery.zen.ping.unicast.hosts: ["es-search-001"]

4)修改完成後,啓動

[root@xxx elasticsearch-5.6.1]# bin/elasticsearch
[2018-12-28T15:52:27,670][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-001] 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:136) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.1.jar:5.6.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.1.jar:5.6.1]
	... 6 more

【報錯原因】:
因爲安全問題elasticsearch 不讓用root用戶直接運行
【解決方法】:
A.創建普通用戶(這裏是es),然後再運行
第一步:liunx創建新用戶 adduser es 然後給創建的用戶加密碼 passwd es 輸入兩次密碼。
第二步:切換剛纔創建的用戶 su es然後執行elasticsearch 會顯示Permission denied 權限不足。
第三步:給新建的es賦權限,chmod 777 * 這個不行,因爲這個用戶本身就沒有權限,肯定自己不能給自己付權限。所以要用root用戶登錄付權限。
第四步:root給es賦權限,chown -R es /你的elasticsearch安裝目錄。
chown -R es /lhyt/servers/elasticsearch-5.6.1
切換到es用戶,然後重啓。

[es@xxx elasticsearch-5.6.1]$ bin/elasticsearch
[2018-12-28T16:08:48,623][INFO ][o.e.n.Node               ] [node-001] initializing ...
[2018-12-28T16:08:48,707][INFO ][o.e.e.NodeEnvironment    ] [node-001] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [87.2gb], net total_space [98.3gb], spins? [unknown], types [rootfs]
[2018-12-28T16:08:48,708][INFO ][o.e.e.NodeEnvironment    ] [node-001] heap size [1.9gb], compressed ordinary object pointers [true]
[2018-12-28T16:08:48,708][INFO ][o.e.n.Node               ] [node-001] node name [node-001], node ID [IU4va5wUQWqbXDi_A7dTng]
[2018-12-28T16:08:48,709][INFO ][o.e.n.Node               ] [node-001] version[5.6.1], pid[32048], build[667b497/2017-09-14T19:22:05.189Z], OS[Linux/3.10.0-693.2.2.el7.x86_64/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_171/25.171-b11]
[2018-12-28T16:08:48,709][INFO ][o.e.n.Node               ] [node-001] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/lhyt/servers/elasticsearch-5.6.1]
[2018-12-28T16:08:49,533][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [aggs-matrix-stats]
[2018-12-28T16:08:49,533][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [ingest-common]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-expression]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-groovy]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-mustache]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-painless]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [parent-join]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [percolator]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [reindex]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [transport-netty3]
[2018-12-28T16:08:49,534][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [transport-netty4]
[2018-12-28T16:08:49,535][INFO ][o.e.p.PluginsService     ] [node-001] no plugins loaded
[2018-12-28T16:08:50,830][INFO ][o.e.d.DiscoveryModule    ] [node-001] using discovery type [zen]
[2018-12-28T16:08:51,532][INFO ][o.e.n.Node               ] [node-001] initialized
[2018-12-28T16:08:51,532][INFO ][o.e.n.Node               ] [node-001] starting ...
[2018-12-28T16:08:51,844][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-001] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300-9400]]; nested: BindException[Cannot assign requested address];
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.1.jar:5.6.1]
Caused by: org.elasticsearch.transport.BindTransportException: Failed to bind to [9300-9400]
	at org.elasticsearch.transport.TcpTransport.bindToPort(TcpTransport.java:771) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.transport.TcpTransport.bindServer(TcpTransport.java:736) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.transport.netty4.Netty4Transport.doStart(Netty4Transport.java:173) ~[?:?]
	at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:69) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.transport.TransportService.doStart(TransportService.java:209) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:69) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.node.Node.start(Node.java:694) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:278) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:351) ~[elasticsearch-5.6.1.jar:5.6.1]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.1.jar:5.6.1]
	... 6 more
Caused by: java.net.BindException: Cannot assign requested address
	at sun.nio.ch.Net.bind0(Native Method) ~[?:?]
	at sun.nio.ch.Net.bind(Net.java:433) ~[?:?]
	at sun.nio.ch.Net.bind(Net.java:425) ~[?:?]
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[?:?]
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:128) ~[?:?]
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:554) ~[?:?]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1258) ~[?:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:501) ~[?:?]
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:486) ~[?:?]
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:980) ~[?:?]
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:250) ~[?:?]
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:365) ~[?:?]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) ~[?:?]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) ~[?:?]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462) ~[?:?]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) ~[?:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
[2018-12-28T16:08:52,579][INFO ][o.e.n.Node               ] [node-001] stopping ...
[2018-12-28T16:08:52,582][INFO ][o.e.n.Node               ] [node-001] stopped
[2018-12-28T16:08:52,583][INFO ][o.e.n.Node               ] [node-001] closing ...
[2018-12-28T16:08:52,592][INFO ][o.e.n.Node               ] [node-001] closed

依然報錯:
【錯誤原因】 綁定IP地址錯誤
【解決辦法】
修改elasticsearch.yml 信息
1)network.host: 內網地址(外網訪問不到的地址)或者0.0.0.0
2) 添加transport.tcp.port: 9300設置
修改後,重啓

[es@xxx elasticsearch-5.6.1]$ bin/elasticsearch
[2018-12-28T16:21:19,733][INFO ][o.e.n.Node               ] [node-001] initializing ...
[2018-12-28T16:21:19,823][INFO ][o.e.e.NodeEnvironment    ] [node-001] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [87.2gb], net total_space [98.3gb], spins? [unknown], types [rootfs]
[2018-12-28T16:21:19,824][INFO ][o.e.e.NodeEnvironment    ] [node-001] heap size [1.9gb], compressed ordinary object pointers [true]
[2018-12-28T16:21:19,825][INFO ][o.e.n.Node               ] [node-001] node name [node-001], node ID [IU4va5wUQWqbXDi_A7dTng]
[2018-12-28T16:21:19,825][INFO ][o.e.n.Node               ] [node-001] version[5.6.1], pid[1888], build[667b497/2017-09-14T19:22:05.189Z], OS[Linux/3.10.0-693.2.2.el7.x86_64/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_171/25.171-b11]
[2018-12-28T16:21:19,825][INFO ][o.e.n.Node               ] [node-001] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/lhyt/servers/elasticsearch-5.6.1]
[2018-12-28T16:21:20,643][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [aggs-matrix-stats]
[2018-12-28T16:21:20,643][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [ingest-common]
[2018-12-28T16:21:20,644][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-expression]
[2018-12-28T16:21:20,644][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-groovy]
[2018-12-28T16:21:20,644][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-mustache]
[2018-12-28T16:21:20,644][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-painless]
[2018-12-28T16:21:20,644][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [parent-join]
[2018-12-28T16:21:20,644][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [percolator]
[2018-12-28T16:21:20,644][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [reindex]
[2018-12-28T16:21:20,644][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [transport-netty3]
[2018-12-28T16:21:20,645][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [transport-netty4]
[2018-12-28T16:21:20,645][INFO ][o.e.p.PluginsService     ] [node-001] no plugins loaded
[2018-12-28T16:21:22,058][INFO ][o.e.d.DiscoveryModule    ] [node-001] using discovery type [zen]
[2018-12-28T16:21:22,764][INFO ][o.e.n.Node               ] [node-001] initialized
[2018-12-28T16:21:22,765][INFO ][o.e.n.Node               ] [node-001] starting ...
[2018-12-28T16:21:22,938][INFO ][o.e.t.TransportService   ] [node-001] publish_address {172.17.83.229:9300}, bound_addresses {172.17.83.229:9300}
[2018-12-28T16:21:22,950][INFO ][o.e.b.BootstrapChecks    ] [node-001] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-12-28T16:21:22,957][INFO ][o.e.n.Node               ] [node-001] stopping ...
[2018-12-28T16:21:22,974][INFO ][o.e.n.Node               ] [node-001] stopped
[2018-12-28T16:21:22,974][INFO ][o.e.n.Node               ] [node-001] closing ...
[2018-12-28T16:21:22,984][INFO ][o.e.n.Node               ] [node-001] closed

依然報錯
【錯誤原因】
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
#是說最大文件解釋器太小了,至少需要65536
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
#是說最大虛擬內存區域設置太小了,至少爲262144
【解決辦法】
1.修改/etc/security/limits.conf配置文件設置,我這邊比較大,根據機器配置酌情設置,滿足最低要求即可。
vim /etc/security/limits.conf
在這裏插入圖片描述
2.修改(centos7)vim /etc/security/limits.d/20-nproc.conf 文件
[centos6修改的是/etc/security/limits.d/90-nproc.conf 文件哦]
在這裏插入圖片描述
3.修改vim /etc/sysctl.conf 文件
添加vm.max_map_count=655360配置,如下圖:
在這裏插入圖片描述
改完系統配置文件後,需要執行sysctl -p操作進行保存操作
在這裏插入圖片描述
ok,改完以上配置後呢,就可以又一次重新啓動啦:

【特別說明】:有時候我們改完一些配置後,明明是該成正確的了,但是在啓動的時候依然check不過,報ERROR中的那幾條錯誤信息:
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
這個很詭異哦,我很氣憤,然後就轉換思維,去幹別的了,你知道嗎,奇蹟發生了,過了一段時間回來,再次啓動:你想的不錯,成功了,所以有時候改完不好使,也彆着急,等等,或許就是該系統配置沒能立即生效呢。

[es@xxx elasticsearch-5.6.1]$ bin/elasticsearch
[2018-12-28T21:37:11,633][INFO ][o.e.n.Node               ] [node-001] initializing ...
[2018-12-28T21:37:11,719][INFO ][o.e.e.NodeEnvironment    ] [node-001] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [87.2gb], net total_space [98.3gb], spins? [unknown], types [rootfs]
[2018-12-28T21:37:11,719][INFO ][o.e.e.NodeEnvironment    ] [node-001] heap size [1.9gb], compressed ordinary object pointers [true]
[2018-12-28T21:37:11,721][INFO ][o.e.n.Node               ] [node-001] node name [node-001], node ID [IU4va5wUQWqbXDi_A7dTng]
[2018-12-28T21:37:11,721][INFO ][o.e.n.Node               ] [node-001] version[5.6.1], pid[21302], build[667b497/2017-09-14T19:22:05.189Z], OS[Linux/3.10.0-693.2.2.el7.x86_64/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_171/25.171-b11]
[2018-12-28T21:37:11,721][INFO ][o.e.n.Node               ] [node-001] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/lhyt/servers/elasticsearch-5.6.1]
[2018-12-28T21:37:12,527][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [aggs-matrix-stats]
[2018-12-28T21:37:12,527][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [ingest-common]
[2018-12-28T21:37:12,527][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-expression]
[2018-12-28T21:37:12,527][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-groovy]
[2018-12-28T21:37:12,527][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-mustache]
[2018-12-28T21:37:12,528][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [lang-painless]
[2018-12-28T21:37:12,528][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [parent-join]
[2018-12-28T21:37:12,528][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [percolator]
[2018-12-28T21:37:12,528][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [reindex]
[2018-12-28T21:37:12,528][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [transport-netty3]
[2018-12-28T21:37:12,528][INFO ][o.e.p.PluginsService     ] [node-001] loaded module [transport-netty4]
[2018-12-28T21:37:12,529][INFO ][o.e.p.PluginsService     ] [node-001] no plugins loaded
[2018-12-28T21:37:13,952][INFO ][o.e.d.DiscoveryModule    ] [node-001] using discovery type [zen]
[2018-12-28T21:37:14,743][INFO ][o.e.n.Node               ] [node-001] initialized
[2018-12-28T21:37:14,743][INFO ][o.e.n.Node               ] [node-001] starting ...
[2018-12-28T21:37:14,914][INFO ][o.e.t.TransportService   ] [node-001] publish_address {172.17.83.229:9300}, bound_addresses {172.17.83.229:9300}
[2018-12-28T21:37:14,927][INFO ][o.e.b.BootstrapChecks    ] [node-001] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2018-12-28T21:37:17,983][INFO ][o.e.c.s.ClusterService   ] [node-001] new_master {node-001}{IU4va5wUQWqbXDi_A7dTng}{fGAieOZtRrePiGn4sQUdUA}{172.17.83.229}{172.17.83.229:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2018-12-28T21:37:18,025][INFO ][o.e.h.n.Netty4HttpServerTransport] [node-001] publish_address {172.17.83.229:9200}, bound_addresses {172.17.83.229:9200}
[2018-12-28T21:37:18,025][INFO ][o.e.n.Node               ] [node-001] started
[2018-12-28T21:37:18,027][INFO ][o.e.g.GatewayService     ] [node-001] recovered [0] indices into cluster_state

如果看到以上這個輸出,則說明是啓動成功啦,最起碼啓動檢查都過了。
如果想後臺運行,在啓動命令中加-d參數即可: bin/elasticsearch -d

5) 訪問測試

此時,我們就可以在瀏覽器上輸入外網地址:端口號進行訪問測試了,如果輸出下圖類似的內容,則說明真的就是啓動成功了,mmp,一波3折哦……
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章