ES參數說明

Elasticsearch(ES)做爲NOSQL+搜索引擎的有機結合體,不只有近實時的查詢能力,還具備強大的聚合分析能力。所以在全文檢索、日誌分析、監控系統、數據分析等領域ES均有普遍應用。而完整的Elastic Stack體系(Elasticsearch、Logstash、Kibana、Beats),更是提供了數據採集、清洗、存儲、可視化的整套解決方案。
預留一半內存給Lucene使用
毋庸置疑,內存對於 Elasticsearch 來講絕對是重要的,但還有一個內存消耗大戶 —— Lucene。
Apache Lucenejava

more /data/elasticsearch/config/elasticsearch.yml node

cluster.name: sevfun_es_mall     //es的集羣名稱
node.name: sevfun_es_mall3     //節點名
node.master: true                       //該節點是否有資格被選舉成爲master
node.ingest: false                       
node.data: true                          //該節點是否存儲索引數據
http.enabled: true                      //是否使用http協議對外提供服務
http.cors.enabled: true
http.cors.allow-origin: "*"
path.data: /data/esdata             //設置索引數據的存儲路徑
path.logs: /data/eslogs
action.auto_create_index: false  
bootstrap.memory_lock: false   //防止內存溢出避免es使用swap
network.host: 10.100.0.22       //設置綁定的ip地址
http.port: 9200       //設置對外服務的http端口;節點間交互的tcp端口默認是9300
discovery.zen.ping.unicast.hosts: [10.100.0.45,10.100.0.37,10.100.0.22]
discovery.zen.minimum_master_nodes: 2  //候選主節點的個數/2+1
discovery.zen.fd.ping_timeout: 120s //設置集羣中自動發現其它節點時ping鏈接超時時間爲2分鐘
discovery.zen.fd.ping_retries: 6    //節點超過6次心跳沒有迴應,則認爲該節點脫離master
discovery.zen.fd.ping_interval: 30s  //節點每隔30s同maste發送一次心跳
client.transport.ping_timeout: 60s    //ping命令的響應超時時間,默認爲5s。
discovery.zen.ping_timeout: 10s
indices.query.bool.max_clause_count: 5000
thread_pool.search.size: 40                    //線程池優化
thread_pool.search.queue_size: 1000   //1秒內可接受的搜索請求
thread_pool.index.queue_size: 1000
thread_pool.bulk.queue_size: 1000

more /data/elasticsearch/config/jvm.optionsjson

-Xms8g        //JVM堆的大小 設置最小堆的值爲2g
-Xmx8g       //JVM堆的大小  設置組大堆的值爲2g
-XX:NewRatio=3 //設置年輕代和年老代的比值。如:爲3,表示年輕代與年老代比值爲1:3,年輕代佔整個年輕代年老代和的1/4 
-XX:+ExitOnOutOfMemoryError
-XX:HeapDumpPath=/data/       //生成DUMP文件的路徑
-XX:+ExitOnOutOfMemoryErrorsss   //防止出現內存溢出可是進程沒有退出

ES延遲插件安裝:
cd /data/elasticsearch/
echo "y
" | bin/elasticsearch-plugin install repository-hdfs
ES集羣初始化hdfs倉庫報錯
es_hdfs_repository報錯path: /_snapshot/es_hdfs_repository, params: {repository=es_hdfs_repository
`curl -XPUT 'http://192.168.0.138:9200/_snapshot/es_hdfs_repository' -H 'Content-Type: application/json' -d '{"type":"hdfs","settings":{"uri":"hdfs://192.168.0.5:8020/","path":"/es/repository","compress":true,"max_restore_bytes_per_sec":"80mb","max_snapshot_bytes_per_sec":"80mb","chunk_size":"20mb","buffer_size":"500kb"}}'``
修改jvm配置
vim /data/elasticsearch/config/jvm.options
-Djava.security.policy=file:////data/elasticsearch/plugins/repository-hdfs/plugin-security.policy
須要重啓集羣全部節點bootstrap

Linux參數調優:
禁用swap
索引優化:
建議根據集羣節點的個數規模,分片個數建議>=集羣節點的個數。
5節點的集羣,5個分片就比較合理。
建議每一個分片大小不要超過30GB
建議冷熱數據分離:
熱數據存儲SSD和普通曆史數據存儲機械磁盤,物理上提升檢索效率。vim

相關文章
相關標籤/搜索