ElasticSearch6.2.4(20)——Elasticsearch window叢集搭建
阿新 • • 發佈:2018-12-19
master:elasticsearch.yml
cluster.name: my-application node.name: node-1 node.master: true node.data: false path.data: D:\elasticsearch\esCloud\data path.logs: D:\elasticsearch\esCloud\log bootstrap.memory_lock: true bootstrap.system_call_filter: false network.host: 0.0.0.0 http.port: 9200 transport.tcp.port: 9300 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-credentials: true discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"] discovery.zen.minimum_master_nodes: 2 discovery.zen.ping.timeout: 3s node.max_local_storage_nodes: 3
slave:elasticsearch.yml
cluster.name: my-application node.name: node-2 node.master: true node.data: true path.data: D:\elasticsearch\esCloud\data path.logs: D:\elasticsearch\esCloud\log bootstrap.memory_lock: true bootstrap.system_call_filter: false network.host: 0.0.0.0 http.port: 9201 transport.tcp.port: 9301 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-credentials: true discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"] discovery.zen.minimum_master_nodes: 2 discovery.zen.ping.timeout: 3s node.max_local_storage_nodes: 3
slave:elasticsearch.yml
cluster.name: my-application node.name: node-3 node.master: true node.data: true path.data: D:\elasticsearch\esCloud\data path.logs: D:\elasticsearch\esCloud\log bootstrap.memory_lock: true bootstrap.system_call_filter: false network.host: 0.0.0.0 http.port: 9202 transport.tcp.port: 9302 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-credentials: true discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"] discovery.zen.minimum_master_nodes: 2 discovery.zen.ping.timeout: 3s node.max_local_storage_nodes: 3
cluster.name:叢集名稱
node.name:節點名稱
node.master:有資格成為master節點
node.data:資料節點
path.data:資料存放目錄,可以是陣列形式
path.logs:日誌存放目錄,可以是陣列形式
bootstrap.memory_lock:如果java虛擬機器(JVM)開啟時初始堆大小(heap size)和最大值不相等,那麼在系統使用中重設堆大小將很容易被停止。為了避免重設被停止,最好在開啟java虛擬機器時將初始堆大小和最大值設定為相同值。另外,如果bootstrap.memory_lock是開啟的即被設定為true,那麼java虛擬機器將會在開啟時鎖定堆大小。如果初始堆大小不等於最大堆大小,在重設之後將不會將所有堆鎖定在記憶體中。為了通過堆大小檢查(heap size check),你必須配置堆大小,一般通過jvm.options進行設定。當java虛擬機器做主要垃圾回收時它將涉及堆記憶體的每個頁。如果這些頁被換出磁碟那麼他們將進入到記憶體中。那造成了Elasticsearch會使用更多的服務請求從而造成了磁碟故障。這有不同的方式對系統配置從而阻止頁置換。一種方式是通過請求java虛擬機器鎖定記憶體中的堆大小在Unix是通過mlockall,Windows中是通過virtual lock。這種方式是通過將Elasticsearch的bootstrap.memory_lock值設定為true實現的。然後,這種方式是通過Elasticsearch進行設定的,但是Elasticsearch可能不能鎖定堆記憶體(e.g. elasticsearch的使用者沒有memlock unlimited的許可權)。鎖定記憶體的驗證是判斷bootstrap.memory_lock是否被設定為true,來保證java虛擬機器可以鎖定堆記憶體。為了通過記憶體鎖定檢測,你必須要設定mlockall即將bootstrap.memory_check的值設定為true。
bootstrap.system_call_filter: false:系統呼叫過濾器,建議禁用該項檢查,因為很多檢查項需要Linux 3.5以上的核心。否則會報以下錯誤
network.host:繫結監聽IP
http.port:設定對外服務的http埠,預設為9200
transport.tcp.port:設定節點間互動的tcp埠,預設是9300
使用head等外掛監控叢集資訊,需要開啟以下配置項
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true
discovery.zen.ping.unicast.hosts:節點列表
提高一點以應對網路不好的時候,防止腦裂
discovery.zen.minimum_master_nodes: 演算法(節點數/2)+1取整
discovery.zen.ping.timeout:
node.max_local_storage_nodes: 同一臺機器上面搭建叢集修改設定節點數