Elasticsearch簡介
ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎
基於RESTful web接口。Elasticsearch是用Java開發的,並作爲Apache許可條款下的開放源碼發佈
是當前流行的企業級搜索引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。
實驗環境
1、兩臺elk server
172.20.7.50 [node1]
172.20.7.52 [node2]
2、兩臺logstash
172.20.7.56 [node6]
172.20.7.57 [node7]
3、web server服務器
172.20.7.55 [node5]
4、redis 服務器
172.20.7.56 [node5]
編譯安裝Elasticsearch
Elasticsearch是用java 開發的,新版的Elasticsearch需要jdk1.8以上
[root@node1 /data]#wget http://192.168.137.53/yum/Elasticsearch/elasticsearch-6.4.3.rpm
[root@node1 /data]#wget http://192.168.137.53/yum/Elasticsearch/jdk-8u191-linux-x64.rpm
安裝elasticsearch、jdk
[root@node1 /data]#yum -y install elasticsearch-6.4.3.rpm jdk-8u191-linux-x64.rpm
Elasticsearch常改的兩個配置文件
# 在/etc/elasticsearch目錄下jvm.options、elasticsearch.yml
# 修改主配置文件elasticsearch.yml,做集羣的話 第二臺集羣的集羣名稱要跟第一臺的要一致,這裏第二臺的配置跟這裏都一樣的
[root@node1 /data]#vim /etc/elasticsearch/elasticsearch.yml
cluster.name: dklwj-elk 集羣名稱
node.name: node1 集羣身份ID
path.data: /elk/data 存放日誌收集的存放路徑
path.logs: /elk/logs elk自身日誌存放路徑
network.host: 172.20.7.52 監聽地址
http.port: 9200 監聽端口、還有一個9300端口、用來同步數據的
discovery.zen.ping.unicast.hosts: ["172.20.7.50", "172.20.7.52"]
創建elk日誌收集保存路徑和elk自身日誌存放路徑,並改變屬組和屬主爲elasticsearch
[root@node1 /data]#mkdir /elk/{data,logs} -p
[root@node1 /data]#chown -R elasticsearch.elasticsearch /elk/
啓動服務
[root@node1 /data]#systemctl start elasticsearch.service
設爲開機自起
[root@node1 ~]#systemctl enable elasticsearch.service
查看監聽的端口
[root@node1 /data]#ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 ::ffff:172.20.7.50:9200 :::*
LISTEN 0 128 ::ffff:172.20.7.50:9300 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 100 ::1:25 :::*
查看啓動後生成的日誌文件
[root@node1 ~]#ll /elk/logs/
total 16
-rw-r--r-- 1 elasticsearch elasticsearch 0 Nov 29 10:21 dklwj-elk_access.log
-rw-r--r-- 1 elasticsearch elasticsearch 263 Nov 29 10:21 dklwj-elk_deprecation.log
-rw-r--r-- 1 elasticsearch elasticsearch 0 Nov 29 10:21 dklwj-elk_index_indexing_slowlog.log
-rw-r--r-- 1 elasticsearch elasticsearch 0 Nov 29 10:21 dklwj-elk_index_search_slowlog.log
-rw-r--r-- 1 elasticsearch elasticsearch 9215 Nov 29 10:23 dklwj-elk.log
通過瀏覽器查看
安裝elasticsearch-head
這裏就用docker來跑elasticsearch-head
先下載docker的rpm安裝包,這裏我本地一臺專用存放安裝包的機器上下的
[root@node1 ~]#wget http://172.20.7.53/yum/Elasticsearch/docker-ce-18.06.1.ce-3.el7.x86_64.rpm
使用yum安裝docker即可,不過它需要依賴yum倉庫和epel源。要提前配置好
[root@node1 ~]#yum -y install docker-ce-18.06.1.ce-3.el7.x86_64.rpm
啓動docker
[root@node1 ~]# systemctl start docker
從本地服務器上下載elasticsearch-head-5.tar.gz 打包好的docker鏡像文件
[root@node1 ~]#wget http://172.20.7.53/yum/Elasticsearch/elasticsearch-head-5.tar.gz
使用docker load加載進來
[root@node1 ~]#docker load -i elasticsearch-head-5.tar.gz
# 查看導入進來的docker鏡像
[root@node1 ~]#docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mobz/elasticsearch-head 5 b19a5c98e43b 23 months ago 824MB
使用docker run啓動一個容器讓它運行在後臺,並把端口暴露出來
[root@node1 ~]#docker run --name elk-head -d -p 9100:9100 b19a5c98e43b
安裝好elasticsearch-head之後還需要把elasticsearch加入到裏面去,修改配置文件在最末加上兩行
[root@node1 ~]#vim /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
然後需要重啓elasticsearch服務才能生效
[root@node1 ~]#systemctl restart elasticsearch.service
查看docker暴露出來的9100、和elasticsearch端口
[root@node1 ~]#ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :::22 :::*
LISTEN 0 128 :::9100 :::*
LISTEN 0 128 ::ffff:172.20.7.50:9200 :::*
LISTEN 0 128 ::ffff:172.20.7.50:9300 :::*