二骑疆、Elasticsearch安裝及配置-Set up Elasticsearch

一贿肩、概述

本篇參考鏈接:
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html
es各個版本所支持的操作系統(tǒng)清單見下面鏈接:
https://www.elastic.co/cn/support/matrix
這里不做安裝的介紹座哩,涉及如下內容

  • 配置ES

二、Configuring Elasticsearch 配置ES

官方說默認配置已經優(yōu)化的不錯了趣席,稍微改點兒就得了兵志,而且大部分的配置可以通過
Cluster Update Settings API進行修改
ES有三個配置文件:

  • elasticsearch.yml es基礎配置
  • jvm.options jvm配置
  • log4j2.properties 日志配置
    默認的配置文件路徑在$ES_HOME/config,也可以通過修改ES_PATH_CONF環(huán)境變量來執(zhí)行配置文件的路徑宣肚,例:export ES_PATH_CONF=/path/to/my/config. ./bin/elasticsearch
    配置文件采用YAML的格式

1想罕、各種配置:

后續(xù)用到了再詳細看吧

  • 1、Setting JVM options
    官網講霉涨,一般不用你配置按价,一般要調整的是heap size惭适,堆的大小
    有幾個約定的東西:
#表示JDK8啟用
8:-Xmx2g
#表示JDK版本大于8啟用
8-:-Xmx2g
#表示JDK版本大于介于8和9之間啟用
8-9:-Xmx2g

另一種指定JVM參數的方式是添加環(huán)境變量 ES_JAVA_OPTS,例子:

export ES_JAVA_OPTS="$ES_JAVA_OPTS -Djava.io.tmpdir=/path/to/temp/dir"
./bin/elasticsearch

三、Important Elasticsearch configuration 重要配置

在上生產之前嗡载,下面幾個配置是需要考慮的:

1窑多、Path settings 路徑配置

path.data 和 path.log是必須配置的,而且可以配置多個路徑洼滚,以path.data為例

path:
  data:
    - /mnt/elasticsearch_1
    - /mnt/elasticsearch_2
    - /mnt/elasticsearch_3

2埂息、cluster.name 集群名稱

默認為elasticsearch,用于集群的管理

3遥巴、network.host 節(jié)點的IP

用于其他節(jié)點發(fā)現或者連接

4千康、Discovery and cluster formation settings 集群發(fā)現配置

下面兩個配置主要用于集群見發(fā)現及master的選舉

  • discovery.seed_hosts
    默認配置下,會從本機找本機9300 ~ 9305端口的es實例铲掐,但是生產上一般是不同的host拾弃,這個時候就需要手工指定集群中所有可能成為master的節(jié)點,格式為host1:port1,host2:port2(逗號分隔)摆霉,也可以不寫port砸彬,這時候會使用transport.profiles.default.port,如果這個也沒有斯入,那么會使用默認的transport.port砂碉,如果使用IPV6,則需要用括號包起來
  • cluster.initial_master_nodes
    生產模式下刻两,第一次啟動的時候要指定可能成為master的node
    例子:
discovery.seed_hosts:
   - 192.168.1.10:9300
   - 192.168.1.11 
   - seeds.mydomain.com 
cluster.initial_master_nodes: 
   - master-node-a
   - master-node-b
   - master-node-c

這個配置在搭建集群的時候詳細講解增蹭,這里不過多深入

5、Setting the heap size 設置堆內存大小

  • Xmx 和 Xms設置成物理內存的一半(50%)磅摹,因為ES還會使用額外的內存做一些操作滋迈,會利用操作系統(tǒng)的緩存來優(yōu)化文件的讀取霎奢,降低網絡的開銷,這些都會耗費額外的內存
  • 大小不要超過JVM的瓶頸(大約32GB)
  • 不要超過zero-based compressed oops的大小
    可以設置-XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode來觀察zero-based compressed oops的大小饼灿,通常26GB是最佳選擇幕侠,原則上最大不超過30GB,CompressedOopsMode至少需要4G內存碍彭,所以晤硕,如果分配給ES的內存小于4GB,是不會啟用Oops的

6庇忌、JVM heap dump path

可以在 jvm.options 中通過 -XX:HeapDumpPath=xxxxx來指定

7舞箍、GC logging

ES默認打開GC logging,每個日志文件64MB皆疹,最多2GB疏橄,超過2GB,覆蓋原有日志

8略就、Temp directory

es啟動的時候會在系統(tǒng)的臨時目錄下建立es專用的臨時目錄捎迫,但是有些linux發(fā)行版本會定時清理,這個不是我們想看到的表牢,所以最好指定一個es的專用臨時目錄立砸,可以通過 $es_tmpdir 環(huán)境變量來指定,并且設置只有啟動es的用戶可以訪問初茶。

9颗祝、JVM fatal error logs

JVM致命錯誤日志,可以通過修改 jvm.options中的-XX:ErrorFile=xxxx來指定

四恼布、Important System Configuration 重要的系統(tǒng)設置

