Elasticsearch 单机模式部署

本贴最后更新于 1102 天前,其中的信息可能已经时移俗易

1、简介

Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据

更多信息可以参考官网:https://www.elastic.co/cn/what-is/elasticsearch/

2、JDK

不同版本的 Elasticsearch 需要不同版本的 JDK

支持详情见:https://www.elastic.co/cn/support/matrix#matrix_jvm

3、下载安装

我下载了 linux 的 7.11.0 版本,这个版本需要 JDK11 支持

版本列表见:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

4、解压安装

在 opt 目录下解压安装直接解压安装即可

5、配置

5.1、访问地址配置

在 elasticsearch 的 config 目录下有个 elasticsearch.yml 文件,将 IP 配置为本机 IP,端口使用默认端口,配置 localhost 会导致外部无法访问

network.host: 10.116.8.56

5.2、新建运行用户

此外,elasticsearch 无法在 root 权限下运行,要单独建立一个用户,这里建立用户组 es,然后在这个组下建立用户 es,密码为 elasticsearch,然后将 elasticsearch 的文件目录权限分配给 es 用户

group add es
useradd es -g es -p elasticsearch
chown -R es:es /opt/elasticsearch-7.11.0

5.3、linux 环境配置

linux 默认一个进程最大打开文件数为 4096 个,es 运行需要修改这个配置,设置每个线程最少可以打开 65535 个文件

通过 ulimit -Hn、ulimit -Sn 可以查看当前的设置的预警值和报错值

/etc/security/limits.conf 中添加下列两个参数进行配置

*               soft    nofile          65536
*               hard    nofile          65536

soft 表示预警值(超过这个值系统就告警),hard 表示报错的值(超过这个值系统就报错)

除此之外,还要对 linux 的 VMA 进行配置,它限制了一个进程最多能拥有的 VMA(虚拟内存区域)的数量,es 最低要求为 262144,系统默认 65530

通过 sysctl -a|grep vm.max_map_count 可以查看当前设置的值

/etc/sysctl.conf 中添 vm.max_map_count=262144,然后执行 sysctl -p 使其生效

5.3、单机模式配置

启动可能会报以下错误

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

意思就是 discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes 三个配置中最少配置一项

  • cluster.name:配置集群名称
  • node.name: 配置当前节点名称
  • discovery.seed_hosts: 集群主机列表
  • discovery.seed_providers: 基于配置文件配置集群主机列表
  • cluster.initial_master_nodes: 主节点选举列表

这里添加下列配置(就是设置当前节点为主节点),seed_hosts 和 initial_master_nodes 都是自己

cluster.name: my-application
node.name: node-1
discovery.seed_hosts: ["10.116.8.56"]
cluster.initial_master_nodes: ["node-1"]

6、启动

在 bin 目录下执行 sh ./elasticsearch 即可启动,后台运行请使用 nohup

  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 209 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...