elasticsearch6.4.2線上使用配置
阿新 • • 發佈:2018-12-19
系統引數:
# 修改linux核心記憶體分配策略
sysctl vm.overcommit_memory=1
# 儘可能少的使用swap
sysctl vm.swappiness=0
# 修改tcp-backlog(socket監聽佇列的值)
sysctl net.core.somaxconn=1024
# 修改mmap計數
sysctl vm.max_map_count=262144
vim /etc/security/limits.conf
# 程序最大數目 * - nproc 2056474 # 開啟檔案的最大數目 * - nofile 655360 # 地址空間限制 * - as unlimited # 最大檔案大小 * - fsize unlimited # 最大鎖定記憶體地址空間 * - memlock unlimited
環境引數:
/etc/profile
export ES_NETWORK_HOST=127.0.0.1
jvm引數:
# 6.4版本在jvm.options檔案配置 而不是以前的環境引數設定
# jvm.options與elasticsearch.yml在同一目錄
配置檔案
elasticsearch.yml
# xpack.security.enabled: true # xpack.security.transport.ssl.enabled: true # xpack.security.transport.ssl.verification_mode: certificate # xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 # xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12 # 節點區域劃分 # cluster.routing.allocation.awareness.attributes: zone # cluster.routing.allocation.awareness.force.zone.values: zone-1, zone-2, zone-3 node.attr.zone: zone-1 # 叢集名稱 同一個叢集裡的此引數要一致 cluster.name: log-platform # 節點名稱 統一叢集的節點之間需要不一致 node.name: ${HOSTNAME} ### es的節點分為三類 client master data ### client的master和data都是false, 作用類似於nginx的請求轉發 ### master負責結果聚合等工作,壓力較大 所以不建議節點同時為master和data ### data節點儲存分片負責部分計算 # 此節點為master候選節點 node.master: true # 此節點為data節點 node.data: true # data存放的路徑 path.data: /data/es-data1/data, /data/es-data2/data # log存放的路徑 path.logs: /data/es-data1/logs # 此節點對外的ip 本地直接寫127.0.0.1即可 network.host: ${ES_NETWORK_HOST} # 對外暴露的http訪問埠 http.port: 9200 # es內部通訊埠 單播使用 transport.tcp.port: 9300 # 單播訪問的地址 域名直接改成127.0.0.1即可 或者修改下本機host將127.0.0.1對映到多個域名,我是這麼做的 我的有一個client 3個master 所以配了四個地址 # 組播好像已經廢棄了 discovery.zen.ping.unicast.hosts: ["es1.log.com:9300","es2.log.com:9300","es3.log.com:9300"] # 設定master選舉需要贊同的最小節點數 # 值得計算方式為 master候選節點數除2加1 # 例如 node.master值為true的節點數量為5 值即為(5/2)+1 = 3 discovery.zen.minimum_master_nodes: 2 # 一個叢集中的N個節點啟動後,才允許進行恢復處理 gateway.recover_after_nodes: 2 # 1.初始化資料恢復時,併發恢復執行緒的個數,預設為4 cluster.routing.allocation.node_initial_primaries_recoveries: 6 # 2.新增刪除節點或負載均衡時併發恢復執行緒的個數,預設為2 cluster.routing.allocation.node_concurrent_recoveries: 4 # 設定恢復時的吞吐量(例如:100mb,預設為0無限制.如果機器還有其他業務在跑的話還是限制一下的好) indices.recovery.max_bytes_per_sec: 0 # 探查的超時時間,預設3秒,提高一點以應對網路不好的時候,防止腦裂 discovery.zen.ping_timeout: 5s # CORS跨域訪問設定 http.cors.enabled: true http.cors.allow-origin: "*" # 設定請求內容的最大容量,預設100mb http.max_content_length: 100mb # 鎖住記憶體空間,禁止系統發生記憶體交換 bootstrap.memory_lock: true
設定索引快取引數:
快取型別 快取條目 過期時間
curl -XPUT 'http://localhost:9200/_all/_settings?preserve_existing=true' -d '{
"index.cache.field.expire" : "10m",
"index.cache.field.max_size" : "50000",
"index.cache.field.type" : "soft",
"index.number_of_replicas" : "1",
"index.number_of_shards" : "5"
}'