1螺戳、Configuring system settings 系統(tǒng)設置

  • ulimit設置
    設置linux允許打開的文件個數的限制 ulimit -n 65535
    永久修改:/etc/security/limits.conf 增加:elasticsearch - nofile 65535
    elasticsearch 為啟動es的用戶

2、Disable swapping 禁用swapping

這個東西會增加JVM進行GC的持續(xù)時間折汞,機器反應慢倔幼,甚至宕機
禁用swap的幾種方式

  • Disable all swap files
    臨時設置:sudo swapoff -a
    永久設置:修改 /etc/fstab ,將所有含有 swap 的行注釋掉
  • Configure swappiness
    將 vm.swappiness 設置為 1
  • Enable bootstrap.memory_lock 鎖定es使用的內存不被swap
    在config/elasticsearch.yml中新增一行:bootstrap.memory_lock: true
    切記這個鎖住的內存不能大于JVM的能力爽待,否則會啟動失敗
    啟動后可以用下面的命令查詢狀態(tài)
GET _nodes?filter_path=**.mlockall

3损同、File descriptors 設置

修改/etc/security/limits.conf,增加ulimit -n 65535或者將nofile 設置為65535
可以通過下面的命令查看設置

GET _nodes/stats/process?filter_path=**.max_file_descriptors

4鸟款、Virtual memory 虛擬內存設置

es默認使用mmapfs路徑存儲索引膏燃,系統(tǒng)中mmap的設置太低,需要加大

  • 臨時設置:sysctl -w vm.max_map_count=262144
  • 永久設置:修改/etc/sysctl.conf何什,修改 vm.max_map_count

5组哩、Number of threads 線程數量設置

修改/etc/security/limits.conf,將nproc設置為4096 (這個值是es推薦的)

6、DNS cache settings

7伶贰、JNA temporary directory not mounted with noexec

五蛛砰、Bootstrap Checks 啟動前的檢查

一旦設置了transport.host(不是localhost或者127.0.0.1),es認為你啟用了生產模式黍衙,生產模式就會啟用Bootstrap Checks泥畅,如果不符合,則拒絕啟動

  • Single-node discovery
    將 discovery.type 修改為 single-node即可琅翻,這種情況下位仁,不會進行檢查
  • Force the bootstrap checks 強制檢查
    如果設置了single-node discovery,但是又想檢查望迎,可以設置給ES_JAVA_OPTS環(huán)境變量增加一條:-Des.enforce.bootstrap.checks=true

1障癌、heap size check

會檢查 -Xms與-Xmx是否一致凌外,不一致巴拉巴拉會產生一堆問題等等

2辩尊、File descriptors check

3、Memory lock check

在做Full GC的時候康辑,JVM會檢查所有的heap摄欲,如果這些heap的一部分被swap出去,則需要在GC的時候先swap回來疮薇,這樣會增加系統(tǒng)間的文件傳輸的開銷胸墙,所以會檢查bootstrap.memory_lock

4、Maximum number of theads check

5按咒、Max file size check

6迟隅、Maximum size virtual memory check

7、Maximum map count check

8励七、Client JVM check

9智袭、Use serial collector check

杜絕使用 serial collector,使用CMS掠抬,并發(fā)垃圾回收機制

10吼野、System call filter check

11、OnError and OnOutOfMemoryError checks

12两波、Early-access check

13瞳步、G1GC check

14、All permission check

15腰奋、Discovery configuration check

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末单起,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子劣坊,更是在濱河造成了極大的恐慌馏臭,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異括儒,居然都是意外死亡绕沈,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門帮寻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乍狐,“玉大人,你說我怎么就攤上這事固逗∏瞅剑” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵烫罩,是天一觀的道長惜傲。 經常有香客問我,道長贝攒,這世上最難降的妖魔是什么盗誊? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮隘弊,結果婚禮上哈踱,老公的妹妹穿的比我還像新娘。我一直安慰自己梨熙,他們只是感情好开镣,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咽扇,像睡著了一般邪财。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上质欲,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天树埠,我揣著相機與錄音,去河邊找鬼把敞。 笑死弥奸,一個胖子當著我的面吹牛,可吹牛的內容都是我干的奋早。 我是一名探鬼主播盛霎,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼耽装!你這毒婦竟也來了愤炸?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤掉奄,失蹤者是張志新(化名)和其女友劉穎规个,沒想到半個月后凤薛,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡诞仓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年缤苫,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墅拭。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡活玲,死狀恐怖,靈堂內的尸體忽然破棺而出谍婉,到底是詐尸還是另有隱情舒憾,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布穗熬,位于F島的核電站镀迂,受9級特大地震影響,放射性物質發(fā)生泄漏唤蔗。R本人自食惡果不足惜探遵,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望措译。 院中可真熱鬧别凤,春花似錦饰序、人聲如沸领虹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽塌衰。三九已至,卻和暖如春蝠嘉,著一層夾襖步出監(jiān)牢的瞬間最疆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工蚤告, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留努酸,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓杜恰,卻偏偏與公主長得像获诈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子心褐,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348