Centos 7安裝和配置 ElasticSearch入門小白

安全劍客發表於2019-03-03

實驗環境:

作業系統:Centos 7.5

伺服器ip:192.168.1.198

執行使用者:root

網路環境:Internet

在企業生產環境有很多伺服器的時候、很多業務模組的日誌的時候運維人員需要每時每刻檢視日誌,這樣的工作量是非常龐大的,這樣就沒有時間做其它的工作, Elasticsearch是個開源分散式搜尋引擎,它的特點有:開源、靈活性、分散式,零配置,自動發現,索引自動分片,索引副本機制,restful風格介面,多資料來源,自動搜尋負載等,配置簡單,一般都是結合Logstash、kibana使用,現在做運維的都知道有一個ELK,就是Elasticsearch、Logstash、kibana的簡寫,使用比較廣泛、功能強大,簡化運維操作步驟,還可以實現有錯誤日誌或者故障自動報警,如果伺服器有故障,可以通過告警方式傳送個管理員,支援企業微信、企業釘釘、簡訊等告警方式,大家可以嘗試去部署,目前還支援docker部署。

Elasticsearch 是用來儲存各類日誌格式的元件;Logstash是用來收集、處理、分析日誌等,並將其儲存供以後使用;kibana是一個web視覺化介面的日誌查詢元件,它可以為 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 介面,可以幫助您彙總、分析和搜尋重要資料日誌展示出來。這3個元件都是開源的,而且是在Linux平臺上面執行的,所以還是需要有點Linux基礎才能部署,現在大型的企業一般都是在Linux部署ELK系統,如果沒有Linux基礎的可以去了解下Linux基礎知識或者參考 《Linux就該這麼學》 網站上面的資料比較全面,直接在百度裡面輸入這本書的名稱就能找到官網,此書名的作者是 劉遄 ,此書比較適合企業應用,本文主要介紹在Linux作業系統下面如何安裝及部署ElasticSearch元件。

Elasticsearch 非常容易上手,Elasticsearch也是一個基於Apache的開源搜尋引擎來提供了許多合理的預設預設值,並對初學者隱藏了複雜的搜尋引擎理論。它開箱即用(安裝即可使用),只需懂點 Linux 基礎及很少的學習既可在生產環境中使用,Elasticsearch也使用Java開發,並使用Lucene作為其核心架構來實現所有索引和搜尋的功能性的元件,但是它的目的是通過簡單的 RESTful API 來隱藏Lucene的複雜性,從而讓全文搜尋變得簡單,比較適合於初學者。

一、執行環境

JDK :1.8.0_171(JAVA_SE)

Elasticsearch-6.3.1 (JDK 只能用1.8版本)

Logstash-6.3.1

kibana-6.3.1

二、安裝Java、Elasticsearch

1 、安裝JDK

下載JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ;本環境下載的是64位tar.gz包,將安裝包拷貝至安裝伺服器/usr/local目錄

[root@localhost ~]# cd /usr/local/ 

[root@localhost local]# tar -xzvf jdk-8u171-linux-x64.tar.gz

[root@localhost local]# mv jdk1.8.0_171 java

 

2 配置JDK環境變數

方法一:

[root@localhost local]# vim /etc/profile

將下面的內容新增至檔案末尾(假如伺服器需要多個JDK版本,為了ELK不影響其它系統,也可以將環境變數的內容稍後新增到ELK的啟動指令碼中)

JAVA_HOME=/usr/local/java

JRE_HOME=/usr/local/java/jre

CLASSPATH=.:$JAVA_HOME/lib:/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$PATH:$JAVA_HOME/bin

 

[root@localhost local]# source /etc/profile

[root@localhost local]# chmod +x /etc/rc.local

[root@localhost local]# vim /etc/rc.local

source /etc/profile             // 新增此行

 

方法二:

直接吧java.sh放到/etc/profile.d/,重啟系統

[root @localhost  local]# vim /etc/profile.d/ java.sh

export JAVA_HOME=/usr/local/java

export JRE_HOME=${JAVA_HOME}/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH

 

[root@centos7 ~]# java -version  // 檢視java版本,測試JDK是否配置成功

java version "1.8.0_171"

Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

 

配置limit相關引數

[root@localhost local]# vim /etc/security/limits.conf

新增以下內容

* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096

 

ulimit -u 4096

 

[root@localhost local]vim /etc/security/limits.d/20-nproc.conf 

修改如下內容:

* soft nproc 1024 # 修改為 * soft nproc 2048  或soft nproc 4096   (根據CPU定,最低是2048)

#vim /etc/sysctl.conf 

// 新增下面配置: v

m.max_map_count=655360

// 並執行命令:

 #sysctl -p

 

編輯elasticsearch配置檔案

#vim usr/local/elasticsearch-5.6.0/config/elasticsearch.yml

cluster.name: nmtx-cluster

node.name: node-1

path.data: /usr/local/elk/data

path.logs: /usr/local/elk/logs

network.host: 192.168.3.104

http.port: 9200

 

建立執行ELK的使用者

[root@localhost local]# groupadd elk

[root@localhost local]# useradd -g elk elk

 

建立ELK執行目錄

[root@localhost local]# mkdir -p /usr/local/elk

[root@localhost local]# chown -R elk:elk /usr/local/elk

 

關閉防火牆:

[root@localhost ~]# iptables -F

以上全部是root使用者完成

 

3 、安裝ELK

以下由elk使用者操作

以elk使用者登入伺服器

下載ELK安裝包:https://www.elastic.co/downloads,並上傳到伺服器且解壓,解壓命令:tar -xzvf 包名

配置Elasticsearch

修改如下內容:

儲存退出

啟動Elasticsearch

檢視是否啟動成功

用瀏覽器訪問:http://192.168.10.169:9200

Elasticsearch 安裝完畢

 

vi /etc/security/limits.conf  

// 新增如下內容: 

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096  

 

問題三:max number of threads [1024] for user [lish] likely too low, increase to at least [2048] 

解決:切換到root使用者,進入limits.d目錄下修改配置檔案。

vi /etc/security/limits.d/90-nproc.conf 

// 修改如下內容: 

* soft nproc 1024 # 修改為 * soft nproc 2048

 

問題四:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144] 

解決:切換到root使用者修改配置sysctl.conf 

vi /etc/sysctl.conf 

// 新增下面配置:

vm.max_map_count=655360

// 並執行命令:

sysctl -p 然後,重新啟動elasticsearch,即可啟動成功。

 

4 、測試,出現下面說明啟動elasticsearch成功。

[root@centos7 local]# curl http://127.0.0.1:9200

{

"name" : "pcncnlr",

"cluster_name" : "elasticsearch",

"cluster_uuid" : "uCqIPKYqT_au90cjmtj1rw",

"version" : {

"number" : "6.3.1",

"build_flavor" : "default",

"build_type" : "tar",

"build_hash" : "eb782d0",

"build_date" : "2018-06-29T21:59:26.107521Z",

"build_snapshot" : false,

"lucene_version" : "7.3.1",

"minimum_wire_compatibility_version" : "5.6.0",

"minimum_index_compatibility_version" : "5.0.0"

},

"tagline" : "You Know, for Search"

}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2637433/,如需轉載,請註明出處,否則將追究法律責任。

相關文章