1.ES简介
Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:
1.分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
2.实时分析的分布式搜索引擎。
3.可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据
资料
Elastic官网:https://www.elastic.co/cn/
Elastic有一条完整的产品线及解决方案:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。
Elasticsearch(官网:https://www.elastic.co/cn/products/elasticsearch )是Elastic Stack 的核心技术。详细介绍参考官网
Elasticsearch具备以下特点:
分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)
Restful风格,一切API都遵循Rest原则,容易上手近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。
2. 安装
1.新建一个用户(处于安全考虑elasticsearch 不允许以root用户运行)
# 创建用户 useradd es # 为用户修改密码 passwd es
2. 去官网上下载elasticseach
官网地址 https://www.elastic.co/cn/products/elasticsearch
下载linux版本,作者采用的是 elasticsearch-7.12.0-linux-x86_64.tar.gz
将下载好的 elasticsearch 上传至 服务器
3.解压 elasticsearch
运行以下命令
cd /home/apps # 解压安装包 tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz # 将文件重命名(根据个人习惯) mv elasticsearch-7.12.0 elasticsearch
完成后查看下目录结构
4.修改配置文件
cd config/
Elasticsearch基于Lucene的,而Lucene底层是java实现,因此我们需要配置jvm参数。编辑jvm.options
vim jvm.options
增加两个配置
vim elasticsearch.yml
cluster.name: my-application 集群名字
node.name: node-1 节点名字
path.data 数据目录位置
path.logs 日志目录位置
network.host: 0.0.0.0 绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问
discovery.seed_hosts: [“127.0.0.1”]
cluster.initial_master_nodes: [“node-1”]
刚才指定了数据目录位置,还有日志目录位置,这两个位置根据个人习惯即可,接下来创建文件夹并修改权限
# 创建文件夹 mkdir -p /home/logs/dev/es # 修改文件夹所属用户 chown -R es:es /home/logs/dev/es/ # 创建文件夹 mkdir -p /home/data/es # 修改文件夹所属用户 chown -R es:es /home/data/es/
5.修改其他配置
vim /etc/security/limits.conf
在文件末尾增加
soft nofile 65536
hard nofile 65536
如下图所示
vim /etc/sysctl.conf
在文件末尾增加
vm.max_map_count=655360
如下图所示
3.启动
将 安装的 elasticsearch 文件夹授权给es用户,然后切换为es用户启动
chown -R es:es /home/apps/elasticsearch
登录es用户,启动
cd /home/apps/elasticsearch/bin/ ./elasticsearch
用浏览器输入访问地址,出现如下页面即启动成功
上述启动命令默认是前台启动,窗口关闭后,将会退出,如果需要后台启动,则输入以下命令
./elasticsearch -d