搭建es集群遇到的问题

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 搭建es集群,过程中会遇到一些情况,下边一一列举

一、下载解压以后修改 elasticsearch.yml

# 集群名字 几个节点要一致
cluster.name: my-es
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
# 节点名称
node.name: node-2
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
#path.data: /path/to/data
#
# Path to log files:
#
#path.logs: /path/to/logs
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
bootstrap.memory_lock: false

bootstrap.system_call_filter: false
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 172.16.xxx.xxx
#
# Set a custom port for HTTP:
#
#http.port: 9200
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
discovery.seed_hosts: ["172.16.xxx.xx4","172.16.xxx.xx3","172.16.xxx.xx2"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["172.16.xxx.xx4","172.16.xxx.xx3","172.16.xxx.xx2"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true

二、启动

./bin/elasticsearch

这里必须用es的账户启动,不然会报异常:

image.png

需要把文件夹都赋值es账号权限:
image.png

再来试一下:
image.png

可以看到已经可以初步启动了,接着往下看启动日志,会发现又出现新的异常:

image.png

max number of threads [2048] for user [es] is too low, increase to at least [4096]

最大线程数太小了,修改配置文件

/etc/security/limits.conf

我们需要修改到4096
image.png

image.png

/etc/security/limits.d/90-nproc.conf

image.png

三、再启动
发现还是报异常:

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/local/elasticsearch-7.6.1/logs/my-es.log

image.png

用户内存不够了,需要分配一些:
image.png

vm.max_map_count=262144

四、配置不生效处理

如果上边修改的两个文件修改了还是报上边的错误 ,那么很可能是配置没有生效,可以试着操作:

source /ect/...  等

如果还是没生效,那么只能reboot了。

五、启动成功
image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
存储 Kubernetes NoSQL
使用 RKE 方式搭建 K8s 集群并部署 NebulaGraph
本文详细记录了如何用 REK 安装好 K8s 环境之后,再在此基础上安装图数据库 NebulaGraph。
471 0
|
5月前
|
Java 数据安全/隐私保护
ES: ES+Kibana 环境部署
ES: ES+Kibana 环境部署
|
NoSQL 测试技术 数据库
nebula-br local-store 模式,快速搭建主备集群实践
单集群如何快速切换多集群模式?目前,NebulaGraph 集群复制有 3 种方式,如何在当中选中一种合适你的方式来搭建集群呢?
147 2
|
Linux
06SpringCloud - Consul高可用及搭建步骤
06SpringCloud - Consul高可用及搭建步骤
67 0
|
负载均衡 网络协议 数据可视化
Docker部署Consul单节点或者集群教程
Docker部署Consul单节点或者集群教程
2578 2
|
Docker 容器
es应用笔记1-es部署
es应用笔记1-es部署
133 0
|
存储 运维
ES集群规划
ES集群规划
152 0
|
Shell 开发工具
ES集群安装教程
ES集群安装教程
382 0
ES集群安装教程
|
存储 Kubernetes NoSQL
Kubernetes 部署 Nebula 图数据库集群
数据库容器化是最近的一大热点,Kubernetes 能给数据库带来故障恢复、存储管理、负载均衡、水平拓展等好处。而它在图数据库 Nebula Graph 中可以发挥什么作用呢?
1463 0
|
分布式计算 Kubernetes 监控
基于 Rainbond 部署 DolphinScheduler 高可用集群
本文描述通过 [Rainbond](https://www.rainbond.com/) 云原生应用管理平台 一键部署高可用的 DolphinScheduler 集群,这种方式适合给不太了解 Kubernetes、容器化等复杂技术的用户使用,降低了在 Kubernetes 中部署 DolphinScheduler 的门槛。