前言
今天跟大家繼續(xù)分享一個(gè)ELK(Elasticsearch + Logstash + Kibana)中的E,就是Elasticsearch搜索引擎。本文會(huì)教大家如何快速搭建一個(gè)最小配置的搜索引擎,希望大家喜歡。

Elasticsearch是什么
Elasticsearch是一個(gè)基于Lucene庫(kù)的搜索引擎。它提供了一個(gè)分布式、支持多租戶(hù)的全文搜索引擎,具有HTTP Web接口和無(wú)模式JSON文檔。Elasticsearch是用JAVA開(kāi)發(fā)的,并在Apache許可證下作為開(kāi)源軟件發(fā)布。

簡(jiǎn)單介紹
下載地址
我們進(jìn)入elasticsearch官網(wǎng)地址
https://www.elastic.co/downloads/past-releases下載對(duì)應(yīng)版本

這里以6.4.0版本為例,下載
elasticsearch-6.4.0.tar.gz。
安裝步驟
- 解壓elasticsearch-6.4.0.tar.gz
- 進(jìn)入elasticsearch-6.4.0文件夾下的config目錄,修改 elasticsearch.yml 文件配置,請(qǐng)根據(jù)實(shí)際情況進(jìn)行配置,下面是示例:
$ vi elasticsearch.yml
##配置es的集群名稱(chēng),默認(rèn)是elasticsearch,es會(huì)自動(dòng)發(fā)現(xiàn)在同一網(wǎng)段下的es,如果在同一網(wǎng)段下有多個(gè)集群,就可以用這個(gè)屬性來(lái)區(qū)分不同的集群。
cluster.name: my-es
#節(jié)點(diǎn)名稱(chēng)
node.name: node-1
##設(shè)置索引數(shù)據(jù)的存儲(chǔ)路徑
path.data: /home/lab/3rd/elasticsearch-6.4.0/data
#設(shè)置日志的存儲(chǔ)路徑
path.logs: /home/lab/3rd/elasticsearch-6.4.0/logs
#設(shè)置當(dāng)前的ip地址,通過(guò)指定相同網(wǎng)段的其他節(jié)點(diǎn)會(huì)加入該集群中
network.host: 10.10.10.11
#設(shè)置對(duì)外服務(wù)的http端口
http.port: 9200
# 設(shè)置節(jié)點(diǎn)間交互的tcp端口,默認(rèn)是9300
transport.tcp.port: 19300
#設(shè)置集群中master節(jié)點(diǎn)的初始列表,可以通過(guò)這些節(jié)點(diǎn)來(lái)自動(dòng)發(fā)現(xiàn)新加入集群的節(jié)點(diǎn)
discovery.zen.ping.unicast.hosts: ["10.10.10.11"]
#centos6不支持SecComp,而ES默認(rèn)bootstrap.system_call_filter為true進(jìn)行檢測(cè),所以導(dǎo)致檢測(cè)失敗,失敗后直接導(dǎo)致ES不能啟動(dòng)。
bootstrap.system_call_filter: false
- 啟動(dòng)搜索引擎
$ cd elasticsearch-<version>
./bin/elasticsearch -d
沒(méi)報(bào)錯(cuò),恭喜你啟動(dòng)成功
驗(yàn)證搜索引擎是否正常服務(wù)
開(kāi)始搜索
$ curl -v 'http://10.10.10.11:9200/?pretty'
* About to connect() to 10.10.10.11 port 9200 (#0)
* Trying 10.10.10.11... connected
* Connected to 10.10.10.11 (10.10.10.11) port 9200 (#0)
> GET /?pretty HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: 10.10.10.11:9200
> Accept: */*
>
< HTTP/1.1 200 OK
< content-type: Application/json; charset=UTF-8
< content-length: 484
<
{
"name" : "node-1",
"cluster_name" : "my-es",
"cluster_uuid" : "rQ4gmI5cT1ay3SsKpCkYeg",
"version" : {
"number" : "6.4.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "595516e",
"build_date" : "2018-08-17T23:18:47.308994Z",
"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"
}
* Connection #0 to host 10.10.10.11 left intact
* Closing connection #0
接口響應(yīng)正常,代表部署成功。
但是數(shù)據(jù)我們還不能直觀看到,當(dāng)我們搜索引擎有數(shù)據(jù)的時(shí)候,我們可以用Kibana來(lái)展示數(shù)據(jù)。
結(jié)束語(yǔ)
今天只是跟大家分享如何搭建ELK中的E搜索引擎,后續(xù)會(huì)跟大家介紹( Logstash + Kibana),敬請(qǐng)期待。