ELK集群搭建大型日志系統(tǒng):1.Elasticsearch集群搭建

環(huán)境

[10:18:27 root@elk-01 ~ $]cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

elasticsearch-7.1.1-x86_64.rpm

要點(diǎn)

搜索性能取決于最慢的節(jié)點(diǎn)的響應(yīng)時(shí)間

環(huán)境規(guī)劃

節(jié)點(diǎn)1:Elasticsearch + kafka     192.168.50.14   負(fù)責(zé)存儲(chǔ)數(shù)據(jù)乖篷、可參與 Master 訊據(jù)
節(jié)點(diǎn)2:Elasticsearch + kafka     192.168.50.15   負(fù)責(zé)存儲(chǔ)數(shù)據(jù)徒像、可參與 Master 訊據(jù)
節(jié)點(diǎn)3:Elasticsearch + kafka     192.168.50.16   負(fù)責(zé)存儲(chǔ)數(shù)據(jù)链方、可參與 Master 訊據(jù)
節(jié)點(diǎn)4:Elasticsearch協(xié)調(diào)節(jié)點(diǎn) + Kibana   192.168.50.17   充當(dāng) ES 集群智能負(fù)載均衡器 + Kibana前端展示用頁面使用

第一步:系統(tǒng)優(yōu)化設(shè)置

1.告訴操作系統(tǒng)可以無限制分配內(nèi)存給一個(gè)進(jìn)程

echo '* soft memlock unlimited' >>/etc/security/limits.conf
echo '* hard memlock unlimited' >>/etc/security/limits.conf
cat /etc/security/limits.conf

2.禁用SWAP

## 完全禁用SWAP
## swapoff -a
## 盡量避免使用SWAP
echo 'vm.swappiness = 1' >> /etc/sysctl.conf

3. 修改最大打開文件描述符

echo '* soft nofile 65535' >> /etc/security/limits.conf
echo '* hard nofile 65535' >> /etc/security/limits.conf
cat /etc/security/limits.conf
ulimit -n 65535

4.重啟生效

init 6

第二步:安裝和配置Elasticsearch

下載地址:https://www.elastic.co/cn/downloads/elasticsearch

幫助文檔:https://www.elastic.co/cn/webinars/getting-started-elasticsearch?elektra=startpage

1.下載并安裝

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-x86_64.rpm
rpm -ivh elasticsearch-7.1.1-x86_64.rpm

2.修改配置文件以支持集群

1.注意修改network.host為各節(jié)點(diǎn)IP地址

2.注意修改discovery.zen.ping.unicast.hosts列表

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
cat <<EOF >>/etc/elasticsearch/elasticsearch.yml
## 集群名稱
cluster.name: ELK-Cluster

## 節(jié)點(diǎn)名稱(每個(gè)節(jié)點(diǎn)名稱不能相同)
node.name: elk-01

## 允許 JVM 鎖住內(nèi)存襟齿,禁止操作系統(tǒng)交換出去
# bootstrap.memory_lock: true

## 是否有資格成為主節(jié)點(diǎn)
## 通過 node.master 可以配置該節(jié)點(diǎn)是否有資格成為主節(jié)點(diǎn)澎灸,如果配置為 true,則主機(jī)有資格成為主節(jié)點(diǎn)
## 注意這里是有資格成為主節(jié)點(diǎn),不是一定會(huì)成為主節(jié)點(diǎn)
node.master: true

## 是否是數(shù)據(jù)節(jié)點(diǎn)
## 當(dāng) node.master 和 node.data 均為 false俭正,則該主機(jī)會(huì)作為負(fù)載均衡節(jié)點(diǎn)
node.data: true

## 設(shè)置訪問的地址和端口
network.host: 192.168.50.14
http.port: 9200

## 集群地址設(shè)置
## 配置之后集群的主機(jī)之間可以自動(dòng)發(fā)現(xiàn)
# discovery.zen.ping.unicast.hosts: ["192.168.50.14", "192.168.50.15", "192.168.50.16"]
discovery.seed_hosts: ["192.168.50.14", "192.168.50.15", "192.168.50.16"]
cluster.initial_master_nodes: ["192.168.50.14", "192.168.50.15", "192.168.50.16"] 

## 配置大多數(shù)節(jié)點(diǎn)(通常為主節(jié)點(diǎn)的節(jié)點(diǎn)總數(shù)/ 2 + 1)來防止“裂腦”:
discovery.zen.minimum_master_nodes: 2

## 在完全集群重啟后阻止初始恢復(fù),直到啟動(dòng)N個(gè)節(jié)點(diǎn)
gateway.recover_after_nodes: 2
EOF
vim /etc/elasticsearch/elasticsearch.yml

3.為elasticsearch設(shè)置jdk路徑焙畔,否則啟動(dòng)時(shí)候會(huì)報(bào)錯(cuò)

請(qǐng)根據(jù)自己實(shí)際路徑進(jìn)行修改

cp /etc/sysconfig/elasticsearch /etc/sysconfig/elasticsearch.bak
cat <<EOF >>/etc/sysconfig/elasticsearch
JAVA_HOME=/home/jdk1.8.0_202
EOF

