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
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于