生產環境的 ElasticSearch 安裝指南

2021-09-24 08:10:48 字數 3443 閱讀 8171

elasticsearch 作為優秀的分布式搜尋引擎,在企業中得到了廣泛的應用,可以儲存海量的資料,還能像資料庫一樣各種條件檢索和操作,本文主要記錄下安裝的過程,大多數都參考的官方的文件來操作的,包括系統的設定和 es 集群的一些配置。

在檔案中/etc/security/limits.conf增加,如果你的部署使用者是elasticsearch

elasticsearch  -  nofile  65536

複製**

如果不限制任何使用者

*  -  nofile  65536

複製**

很多是這樣配置的

* soft nofile 1024000

* hard nofile 1024000

複製**

ps:凡是修改了系統檔案,都需要重新進入 session 配置才會生效.

如果 es 用到了 swap 作為記憶體,效能將會變得極差,所以建議關閉.

使用sudo swapoff -a臨時關閉,如果需要永久關閉,則將/etc/fstab檔案中所有包含swap的行全部注釋掉.

echo

複製**

開啟config/elasticsearch.yml檔案,設定

bootstrap.memory_lock: true

複製**

使用 linux 的mlockall進行進行記憶體鎖定,防止使用 swap,除了上述 es 配置,通常需要在/etc/security/limits.conf寫入如下配置:

* hard memlock unlimited

* soft memlock unlimited

複製**

重新進入 session 生效.(線上開啟了這個配置)

es 預設情況下為64為的 linux 作業系統使用mmapfs進行索引的儲存,預設情況下,作業系統的 mmap 數量較低,可能導致記憶體異常.可配置:

sysctl -w vm.max_map_count=262144

複製**

如果需要重啟後配置仍然保留,可以配置檔案/etc/sysctl.conf

vm.max_map_count=262144

複製**

/etc/security/limits.conf寫入如下配置:

* soft nproc 1024000

* hard nproc 1024000

複製**

重新進入 session 生效

修改config/jvm.properties

-xms16g 

-xmx16g

複製**

通常情況下配置為機器記憶體的一半左右,另外一半留給 es 的堆外記憶體.master 2臺機器配置為2g 左右的記憶體即可.

引數比較簡單,官方文件一查便知曉意思,貼出來,只是注意 最好將 master 和 data(worder) 節點分開,master只負責排程,不儲存資料

cluster.name:

example-es-cluster

node.name:

node-worker-74

# 是否是 master

node.master:

false

# 是否儲存資料

node.data:

true

# 資料儲存位置

path.data:

/data/elasticsearch/data

path.logs:

/data/elasticsearch/logs

bootstrap.memory_lock:

true

bootstrap.system_call_filter:

false

network.host:

192.168

.8.74

# http 埠

#tcp 埠

transport.tcp.port:

9300

# 集群節點

複製**

官方文件還是比較全面,仔細按照文件一般沒有啥問題.

Docker環境安裝Elasticsearch

docker pull elasticsearch 6.4.0 修改虛擬記憶體區域大小,否則會因為過小而無法啟動 sysctl w vm.max map count 262144 使用docker命令啟動 docker run p 9200 9200 p 9300 9300 name elastic...

開發環境 測試環境 預生產環境 生產環境區別

環境分以下幾種 1.開發和配置環境 所有的開發和配置在這個環境裡進行。一般情況下,只有這個環境可以改配置和進行開發,並且一般不在這個環境下建立資料。開發環境就是每個開發人員電腦上的開發環境,只有開發人員可以配置和開發,寫資料測試放在測試環境 2.測試環境 3.預生產環境 不是必須的 從生產環境不定期...

開發環境 測試環境 預生產環境 生產環境區別

環境分以下幾種 1.開發和配置環境 所有的開發和配置在這個環境裡進行。一般情況下,只有這個環境可以改配置和進行開發,並且一般不在這個環境下建立資料。開發環境就是每個開發人員電腦上的開發環境,只有開發人員可以配置和開發,寫資料測試放在測試環境 2.測試環境 3.預生產環境 不是必須的 從生產環境不定期...