4.設(shè)置堆內(nèi)存(根據(jù)物理內(nèi)存情況設(shè)置)

http://openskill.cn/article/304
https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html
https://www.elastic.co/guide/cn/elasticsearch/guide/current/_limiting_memory_usage.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

## 編輯以下值
## 內(nèi)存設(shè)置為物理內(nèi)存的50%掸读,并且不要超過32G
## 確保這兩個(gè)值相等,防止程序在運(yùn)行時(shí)改變堆內(nèi)存大小宏多, 這是一個(gè)很耗系統(tǒng)資源的過程
cp /etc/elasticsearch/jvm.options /etc/elasticsearch/jvm.options.bak
vim /etc/elasticsearch/jvm.options

-Xms2g
-Xmx2g

5.啟動(dòng)服務(wù)

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl stop elasticsearch.service
systemctl start elasticsearch.service
systemctl status elasticsearch.service

6.驗(yàn)證

## 查看單節(jié)點(diǎn)狀態(tài)
curl -X GET "192.168.50.14:9200/"
curl -X GET "192.168.50.15:9200/"
curl -X GET "192.168.50.16:9200/"

## 查看集群內(nèi)節(jié)點(diǎn)分布
curl -XGET 'http://192.168.50.14:9200/_cat/nodes?pretty'
curl -XGET 'http://192.168.50.15:9200/_cat/nodes?pretty'
curl -XGET 'http://192.168.50.16:9200/_cat/nodes?pretty'

## 檢測(cè)集群健康狀態(tài)
curl 192.168.50.14:9200/_cat/health?v
curl 192.168.50.15:9200/_cat/health?v
curl 192.168.50.16:9200/_cat/health?v

## 查看所有支持的 _cat 命令
curl -XGET 'http://192.168.50.14:9200/_cat?pretty'
curl -XGET 'http://192.168.50.15:9200/_cat?pretty'
curl -XGET 'http://192.168.50.16:9200/_cat?pretty'

    _cat代表查看信息
    nodes為查看節(jié)點(diǎn)信息儿惫,默認(rèn)會(huì)顯示為一行,所以就用刀了?preety讓信息更有好的顯示
    ?preety讓輸出信息更友好的顯示

第三步:安裝中文分詞器 elasticsearch-analysis-ik

https://github.com/medcl/elasticsearch-analysis-ik

1.創(chuàng)建目錄

mkdir /usr/share/elasticsearch/plugins/ik

2.下載并解壓

cd /usr/share/elasticsearch/plugins/ik
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.1.1.zip
unzip elasticsearch-analysis-ik-7.1.1.zip

3.重啟 Elasticsearch

systemctl stop elasticsearch.service
systemctl start elasticsearch.service
systemctl status elasticsearch.service

4.驗(yàn)證

## 1.登錄 Kibana 
## 2.Dev Tools - Console

    GET _analyze?pretty
    {
      "analyzer": "ik_smart",
      "text":"安徽省長(zhǎng)江流域"
    }

    GET _analyze?pretty
    {
      "analyzer": "ik_max_word",
      "text":"安徽省長(zhǎng)江流域"
    }

第四步:常用命令

## 查詢所有索引的分片和副本信息
GET _settings?pretty
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伸但,一起剝皮案震驚了整個(gè)濱河市肾请,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌更胖,老刑警劉巖铛铁,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異却妨,居然都是意外死亡饵逐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門彪标,熙熙樓的掌柜王于貴愁眉苦臉地迎上來倍权,“玉大人,你說我怎么就攤上這事捐下≌饲拢” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵坷襟,是天一觀的道長(zhǎng)奸柬。 經(jīng)常有香客問我,道長(zhǎng)婴程,這世上最難降的妖魔是什么廓奕? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮档叔,結(jié)果婚禮上桌粉,老公的妹妹穿的比我還像新娘。我一直安慰自己衙四,他們只是感情好铃肯,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著传蹈,像睡著了一般押逼。 火紅的嫁衣襯著肌膚如雪步藕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天挑格,我揣著相機(jī)與錄音咙冗,去河邊找鬼。 笑死漂彤,一個(gè)胖子當(dāng)著我的面吹牛雾消,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挫望,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼立润,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了媳板?” 一聲冷哼從身側(cè)響起范删,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拷肌,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旨巷,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巨缘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了采呐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片若锁。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖斧吐,靈堂內(nèi)的尸體忽然破棺而出又固,到底是詐尸還是另有隱情,我是刑警寧澤煤率,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布仰冠,位于F島的核電站,受9級(jí)特大地震影響蝶糯,放射性物質(zhì)發(fā)生泄漏洋只。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一昼捍、第九天 我趴在偏房一處隱蔽的房頂上張望识虚。 院中可真熱鬧,春花似錦妒茬、人聲如沸担锤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肛循。三九已至铭腕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間育拨,已是汗流浹背谨履。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留熬丧,地道東北人笋粟。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像析蝴,于是被迫代替她去往敵國(guó)和親害捕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容