Elasticsearch配置文件示例示范
一 前言
在elasticsearch\config目錄下,有三個(gè)核心的配置文件:
- elasticsearch.yml,es相關(guān)的配置。
- jvm.options,Java jvm相關(guān)參數(shù)的配置。
- log4j2.properties,日志相關(guān)的配置,因?yàn)閑s采用了log4j的日志框架。
這里以elasticsearch6.5.4版本為例,并且由于版本不同,配置也不太也一樣,僅作參考!
二 elasticsearch.yml
2.1 Cluster
- 配置集群名稱,由多個(gè)es實(shí)例組成的集群,有一個(gè)共同的名稱。
cluster.name: my-application
- 集群端口設(shè)置。
transport.tcp.port: 9300
- 防止同一個(gè)shard的主副本存在同一個(gè)物理機(jī)上。
cluster.routing.allocation.same_shard.host:true
- 初始化數(shù)據(jù)恢復(fù)時(shí),并發(fā)恢復(fù)線程的個(gè)數(shù),默認(rèn)是4個(gè)。
cluster.routing.allocation.node_initial_primaries_recoveries: 4
- 添加刪除節(jié)點(diǎn)或者負(fù)載均衡時(shí)并發(fā)恢復(fù)線程的個(gè)數(shù)。默認(rèn)是4個(gè)。
cluster.routing.allocation.node_concurrent_recoveries: 4
2.2 Node
- 節(jié)點(diǎn)名稱配置,一個(gè)es實(shí)例其實(shí)是一個(gè)es進(jìn)程,在集群中被稱為節(jié)點(diǎn)。如果一個(gè)服務(wù)器上配置集群,各節(jié)點(diǎn)的名稱不能重復(fù)。
node.name: node-1
- 為節(jié)點(diǎn)添加自定義屬性,
node.attr.rack: r1
- 該節(jié)點(diǎn)是否有資格成為主節(jié)點(diǎn),默認(rèn)為true。
node.master: true
- 設(shè)置節(jié)點(diǎn)是否存儲(chǔ)數(shù)據(jù)。
node.data: true
- 設(shè)置默認(rèn)主分片的個(gè)數(shù),默認(rèn)為5片,需要說明的是,主分片一經(jīng)分配則無法更改。
index.number_of_shards: 5
- 設(shè)置默認(rèn)復(fù)制分片的個(gè)數(shù),默認(rèn)一個(gè)主分片對(duì)應(yīng)一個(gè)復(fù)制分片,需要說明的是,復(fù)制分片可以手動(dòng)調(diào)整。
index.number_of_replicas: 1
- 設(shè)置數(shù)據(jù)恢復(fù)時(shí)限制的帶寬,默認(rèn)0及不限制。
indices.recovery.max_size_per_ser: 0
- 設(shè)置這個(gè)參數(shù)來限制從其它分片恢復(fù)數(shù)據(jù)時(shí)最大同時(shí)打開并發(fā)流的個(gè)數(shù),默認(rèn)為5。
indices.recovery.concurrent_streams: 5
- 設(shè)置數(shù)據(jù)恢復(fù)時(shí)限制的帶寬,默認(rèn)0及不限制。
indices.recovery.max_size_per_ser: 0
- 設(shè)置這個(gè)參數(shù)來限制從其它分片恢復(fù)數(shù)據(jù)時(shí)最大同時(shí)打開并發(fā)流的個(gè)數(shù),默認(rèn)為5。
indices.recovery.concurrent_streams: 5
2.3 Paths
- 存儲(chǔ)數(shù)據(jù)路徑設(shè)置,多個(gè)路徑以英文狀態(tài)的逗號(hào)分隔,默認(rèn)根目錄下的conf目錄。
path.data: /path/to/data # path.data: /path/to/data1,/path/to/data1
- 設(shè)置臨時(shí)文件存儲(chǔ)路徑,默認(rèn)是es目錄下的work目錄。
path.work: /path/to/work
- 日志文件路徑,默認(rèn)為根目錄下的logs目錄。
path.logs: /path/to/logs
- 設(shè)置日志文件的存儲(chǔ)路徑,默認(rèn)是es目錄下的logs目錄。
path.logs: /path/to/logs
- 設(shè)置插件的存放路徑,默認(rèn)是es目錄下的plugins目錄。
path.plugins: /path/to/plugins
2.4 Network
- 為es實(shí)例綁定特定的IP地址。
network.host: 192.168.0.1
上面的設(shè)置可以拆分為兩個(gè)參數(shù)。
network.bind_host: 192.168.0.1 # 設(shè)置綁定的ip地址,ipv4或ipv6都可以 network.publish_host: 192.168.0.1 # 設(shè)置其它節(jié)點(diǎn)和該節(jié)點(diǎn)交互的ip地址,如果不設(shè)置它會(huì)自動(dòng)判斷,值必須是個(gè)真實(shí)的ip地址
- 為es實(shí)例設(shè)置特定的端口,默認(rèn)為9200端口。
http.port: 9200
2.5 Discovery
- 設(shè)置是否打開多播發(fā)現(xiàn)節(jié)點(diǎn),默認(rèn)是true。
discovery.zen.ping.multicast.enabled: true
- 配置es單播發(fā)現(xiàn)列表,在es啟動(dòng)時(shí),通過這個(gè)列表發(fā)現(xiàn)別的es實(shí)例,從而加入集群。
discovery.zen.ping.unicast.hosts: ["host1", "host2"] discovery.zen.ping.unicast.hosts: ["10.0.0.1", "10.0.0.3:9300", "10.0.0.6[9300-9400]"]
discovery.zen.minimum_master_nodes
設(shè)置是告訴集群有多少個(gè)節(jié)點(diǎn)有資格成為主節(jié)點(diǎn),一般的規(guī)則是集群節(jié)點(diǎn)數(shù)除以2(向下取整)再加一。比如3個(gè)節(jié)點(diǎn)集群要設(shè)置為2,這個(gè)試著是為了防止腦裂問題。- 設(shè)置集群中自動(dòng)發(fā)現(xiàn)其它節(jié)點(diǎn)時(shí)ping連接超時(shí)時(shí)間,默認(rèn)為3秒,對(duì)于比較差的網(wǎng)絡(luò)環(huán)境可以高點(diǎn)的值來防止自動(dòng)發(fā)現(xiàn)時(shí)出錯(cuò)。
discovery.zen.ping.timeout: 3s
2.6 Memory
- 啟動(dòng)時(shí)鎖定內(nèi)存,默認(rèn)為true,因?yàn)楫?dāng)jvm開始swapping時(shí)es的效率 會(huì)降低,所以要保證它不swap,可以把ES_MIN_MEM和ES_MAX_MEM兩個(gè)環(huán)境變量設(shè)置成同一個(gè)值,并且保證機(jī)器有足夠的內(nèi)存分配給es。 同時(shí)也要允許elasticsearch的進(jìn)程可以鎖住內(nèi)存,linux下可以通過ulimit -l unlimited命令
bootstrap.memory_lock: true
- 禁止swapping交換。
bootstrap.mlockall: true
2.7 Gateway
- 設(shè)置是否壓縮tcp傳輸時(shí)的數(shù)據(jù)。默認(rèn)是false不壓縮。
transport.tcp.compress: true
- 設(shè)置內(nèi)容的最大容量,默認(rèn)是100mb。
http.max_content_length: 100mb
- 是否使用http協(xié)議對(duì)外提供服務(wù)。默認(rèn)為true。
http.enabled: false
- 設(shè)置gateway的類型,默認(rèn)為本地文件系統(tǒng),也可以設(shè)置分布式文件系統(tǒng)、Hadoop的HDFS或者AWS的都可以。
gateway.type: local
- 在完全重新啟動(dòng)集群之后阻塞初始恢復(fù),直到啟動(dòng)N個(gè)節(jié)點(diǎn)為止,詳情參見Recovery
gateway.recover_after_nodes: 3
- 設(shè)置初始化數(shù)據(jù)恢復(fù)進(jìn)程的超時(shí)時(shí)間。默認(rèn)是5分鐘。
gateway.recover_after_time: 5m
- 設(shè)置該集群中節(jié)點(diǎn)的數(shù)量,默認(rèn)為2個(gè),一旦這N個(gè)節(jié)點(diǎn)啟動(dòng),就會(huì)立即進(jìn)行數(shù)據(jù)恢復(fù)。
gateway.expected_nodes: 2
2.8 Various
- 刪除索引時(shí)需要顯式名稱。
action.destructive_requires_name: true
三 jvm.options
- 設(shè)置jvm堆的大小,最大值和最小值,應(yīng)該是一致的,并且應(yīng)該根據(jù)你的物理內(nèi)存決定。
-Xms1g # 設(shè)置最小堆為1g -Xmx1g # 設(shè)置最大堆為1g
四 log4j2.properties
這個(gè)配置文件,我們一般不修改其配置。
以上就是Elasticsearch配置文件示例示范的詳細(xì)內(nèi)容,更多關(guān)于Elasticsearch配置文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring Data MongoDB 數(shù)據(jù)庫(kù)批量操作的方法
在項(xiàng)目開發(fā)中經(jīng)常會(huì)批量插入數(shù)據(jù)和更新數(shù)據(jù)的操作,這篇文章主要介紹了Spring Data MongoDB 數(shù)據(jù)庫(kù)批量操作的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-11-11java中servlet實(shí)現(xiàn)登錄驗(yàn)證的方法
做web開發(fā),登錄驗(yàn)證是免不了的,今天學(xué)習(xí)了servlet的登錄驗(yàn)證,當(dāng)然是很簡(jiǎn)單的,沒有使用session,request等作用域?qū)ο?,所以還是可以直接通過地址訪問網(wǎng)頁的。2013-05-05Java SMM框架關(guān)聯(lián)關(guān)系映射示例講解
SSM框架是spring MVC ,spring和mybatis框架的整合,是標(biāo)準(zhǔn)的MVC模式,將整個(gè)系統(tǒng)劃分為表現(xiàn)層,controller層,service層,DAO層四層,使用spring MVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理,spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理,mybatis作為數(shù)據(jù)對(duì)象的持久化引擎2022-08-08關(guān)于SpringBoot獲取IOC容器中注入的Bean(推薦)
本文通過實(shí)例代碼給大家詳解了springboot獲取ioc容器中注入的bean問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05MyBatis實(shí)現(xiàn)多表聯(lián)合查詢r(jià)esultType的返回值
這篇文章主要介紹了MyBatis多表聯(lián)合查詢r(jià)esultType的返回值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03