简称一个基于开源分布式

Elasticsearch 7.9.1集群安装配置

服务器技术 2021-09-03 13:43:19 27

导读

Elasticsearch简称ES,是一个基于Lucene构建的开源、分布式、Restful接口的全文搜索引擎,还是一个分布式文档数据库。天生就是分布式、高可用、可扩展的,可以在很短的时间内存储、搜索和分析大量的数据。准备环境服务器内存推荐2G及以上,否则性能将会受影响JAVA[root@maste……

Elasticsearch简称ES,是一个基于Lucene构建的开源、分布式、Restful接口的全文搜索引擎,还是一个分布式文档数据库。天生就是分布式、高可用、可扩展的,可以在很短的时间内存储、搜索和分析大量的数据。

准备环境

服务器内存推荐2G及以上,否则性能将会受影响

JAVA
[root@master-all ~]# wget https://file.api.ym68.cc/java/jdk-8u241-linux-x64.rpm [root@master-all ~]# rpm -ivh jdk-8u241-linux-x64.rpm
Elasticsearch

官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch/

[root@master-all ~]# wget https://file.api.ym68.cc/Package/elasticsearch/elasticsearch-7.9.1-linux-x86_64.tar.gz [root@master-all ~]# tar zxf elasticsearch-7.9.1-linux-x86_64.tar.gz -C /usr/src/
创建用户并授权
[root@master-all ~]# useradd es [root@master-all ~]# chown -R es:es /usr/src/elasticsearch-7.9.1/
防火墙放通端口
[root@master-all ~]# firewall-cmd --zone=public --add-port=9200/tcp --permanent success [root@master-all ~]# firewall-cmd --zone=public --add-port=19300/tcp --permanent success [root@master-all ~]# firewall-cmd --reload success
修改系统变量
[root@master-all ~]# vim /etc/security/limits.conf  * soft nofile 65535 * hard nofile 65535 * soft memlock unlimited * hard memlock unlimited [root@master-all ~]# vim /etc/sysctl.d/101-elasticsearch.conf vm.max_map_count = 262144 [root@master-all ~]# sysctl -p /etc/sysctl.d/101-elasticsearch.conf [root@master-all ~]# reboot

开始部署

备份并编辑配置文件
[root@master-all ~]# cd /usr/src/elasticsearch-7.9.1/config/ [root@master-all config]# cp elasticsearch.yml{,.bak} [root@master-all config]# vim elasticsearch.yml
node-1
# 设置集群名称,集群内所有节点的名称必须一致。 cluster.name: ymcc-app # 设置节点名称,集群内节点名称必须唯一,且不可重复 node.name: node-1 # 表示该节点会不会作为主节点,是:true;否:false node.master: true # 当前节点是否用于存储数据,是:true;否:false node.data: true # 将自定义属性添加到节点 #node.attr.rack: r1  # 数据存储目录的路径(用逗号分隔多个位置): path.data: /usr/src/elasticsearch-7.9.1/data # 日志存储路径: path.logs: /usr/src/elasticsearch-7.9.1/logs # 启动时锁定内存,内存不足2G请勿开启: bootstrap.memory_lock: true  # 将绑定地址设置为特定的IP(IPv4或IPv6) network.host: 192.168.230.203 # 为HTTP设置自定义端口 http.port: 9200 # 集群内部通讯端口 transport.tcp.port: 19300  # 在启动此节点时,传递主机的初始列表以执行发现.主机的默认列表是: ["127.0.0.1", "[::1]"] # 写入候选主节点的设备地址,在开启服务后可以被选为主节点 discovery.seed_hosts: ["192.168.230.202", "192.168.230.203"] discovery.zen.fd.ping_timeout: 1m discovery.zen.fd.ping_retries: 5  # 初始化一个新的集群时需要此配置来选举master cluster.initial_master_nodes: 192.168.230.202
node-2

slave节点只需变更如下内容

# 设置节点名称,集群内节点名称必须唯一,且不可重复 node.name: node-2 # 表示该节点会不会作为主节点,是:true;否:false node.master: false # 当前节点是否用于存储数据,是:true;否:false node.data: true # 启动时锁定内存,内存不足2G请勿开启: bootstrap.memory_lock: true # 将绑定地址设置为特定的IP(IPv4或IPv6) network.host: 192.168.230.203
切换es用户并后台启动
[root@master-all config]# cd ../bin/ [root@master-all bin]# su es [es@master-all bin]$ ./elasticsearch -d

验证

访问http://IP:9200 即可查看信息是否一致

Elasticsearch 7.9.1集群安装配置
Elasticsearch 7.9.1集群安装配置

验证集群状态

访问http://IP:9200/_cat/nodes 查看集群节点

Elasticsearch 7.9.1集群安装配置

其他选项
/_cat/allocation /_cat/shards /_cat/shards/{index} /_cat/master /_cat/nodes /_cat/tasks /_cat/indices /_cat/indices/{index} /_cat/segments /_cat/segments/{index} /_cat/count /_cat/count/{index} /_cat/recovery /_cat/recovery/{index} /_cat/health /_cat/pending_tasks /_cat/aliases /_cat/aliases/{alias} /_cat/thread_pool /_cat/thread_pool/{thread_pools} /_cat/plugins /_cat/fielddata /_cat/fielddata/{fields} /_cat/nodeattrs /_cat/repositories /_cat/snapshots/{repository} /_cat/templates /_cat/ml/anomaly_detectors /_cat/ml/anomaly_detectors/{job_id} /_cat/ml/trained_models /_cat/ml/trained_models/{model_id} /_cat/ml/datafeeds /_cat/ml/datafeeds/{datafeed_id} /_cat/ml/data_frame/analytics /_cat/ml/data_frame/analytics/{id} /_cat/transforms /_cat/transforms/{transform_id}

遇到的问题

主机默认文件数太低
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

解决方法:

[root@master-all ~]# vim /etc/security/limits.conf  * soft nofile 65535 * hard nofile 65535
最大虚拟内存过低
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方法:

[root@master-all ~]# vim /etc/sysctl.d/101-elasticsearch.conf vm.max_map_count = 262144 [root@master-all ~]# sysctl -p /etc/sysctl.d/101-elasticsearch.conf


1253067 TFnetwork_cn