简介
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful
web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache
Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache
Solr,也是基于Lucene。
官方地址:
好了,我们直接进入主题,centos安装教程欢迎看我以前发的文章,这里我就不过多的解释了,下面我们开始我今天的教程
1,通过docker 来安装elasticsearch
docker pull elasticsearch:7.3.2
1.1 来看下通过pull 下来的elasticsearch
1.2,启动elasticsearch执行命令
docker run -d --name es -p 9200:9200 -p 9300:9300 -p 5601:5601 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" elasticsearch:7.3.2
1.3 浏览器访问验证安装,这是我本机地址:http://192.168.177.132:9200/
好了,在浏览器上看到这个数据数据,那就说明elasticsearch安装成功。
下面让我们再来安装另外一个工具,那就是kibana工具来管理elasticsearch
2,docker安装kibana可视化界面
2.1 拉取镜像
docker pull kibana:7.3.2
2.2,启动kibana命令
docker run -d --name kb -e ELASTICSEARCH_HOSTS=http:127.0.0.1/9200 --network=container:es kibana:7.3.2
执行命令后和上面一样这里就不再贴图了 ,这里需要等待一分钟左右,在浏览器中查看效果
2.3 浏览器测试是否成功
http://192.168.177.132:5601/app/kibana
2.4 首先来添加一个文档
2.5 通过查询命令查看添加的数据
2.6 常用的命令
#创建指定文档
PUT /demo/_doc/2
{
"name":"Somnus_小凯",
"job":"Java研发",
"age":25
}
#查询指定ID的文档
GET /demo/_doc/2
#查询指定索引下的为所有文档
GET /demo/_search
#精确匹配查询
GET /demo/_search?q=age:25
#查询区间
GET /demo/_search?q=age[24 TO 26]
3,docker实现elasticsearch容器中文ik分词器并生成镜像
3.1,首先进入容器
docker exec -it es bash
3.2 进入容器之后需要安装wget用来下载ik分词插件
yum -y install wget
3.3 安装完成后接下来下载ik插件
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.2/elasticsearch-analysis-ik-7.3.2.zip
3.4 创建个目录目录把下载的文件解压到plugins目录下即可
unzip -d ./plugins/ik/ elasticsearch-analysis-ik-7.3.2.zip
至此ik分词器就安装完成,下面就是我们今天的重点
4,ElasticSearch集群搭建我这边的配置环境如下
既然我们要搭建集群,这边建议用奇数,我这边用到3台机器,有朋友会问这里为什么会使用3台,两台不可以吗?这个问题我相信你还是问下百度大神吧。
192.168.177.132 es-node01
192.168.177.133 es-node02
192.168.177.134 es-node03
4.1首先需要在3台机器上创建数据以及配置文件
[root@localhost somnus]# tree
.
└── es #创建es目录
├── config #创建es配置相关目录
│ └── elasticsearch.yml #创建es配置文件
└── data #创建es数据文件目录
4.2 目录创建好了,接下来配置elasticsearch.yml
在剩下的两台机器也是做相应配置信息,这里就是我就不做过多描述了,以上操作完继续elasticsearch集群的安装
4.3第一个节点相关配置
docker run -d --name es -p 9200:9200 -p 9300:9300 -p 5601:5601 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v /home/somnus/es/data:/usr/share/elasticsearch -v /home/somnus/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml --privileged=true elasticsearch:7.3.2
这里其他两个节点也是一样,这里可以通过xshell 批量执行我们脚本,后面也可以通过脚本来进行相关启动
4.4 看下启动后的集群状态访问地址:http://192.168.177.134:9200/_cat/nodes
4.5 部署elasticsearch集群
修改vm.max_map_count的值
使用docker运行elasticsearch,要求宿主机系统的m.max_map_count的值不小于262144,否则elasticsearch镜像无法运行。
编辑“/etc/sysctl.conf”文件,在其中增加一行:
vm.max_map_count=262144