1. 程式人生 > >elasticsearch6.4.2線上使用配置

elasticsearch6.4.2線上使用配置

系統引數:

# 修改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"
}'