0%

elasticsearch技巧笔记之7.6.0版本集群部署

一、前言

接触Elasticsearch有一段时间,现将使用心得整理成笔记记录如下。在使用Elasticsearch前,首先考虑为什么使用elasticsearch,用elasticseacrh做什么以及elasticsearch集群架构怎么搭建。小编数据有亿级,使用传统得关系型数据库和非关系型数据库虽然有相应得解决方案,但是对于数据安全、单点故障以及统计分析问题没有什么,不足以满足查询需求,实时响应。

二、Elasticsearch定义

Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

三、部署环境
1.系统环境
1
2
3
4
VMware® Workstation 15 Pro​    15.5.1 build-15018445
操作机 windows10 家庭中文版64
Elasticsearch 7.6.0
Centos 8.0
2.集群环境
1
2
3
4
      IP          master   data
192.168.153.169 true true
192.168.153.170 true true
192.168.153.171 true true
四、设置虚拟机环境

解除 Linux 系统的最大进程数和最大文件打开数限制,修改limits.conf和sysctl.conf文件,然后重启生效。

1.修改limits.conf

打开/etc/security/limits.conf,添加如下内容。

1
2
3
4
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
2.修改sysctl.conf

打开/etc/sysctl.conf,添加如下内容。

1
2
vm.max_map_count=655360
fs.file-max=655360
五、Elasticsearch安装

本文小编使用rpm安装包进行安装,登陆elasticsearch官网,下载7.6.0版本得rpm安装包

1
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.0-x86_64.rpm

centos8.0安装elasticsearch7.6.0安装包

1
rpm --install elasticsearch-7.6.0-x86_64.rpm

启动和自启Elasticsearch7.6.0服务,切记不要用root启动elasticsearch服务,会报错。

1
2
3
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
六Elasticsearch简单配置

按照如下配置,配置三台Centos虚拟机,配置完成后,使用非root用户启动elasticsearch服务。
IP:192.168.153.170Elasticsearch配置

1
2
3
4
5
6
7
8
9
10
11
12
13
cluster.name: leyan-datadases
node.name: leyan-node-2
path.data: /var/elasticsearch/datas/nodes
path.logs: /var/log/elasticsearch
network.host: 192.168.153.170
http.port: 9200
discovery.seed_hosts: ["192.168.153.169", "192.168.153.170", "192.168.153.171"]
cluster.initial_master_nodes: ["leyan-node-1", "leyan-node-2", "leyan-node-3"]
node.master: true
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.minimum_master_nodes: 2

IP:192.168.153.169Elasticsearch配置

1
2
3
4
5
6
7
8
9
10
11
12
13
cluster.name: leyan-datadases
node.name: leyan-node-1
path.data: /var/elasticsearch/datas
path.logs: /var/log/elasticsearch
network.host: 192.168.153.169
http.port: 9200
discovery.seed_hosts: ["192.168.153.169", "192.168.153.170", "192.168.153.171"]
cluster.initial_master_nodes: ["leyan-node-1", "leyan-node-2", "leyan-node-3"]
node.master: true
node.data: true
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.minimum_master_nodes: 2

IP:192.168.153.171Elasticsearch配置

1
2
3
4
5
6
7
8
9
10
11
12
13
cluster.name: leyan-datadases
node.name: leyan-node-3
path.data: /var/elasticsearch/datas/nodes
path.logs: /var/log/elasticsearch
network.host: 192.168.153.171
http.port: 9200
discovery.seed_hosts: ["192.168.153.169", "192.168.153.170", "192.168.153.171"]
cluster.initial_master_nodes: ["leyan-node-1", "leyan-node-2", "leyan-node-3"]
node.data: true
node.master: true
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.minimum_master_nodes: 2