ELK-5.4.1版本的安裝過程

環(huán)境

  • 系統(tǒng)版本 Linux version 2.6.32-696.3.1.el6.x86_64 (mockbuild@c1bl.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) )
  • java版本 openjdk version "1.8.0_131"

安裝版本

  • ElasticSearch 5.4.1
  • Kibana 5.4.1
  • Logstash 5.4.1

部署

0x01 確認(rèn)JDK版本及安裝

  1. 依賴java的最小版本為1.8
yum install java-1.8.0-openjdk
java version

0x02 ElasticSearch安裝

  1. 下載es奶赠,官網(wǎng)下載路徑:https://www.elastic.co/downloads/elasticsearch
  2. 解壓 tar xf elasticsearch-5.4.1.tar.gz
  3. 用戶/目錄/權(quán)限設(shè)置
  • es運行不能使用root用戶,需要創(chuàng)建新用戶
useradd es
  • 新建目錄药有,用于es的數(shù)據(jù)和日志存儲
mkdir -p /data/Logs
mkdir -p /data/Data
  • 設(shè)置目錄所有者為es车柠,否則無法訪問(出現(xiàn)Permission denied的錯誤,記得設(shè)置目錄權(quán)限
chown -R es:es /data/Logs
chown -R es:es /data/Data
chown -R es:es elasticsearch-5.4.1  #注意塑猖,需要設(shè)置權(quán)限
  1. 修改配置文件config/elasticsearch.yml
  • 集群名: cluster.name, 注意: 兩臺機器配置一致
cluster.name: inner_es_cluster
  • 節(jié)點名: node.name, 注意: 兩臺機器配置不同, 一臺為01, 另一臺為02
#第一臺機器
node.name: inner_es_node_01
#第二臺機器
node.name: inner_es_node_02
  • 數(shù)據(jù)路徑: path.data, 為新建立的目錄
path.data: /data/Data/
  • 日志路徑: path.logs
path.logs: /data/Logs
  • LockMemory:
bootstrap.mlockall: true
  • 本機ip: network.host, 注意兩臺機器配置不同, 分貝配置為對應(yīng)機器的內(nèi)網(wǎng)ip
#第一臺機器
network.host: 10.10.44.202
#第二臺機器
network.host: 10.10.44.203
  • 綁定端口竹祷,注意默認(rèn)http.port=9200绵载,transport.tcp.port=9300
#配置Http訪問的端口  
http.port: 9200
#配置節(jié)點之間交互的端口
transport.tcp.port: 9300
  • Discovery配置: 注意這里是兩臺機器內(nèi)網(wǎng)ip+9300端口,注意這里minimum_master_nodes=2, 見最后一點防腦裂說明
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping.unicast.hosts: ["10.10.44.202:9300", "10.10.44.203:9300"]
  1. 設(shè)置es占用內(nèi)存
  • ES-5.4.1版本申尼,在config/jvm.options中設(shè)置為4G(根據(jù)自身機器配置, 配置的內(nèi)存最大不超過機器物理內(nèi)存的75%. 兩個變量值相等, 以獲取最大的性能). 當(dāng)然, 實際使用中4g可能遠(yuǎn)遠(yuǎn)不夠, 這個值僅是個示例
-Xms4g
-Xmx4g
  • 啟用memlock, 提升性能。修改centos配置: /etc/security/limits.conf
    加入, 注意, 示例中用戶為es
es soft memlock unlimited
es hard memlock unlimited

設(shè)置完成谭贪,重啟 /etc/init.d/sshd restart
如果結(jié)果是unlimited, 則無需任何處理, 直接進(jìn)入下一步

ulimit -n
unlimited
  1. ES運行錯誤
  • 以用戶es的身份運行
su es
./bin/elasticsearch   
#或者
runuser -l es -c "/data/tools/elasticsearch/bin/elasticsearch"
  • 問題:max file descriptors
ERROR: [1] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

解決:編輯/etc/security/limits.conf, 加入

es soft nofile 204800
es hard nofile 204800
  • 問題:max threads descriptors
ERROR: [1] bootstrap checks failed
[1]: max threads descriptors [1024] for elasticsearch threads is too low, increase to at least [2048]

解決:編輯/etc/security/limits.conf, 加入

es soft nproc 2048
es hard nproc 4096
  • 問題:system call filters failed to install
ERROR: [1] bootstrap checks failed
[1]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

解決:編輯config/elasticsearch.yml, 加入

bootstrap.system_call_filter: false
  • 問題:max virtual memory areas vm.max_map_count
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決:編輯/etc/sysctl.conf蜡励,加入

vm.max_map_count=262144
然后執(zhí)行sysctl -p  

或者臨時設(shè)置令花,執(zhí)行sysctl -w vm.max_map_count=262144

  • 問題:ES_HEAP_SIZE
Error: encountered environment variables that are no longer supported
Use jvm.options or ES_JAVA_OPTS to configure the JVM
ES_HEAP_SIZE=16g: set -Xms16g and -Xmx16g in jvm.options or add "-Xms16g -Xmx16g" to ES_JAVA_OPTS

解決:ElasticSearch-5.4.1版本的內(nèi)存使用阻桅,在config/jvm.options中設(shè)置,如果設(shè)置了

export ES_HEAP_SIZE=4g
export ES_JAVA_OPTS="-Xms4g -Xmx4g -Xss128m"

需要將環(huán)境變量制空

unset ES_HEAP_SIZE
unset ES_JAVA_OPTS
  1. 啟動測試
  • 以用戶es的身份運行
./bin/elasticsearch
#或者
runuser -l es -c "/data/tools/elasticsearch/bin/elasticsearch -d" #-d代表以damon后臺運行

可以看到啟動日志

[2016-06-30 17:20:26,677][WARN ][bootstrap                ] unable to install syscall filter: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in
[2016-06-30 17:20:27,390][INFO ][node                     ] [inner_es_node_01] version[2.3.3], pid[6415], build[218bdf1/2016-05-17T15:40:04Z]
[2016-06-30 17:20:27,390][INFO ][node                     ] [inner_es_node_01] initializing ...
[2016-06-30 17:20:27,948][INFO ][plugins                  ] [inner_es_node_01] modules [lang-groovy, reindex, lang-expression], plugins [], sites []
[2016-06-30 17:20:27,974][INFO ][env                      ] [inner_es_node_01] using [1] data paths, mounts [[/data (/dev/xvdb1)]], net usable_space [67.4gb], net total_space [98.4gb], spins? [no], types [ext3]
[2016-06-30 17:20:27,974][INFO ][env                      ] [inner_es_node_01] heap size [990.7mb], compressed ordinary object pointers [true]
[2016-06-30 17:20:29,926][INFO ][node                     ] [inner_es_node_01] initialized
[2016-06-30 17:20:29,926][INFO ][node                     ] [inner_es_node_01] starting ...
[2016-06-30 17:20:30,083][INFO ][transport                ] [inner_es_node_01] publish_address {10.0.0.1:9300}, bound_addresses {10.0.0.1:9300}
[2016-06-30 17:20:30,088][INFO ][discovery                ] [inner_es_node_01] inner_es_cluster/odmTjZRHRVaa8Zn4vTPcxA
[2016-06-30 17:21:00,091][WARN ][discovery                ] [inner_es_node_01] waited for 30s and no initial state was set by the discovery
[2016-06-30 17:21:00,099][INFO ][http                     ] [inner_es_node_01] publish_address {10.0.0.1:9200}, bound_addresses {10.0.0.1:9200}
[2016-06-30 17:21:00,099][INFO ][node                     ] [inner_es_node_01] started

等待約一分鐘后, 看到如下日志代表啟動成功

[2016-06-30 17:21:00,099][INFO ][node                     ] [inner_es_node_01] started

確認(rèn)集群是否啟動成功

curl http://10.10.44.202:9200/
{
  "name" : "inner_es_node_01",
  "cluster_name" : "inner_es_cluster",
  "version" : {
    "number" : "2.3.3",
    "build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
    "build_timestamp" : "2016-05-17T15:40:04Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"
}

確認(rèn)健康狀態(tài)兼都,如果為red則需要等待一會嫂沉,或者查看具體原因

curl 10.10.44.202:9200/_cluster/health?pretty
{
  "cluster_name" : "juzi-log",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 2,
  "number_of_data_nodes" : 2,
  "active_primary_shards" : 11,
  "active_shards" : 22,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}
顏色 意義
green 所有主要分片和從分片都可用
yellow 所有主要分片可用,但不是所有從分片都可用
red 不是所有的主要分片都可用
  1. ElasticSearch插件的安裝
    此過程可以稍后再安裝
  • elasticsearch-sql-5.4.1.0
./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.1.0/elasticsearch-sql-5.4.1.0.zip

一定要根據(jù)es的版本扮碧,確定安裝對應(yīng)插件版本
通過遠(yuǎn)程下載再安裝往往特別慢趟章,甚至安裝失敗,可以下載后本地安裝

./bin/elasticsearch-plugin install file:///path/to/elasticsearch-sql-5.4.1.0.zip
  • 安裝完成重新啟動es
    es-5.x版本跟1.x/2.x有很大不一樣
On elasticsearch 1.x / 2.x, visit the elasticsearch-sql web front-end:
http://localhost:9200/_plugin/sql/

On elasticsearch 5.x 需要安裝site-server才可以訪問查看頁面

Then start the web front-end like this:
cd site-server
npm install express --save
node node-server.js 

5.x中啟動node-server.js后臺慎王,訪問 http://yourHost:8080即可出現(xiàn)通過SQL語句查詢頁面蚓土,端口可在site_configuration.json配置
需要注意的是node-server.js只是提供頁面展示,具體查詢調(diào)用的接口是POST http://localhost:9200/_sql/赖淤,需要在nginx層配置當(dāng)為GET請求時訪問http://yourHost:8080蜀漆,POST請求訪問:http://localhost:9200

  1. 參考
    ElasticSearch集群部署文檔
    elasticsearch-sql
    elasticsearch-sql-wiki
    ES插件安裝舉例
    Elasticsearch: 權(quán)威指南 (有關(guān)于es健康狀態(tài)查詢說明)
    Elasticsearch權(quán)威指南(中文版)

  2. 配置說明

#cluster.name: elasticsearch             配置集群名稱  
#node.name: "Franz Kafka"                配置節(jié)點名稱  
#node.master: true                       配置當(dāng)前節(jié)點是否具有可選為master節(jié)點的資格、  
#node.data: true                         配置當(dāng)前節(jié)點是否允許存儲數(shù)據(jù)  
#node.max_local_storage_nodes: 1         配置每個幾點可以啟動的Elasticsearch最大實例個數(shù)  
#index.number_of_shards: 5               配置索引的默認(rèn)分片數(shù)  
#index.number_of_replicas: 1             配置索引的默認(rèn)副本數(shù)  
#path.conf: /path/to/conf                配置文件存放目錄  
#path.data: /path/to/data                配置該節(jié)點索引數(shù)據(jù)的存放目錄咱旱,多個用都好分割  
#path.logs: /path/to/logs                配置日志的存放目錄  
#path.plugins: /path/to/plugins          配置插件安裝目錄  
#network.host: 192.168.0.1               配置節(jié)點綁定的IP和與其他幾點交互的IP  
#transport.tcp.port: 9300                配置節(jié)點之間交互的端口  
#http.port: 9200                         配置Http訪問的端口  
#http.max_content_length: 100mb          配置可允許的文本最大長度  
#minimum_master_nodes: 2                 決定了選主需要的最少節(jié)點數(shù), N/2+1, 兩個節(jié)點即2

0x03 Kibana安裝

  1. 下載kibana5.4.1版本确丢,下載地址:https://www.elastic.co/downloads/kibana
  2. 解壓: tar xf kibana-5.4.1
  3. 修改配置conf/kibana.conf
  • 綁定IP+port
server.port: 5601
server.host: "10.10.44.202"
  • 連接ElasticSearch地址
elasticsearch.url: "http://10.10.44.202:9200"
  1. 運行
[root@bogon kibana-5.4.1]# bin/kibana
  log   [07:08:09.275] [info][status][plugin:kibana@5.4.1] Status changed from uninitialized to green - Ready
  log   [07:08:09.414] [info][status][plugin:elasticsearch@5.4.1] Status changed from uninitialized to yellow - Waiting for Elasticsearch
  log   [07:08:09.470] [info][status][plugin:console@5.4.1] Status changed from uninitialized to green - Ready
  log   [07:08:09.515] [info][status][plugin:elasticsearch@5.4.1] Status changed from yellow to green - Kibana index ready
  log   [07:08:09.516] [info][status][plugin:metrics@5.4.1] Status changed from uninitialized to green - Ready
  log   [07:08:09.716] [info][status][plugin:timelion@5.4.1] Status changed from uninitialized to green - Ready
  log   [07:08:09.722] [info][listening] Server running at http://192.168.2.102:5601
  log   [07:08:09.723] [info][status][ui settings] Status changed from uninitialized to green - Ready

正常運行打印日志,如果啟動失敗會有紅色日志打油孪蕖:Status changed from uninitialized to red

  1. 訪問
http://localhost:5601
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蠕嫁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子毯盈,更是在濱河造成了極大的恐慌剃毒,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搂赋,死亡現(xiàn)場離奇詭異赘阀,居然都是意外死亡,警方通過查閱死者的電腦和手機脑奠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門基公,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宋欺,你說我怎么就攤上這事轰豆。” “怎么了齿诞?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵酸休,是天一觀的道長。 經(jīng)常有香客問我祷杈,道長斑司,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任但汞,我火速辦了婚禮宿刮,結(jié)果婚禮上互站,老公的妹妹穿的比我還像新娘。我一直安慰自己僵缺,他們只是感情好胡桃,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著磕潮,像睡著了一般翠胰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揉抵,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音嗤疯,去河邊找鬼冤今。 笑死,一個胖子當(dāng)著我的面吹牛茂缚,可吹牛的內(nèi)容都是我干的戏罢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼脚囊,長吁一口氣:“原來是場噩夢啊……” “哼龟糕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悔耘,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤讲岁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后衬以,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缓艳,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年看峻,在試婚紗的時候發(fā)現(xiàn)自己被綠了阶淘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡互妓,死狀恐怖溪窒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冯勉,我是刑警寧澤澈蚌,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站灼狰,受9級特大地震影響惜浅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜伏嗜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一坛悉、第九天 我趴在偏房一處隱蔽的房頂上張望伐厌。 院中可真熱鬧,春花似錦裸影、人聲如沸挣轨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卷扮。三九已至,卻和暖如春均践,著一層夾襖步出監(jiān)牢的瞬間晤锹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工彤委, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鞭铆,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓焦影,卻偏偏與公主長得像车遂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子斯辰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

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