1.elasticsearch目錄及其作用
bin
-
存放ES啟動(dòng)、關(guān)閉等腳本文件
-
存放執(zhí)行文件,例如啟動(dòng)腳本、密鑰工具等
config
-
ES的配置文件所在的目錄,其中有三個(gè)主要的配置文件
-
elasticsearch.yml是用于ES的最主要的配置文件
-
jvm.options用于配置ES JVM設(shè)置
-
log4j2.properties用于配置ES 日志記錄的屬性
jdk
-
ES自帶的JDK目錄
data
-
默認(rèn)的索引數(shù)據(jù)存儲(chǔ)位置,實(shí)際中一般需要自行更改
logs
-
存儲(chǔ)ES的運(yùn)行日志
-
默認(rèn)的日志存放位置,實(shí)際中一般需要自行更改
lib
-
ES運(yùn)行所需要的jar包目錄
modules
-
存儲(chǔ)ES已安裝的模塊
plugins
-
存儲(chǔ)ES已安裝的插件
2.elasticsearch.yml
-
elasticsearch的config文件夾里面有兩個(gè)配置文 件:elasticsearch.yml和logging.yml,第一個(gè)是es的基本配置文件,第二個(gè)是日志配置文件,es也是使用log4j來(lái)記錄日 志的,所以logging.yml里的設(shè)置按普通log4j配置文件來(lái)設(shè)置就行了。下面主要講解下elasticsearch.yml這個(gè)文件中可配置的東西。
-
綠色背景為實(shí)際遇到的,白色背景為將來(lái)探索的。
cluster.name: ES
-
ES集群名稱,同一個(gè)集群內(nèi)的所有節(jié)點(diǎn)集群名稱必須保持一致
-
配置es的集群名稱,默認(rèn)是elasticsearch,es會(huì)自動(dòng)發(fā)現(xiàn)在同一網(wǎng)段下的es,如果在同一網(wǎng)段下有多個(gè)集群,就可以用這個(gè)屬性來(lái)區(qū)分不同的集群。
node.name: slave2
-
ES集群內(nèi)的節(jié)點(diǎn)名稱,同一個(gè)集群內(nèi)的節(jié)點(diǎn)名稱要具備唯一性
path.conf: /path/to/conf
-
設(shè)置配置文件的存儲(chǔ)路徑,默認(rèn)是es根目錄下的config文件夾。
path.data: /path/to/data
-
ES是搜索引擎,會(huì)創(chuàng)建文檔,建立索引,此路徑是索引的存放目錄.默認(rèn)是es根目錄下的data文件夾,可以指定多個(gè)存儲(chǔ)位置,用逗號(hào)隔開,例: path.data:/path/to/data1,/path/to/data2
path.logs:/path/to/logs
-
elasticsearch專門的日志存儲(chǔ)位置,默認(rèn)是es根目錄下的logs文件夾
path.plugins: /path/to/plugins
-
設(shè)置插件的存放路徑,默認(rèn)是es根目錄下的plugins文件夾
path.work: /path/to/work
-
設(shè)置臨時(shí)文件的存儲(chǔ)路徑,默認(rèn)是es根目錄下的work文件夾。
node.master: true
-
允許節(jié)點(diǎn)是否可以成為一個(gè)master節(jié)點(diǎn),ES是默認(rèn)集群中的第一臺(tái)機(jī)器成為master,如果這臺(tái)機(jī)器停止就會(huì)重新選舉
-
主節(jié)點(diǎn)屬性值
node.data: false
-
允許該節(jié)點(diǎn)存儲(chǔ)索引數(shù)據(jù)(默認(rèn)開啟)
-
數(shù)據(jù)節(jié)點(diǎn)屬性值
network.bind_host: 192.168.0.1
-
設(shè)置綁定的ip地址,可以是ipv4或ipv6的,默認(rèn)為0.0.0.0。
network.publish_host: 192.168.0.1
-
設(shè)置其它節(jié)點(diǎn)和該節(jié)點(diǎn)交互的ip地址,如果不設(shè)置它會(huì)自動(dòng)判斷,值必須是個(gè)真實(shí)的ip地址。
network.host: 192.168.0.1
-
es的HTTP端口和集群通信端口就會(huì)監(jiān)聽在此地址上
-
這個(gè)參數(shù)是用來(lái)同時(shí)設(shè)置bind_host和publish_host上面兩個(gè)參數(shù)。
index.number_of_shards: 5
-
設(shè)置默認(rèn)索引分片個(gè)數(shù),默認(rèn)為5片。
index.number_of_replicas: 1
-
設(shè)置默認(rèn)索引副本個(gè)數(shù),默認(rèn)為1個(gè)副本。
bootstrap.memory_lock: true
-
在ES運(yùn)行起來(lái)后鎖定ES所能使用的堆內(nèi)存大小,鎖定內(nèi)存大小一般為可用內(nèi)存的一半左右;鎖定內(nèi)存后就不會(huì)使用交換分區(qū)。如果不打開此項(xiàng),當(dāng)系統(tǒng)物理內(nèi)存空間不足,ES將使用交換分區(qū),ES如果使用交換分區(qū),那么ES的性能將會(huì)變得很差
-
設(shè)置為true來(lái)鎖住內(nèi)存。因?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下可以通過(guò)`ulimit -l unlimited`命令。
http.enabled
-
是否使用http協(xié)議對(duì)外提供服務(wù),默認(rèn)為true,開啟。
gateway.type
-
gateway的類型,默認(rèn)為local即為本地文件系統(tǒng),可以設(shè)置為本地文件系統(tǒng),分布式文件系統(tǒng),hadoop的HDFS,和amazon的s3服務(wù)器,其它文件系統(tǒng)的設(shè)置方法下次再詳細(xì)說(shuō)。
gateway.recover_after_nodes
-
設(shè)置集群中N個(gè)節(jié)點(diǎn)啟動(dòng)時(shí)進(jìn)行數(shù)據(jù)恢復(fù),默認(rèn)為1。
gateway.recover_after_time: 5m
-
設(shè)置初始化數(shù)據(jù)恢復(fù)進(jìn)程的超時(shí)時(shí)間,默認(rèn)是5分鐘。
gateway.expected_nodes
-
設(shè)置這個(gè)集群中節(jié)點(diǎn)的數(shù)量,默認(rèn)為2,一旦這N個(gè)節(jié)點(diǎn)啟動(dòng),就會(huì)立即進(jìn)行數(shù)據(jù)恢復(fù)。
network.tcp.no_delay: true
-
是否啟用tcp無(wú)延遲,true為啟用tcp不延遲,默認(rèn)為false啟用tcp延遲
truenetwork.tcp.keep_alive: true
-
是否啟用TCP保持活動(dòng)狀態(tài),默認(rèn)為true
network.tcp.reuse_address: true
-
是否應(yīng)該重復(fù)使用地址。默認(rèn)true,在Windows機(jī)器上默認(rèn)為false
network.tcp.send_buffer_size: 128mb
-
tcp發(fā)送緩沖區(qū)大小,默認(rèn)不設(shè)置
network.tcp.receive_buffer_size: 128mb
-
tcp接收緩沖區(qū)大小,默認(rèn)不設(shè)置
transport.tcp.port: 9301
-
Elasticsearch6.x版本,設(shè)置集群節(jié)點(diǎn)通信的TCP端口,默認(rèn)就是9300
transport.port:9300
-
Elasticsearch7.x版本,集群之間通信的端口,若不指定默認(rèn):9300
transport.tcp.compress: true
-
設(shè)置是否壓縮TCP傳輸時(shí)的數(shù)據(jù),默認(rèn)為false
http.max_content_length: 200mb
-
設(shè)置http請(qǐng)求內(nèi)容的最大容量,默認(rèn)是100mb
http.cors.enabled: true
-
是否開啟跨域訪問(wèn)
http.cors.allow-origin: "*"
-
開啟跨域訪問(wèn)后的地址限制,*表示無(wú)限制
http.port: 9201
-
定義ES對(duì)外調(diào)用的http端口,默認(rèn)是9200
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
-
在Elasticsearch7.0版本已被移除,配置錯(cuò)誤。寫入候選主節(jié)點(diǎn)的設(shè)備地址,來(lái)開啟服務(wù)時(shí)就可以被選為主節(jié)點(diǎn)。默認(rèn)主機(jī)列表只有127.0.0.1和IPV6的本機(jī)回環(huán)地址。上面是書寫格式,discover意思為發(fā)現(xiàn),zen是判定集群成員的協(xié)議,unicast是單播的意思,ES5.0版本之后只支持單播的方式來(lái)進(jìn)行集群間的通信,hosts為主機(jī)
discovery.zen.minimum_master_nodes: 2
-
在Elasticsearch7.0版本已被移除,配置無(wú)效,為了避免腦裂,集群的最少節(jié)點(diǎn)數(shù)量為,集群的總節(jié)點(diǎn)數(shù)量除以2加一
discovery.zen.ping.multicast.enabled: false
-
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.timeout: 3s
-
設(shè)置集群中自動(dòng)發(fā)現(xiàn)其它節(jié)點(diǎn)時(shí)ping連接超時(shí)時(shí)間,默認(rèn)為3秒,對(duì)于比較差的網(wǎng)絡(luò)環(huán)境可以高點(diǎn)的值來(lái)防止自動(dòng)發(fā)現(xiàn)時(shí)出錯(cuò)。
discovery.zen.fd.ping_timeout: 120s
-
在Elasticsearch7.0版本已被移除,配置無(wú)效。探測(cè)超時(shí)時(shí)間,默認(rèn)是3秒,我們這里填120秒是為了防止網(wǎng)絡(luò)不好的時(shí)候ES集群發(fā)生腦裂現(xiàn)象
discovery.zen.fd.ping_retries: 6
-
在Elasticsearch7.0版本已被移除,配置無(wú)效。探測(cè)次數(shù),如果每次探測(cè)90秒,連續(xù)探測(cè)超過(guò)六次,則認(rèn)為節(jié)點(diǎn)該節(jié)點(diǎn)已脫離集群,默認(rèn)為3次
discovery.zen.fd.ping_interval: 15s
-
在Elasticsearch7.0版本已被移除,配置無(wú)效。節(jié)點(diǎn)每隔15秒向master發(fā)送一次心跳,證明自己和master還存活,默認(rèn)為1秒太頻繁
discovery.seed_hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
-
Elasticsearch7新增參數(shù),寫入候選主節(jié)點(diǎn)的設(shè)備地址,來(lái)開啟服務(wù)時(shí)就可以被選為主節(jié)點(diǎn),由discovery.zen.ping.unicast.hosts:參數(shù)改變而來(lái)
cluster.initial_master_nodes: ["127.0.0.1:9301","127.0.0.1:9302"]
-
Elasticsearch7新增參數(shù),寫入候選主節(jié)點(diǎn)的設(shè)備地址,來(lái)開啟服務(wù)時(shí)就可以被選為主節(jié)點(diǎn)
cluster.fault_detection.leader_check.interval: 15s
-
Elasticsearch7新增參數(shù),設(shè)置每個(gè)節(jié)點(diǎn)在選中的主節(jié)點(diǎn)的檢查之間等待的時(shí)間。默認(rèn)為1秒
discovery.cluster_formation_warning_timeout: 30s
-
Elasticsearch7新增參數(shù),啟動(dòng)后30秒內(nèi),如果集群未形成,那么將會(huì)記錄一條警告信息,警告信息未master not fount開始,默認(rèn)為10秒
cluster.join.timeout: 30s
-
Elasticsearch7新增參數(shù),節(jié)點(diǎn)發(fā)送請(qǐng)求加入集群后,在認(rèn)為請(qǐng)求失敗后,再次發(fā)送請(qǐng)求的等待時(shí)間,默認(rèn)為60秒
cluster.publish.timeout: 90s
-
Elasticsearch7新增參數(shù),設(shè)置主節(jié)點(diǎn)等待每個(gè)集群狀態(tài)完全更新后發(fā)布到所有節(jié)點(diǎn)的時(shí)間,默認(rèn)為30秒
cluster.routing.allocation.cluster_concurrent_rebalance: 32
-
集群內(nèi)同時(shí)啟動(dòng)的數(shù)據(jù)任務(wù)個(gè)數(shù),默認(rèn)是2個(gè)
cluster.routing.allocation.node_concurrent_recoveries: 32
-
添加或刪除節(jié)點(diǎn)及負(fù)載均衡時(shí)并發(fā)恢復(fù)的線程個(gè)數(shù),默認(rèn)4個(gè)
cluster.routing.allocation.node_initial_primaries_recoveries: 32
-
初始化數(shù)據(jù)恢復(fù)時(shí),并發(fā)恢復(fù)線程的個(gè)數(shù),默認(rèn)4個(gè)
indices.recovery.max_size_per_sec
-
設(shè)置數(shù)據(jù)恢復(fù)時(shí)限制的帶寬,如入100mb,默認(rèn)為0,即無(wú)限制。
indices.recovery.concurrent_streams
-
設(shè)置這個(gè)參數(shù)來(lái)限制從其它分片恢復(fù)數(shù)據(jù)時(shí)最大同時(shí)打開并發(fā)流的個(gè)數(shù),默認(rèn)為5。
node.max_local_storage_nodes: 3
-
最?集群節(jié)點(diǎn)數(shù),為了避免腦裂,集群節(jié)點(diǎn)數(shù)最少為 半數(shù)+1
ingest.geoip.downloader.enabled
-
此版本將GeoIp功能默認(rèn)開啟了采集。在默認(rèn)的啟動(dòng)下是會(huì)去官網(wǎng)的默認(rèn)地址下獲取最新的Ip的GEO信息文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-561605.html
reindex.remote.whitelist
-
這個(gè)需要在新的集群上配置添加白名單,配置的是舊的ES集群地址文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-561605.html
到了這里,關(guān)于elasticsearch目錄及配置參數(shù)說(shuō)明的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!