基本概念
集群:一个或者多个elasticsearch节点组成的集合
索引:含有相同属性的文档集合,例如一个索引代表消费者数据,一个索引代表产品数据(相当于MySQL的database)
类型:索引可以定义一个或多个类型,通常定义有相同字段的文档作为一个类型,文档必须属于一个类型(相当于MySQL的table)
文档:文档是可以被索引的基本数据单位,例如一个用户的基本信息,一片文章的数据,他是整个es里最小的存储单位(相当于MySQL的每一行具体的记录)
单节点安装
elasticsearch是基于java开发的,所以安装之前需要先安装版本大于等于1.8的jdk
jdk安装: 下载---解压---配置环境变量
下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,自己去这个地址下载,因为他会带一个认证参数AuthParam
wget https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-i586.tar.gz?AuthParam=1551253769_ff54ba4acb29cacf09d358ec0798e55d
tar -zxvf jdk-8u201-linux-x64.tar.gz\?AuthParam\=1551253769_ff54ba4acb29cacf09d358ec0798e55d
配置环境变量
sudo vi ~/.bash_profile
source ~/.bash_profile
elasticsearch安装: 下载---解压---配置---启动
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
tar -zxvf elasticsearch-6.6.2.tar.gz
sudo vi config/elasticsearch.yml
elasticsearch默认安装后设置的内存是1GB,我这里只是自己的一个乞丐版本的服务器,内存比较小,我就只给他分配256M(根据自己情况使用配置,如果内存不够的话,启动过程中会提示已杀死这类提示)
vi config/jvm.options
ps: 更多具体配置可以在elasticsearch官网查看
启动: elasticsearch可以接收用户输入的脚本并且执行,处于安全考虑,他不能root账户来启动,不然会报下图错误
所以我需要为elasticsearch新建一个系统运行账号
groupadd elasticsearch //新建一个elasticsearch的用户组
useradd -g elasticsearch elasticsearch //在elasticsearch用户组下面建立一个elasticsearch的用户
将elasticsearch目录的所有者给刚刚建立的账号
chown -R elasticsearch:elasticsearch elasticsearch-6.6.2/
然后切换到刚刚的账号启动elasticsearch
su elasticsearch
./elasticsearch-6.6.2/bin/elasticsearch
启动过程中可能会出现下面这类的错误提示
错误1: elasticsearch这个用户的最大打开线程数(3894)太低,至少增加到4096
解决:
1. 查看用户最大打开线程数
ulimit -a
2. 切换到root用户,编辑文件
vi /etc/security/limits.conf
在文件末尾加上下面配置
* 表示匹配所有用户, nproc 表示配置最大打开线程数
3. 退出从新登录后,再次查看,修改成功
错误2: 最大虚拟内存区域vm.max_map_count(65530)太低,至少增加到262144
解决:
在root账号下修改配置文件
vi /etc/sysctl.conf
在末尾添加配置,值大于等于实体的262144就可以
添加完成后执行下面命令
sysctl -p
然后可以查看到成功修改成你设置的数字
上面问题解决后,切换成elasticsearch账号,继续启动es,看到下图的样子证明就启动成功了
验证
浏览器输入ip地址,加上自己在配置文件中配置的端口,比如我这里的9201访问
我前面配置的host是0.0.0.0,所以可以用外网访问,不需要外网访问的话,就配置127.0.0.1或者对应的内网ip就行
安装head插件
安装好ES后,你就可以通过官网提供的相关命令开进行索引的创建,但是更多人还是习惯用界面直接操作.这个时候就可以用elasticsearch-head这个插件了.elasticsearch-head 是用于监控 ES 状态的客户端插件,包括数据可视化、执行增删改查操作等(我就简单暴露的把它理解成了像Navicat这类的工具).
git地址: https://github.com/mobz/elasticsearch-head
安装前准备
在上面地址说明中可以看到,安装他需要npm包管理工具,所以先在系统下安装一下node.js吧
nodejs下载地址: https://nodejs.org/en/download/
长期维护的版本可能不包含最新版本最新特性,但是比较稳定,所以这里就用稳定的版本吧.可以选择源码安装,就是可能坑有点多(被坑过一次的经历),我这里就直接下载'编译好的二进制文件',因为简单嘛
wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz //下载
xz -d node-v10.15.3-linux-x64.tar.xz //解压xz格式
tar -xf node-v10.15.3-linux-x64.tar //最终解压
进入里面的bin目录就可以看到已经编译好的node和npm了,直接使用就好.
分别给他们设置个软连方便全局使用node和npm命令
ln -s /opt/soft/node-v10.15.3-linux-x64/bin/node /usr/local/bin/
ln -s /opt/soft/node-v10.15.3-linux-x64/bin/npm /usr/local/bin/
开始安装head
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install //知道node的应该明白这一步其实就是在下载安装相关的依赖扩展
如果在安装图中的扩展的时候报错了,就直接忽略他,执行下面命令
npm install phantomjs-prebuilt@2.1.16 --ignore-scripts //执行这个命令前,先把node_modules/目录下已经有的扩展全部删除了
到这里先不要忙去执行 'npm run start' 运行,先修改一下配置文件吧
sudo vi Gruntfile.js
上面配置文件中可以修改head插件监听的端口.默认是9100,我改成9101
sudo vi _site/app.js
上面配置文件中可以修改head访问es的端口,这里改的端口需要和你es的一致
最开始我在配置es的时候,配置了两个允许跨域的选项就是为了这里head能够访问es
npm run start //启动
启动之前保证es是启动的状态, 如果不想占用终端,就在es启动命令中添加一个 '-d'参数, 然后浏览器输入http://localhost:9101访问就可以,如果是云服务器,就用对应的ip地址替换localhost
ps: 在这个插件中我们就能界面化es的操作,还是比较方便的,但是也正因为方便,而且这个拥有各种删除什么的权限,只能在开发阶段的时候用,生产环境一定要关闭他
elasticsearch集群搭建
集群中包含三台服务器,内网ip分别是
172.27.0.17(master)----主服务器,这也是上面步骤安装的服务器
172.27.0.11(slave1)-----从服务器1
172.27.0.6 (slave2)-----从服务器2
按照前面的步骤分配在两台从服务器中安装ES,注意下图中是和主节点配置不一样的地方
cluster.name: 集群名字必须一致
node.name: 从服务器节点名字(两个从节点分别为slave1个slave2)
node.master: 是否为主节点
discovery.zen.ping.unicast.hosts: 节点向指定的主机发送单播请求,可以理解成寻找他的主节点,数组的形式证明可以多个,这里只有一个
三台es服务器以及head插件都分别配置好并且启动后,直接访问head所在服务器以及监听的端口,就能看到es集群了
IK分词插件的安装
详细地址: https://github.com/medcl/elasticsearch-analysis-ik,上面有具体的安装步骤
版本选择
上图是版本的选择,我这里安装的es版本是6.6.2,多以直接选择ik的master版本
安装
他提供了两种安装方式,第一种是去 https://github.com/medcl/elasticsearch-analysis-ik/releases这个地址下载对应的版本,然后在你自己的es目录下的扩展插件目录下,解压出来就可以,第二种方式是直接用es安装插件的运行命令,下面分别试一试
ps: 两种安装方式都记得切换到为es服务创建的账号下进行操作,比如我这里切换到 elasticsearch 这个账号
1. 下载的方式安装
进入es的plugins目录,创建ik目录,下载ik分词插件,解压
wge https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.2/elasticsearch-analysis-ik-6.6.2.zip
停止掉es服务重新启动,在启动的日志中,就可以看到是否加载了ik插件
2. 命令的方式安装
这种安装方式需要需要es版本大于等于5.5.1,刚刚的安装方式我是在集群的master节点安装的,接下来我切换到slave1节点安装
查看es运行状态,如果运行中,直接停止
切换到es服务账号,在es的bin目录下执行安装命令
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.2/elasticsearch-analysis-ik-6.6.2.zip
测试分词器的分词计划
1. 默认的standard
2. 刚刚安装的ik分词器
可以看到,默认的standard是把每个字都单独分开了,而ik_smart是只能的分解成了一些词语,显然后者比较适用
作者:彭槐
链接:https://www.jianshu.com/p/1d2ddb92f6fb
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
Elasticsearch 安装与配置详细说明 Elasticsearch 是一个基于 Lucene 库的搜索引擎,提供了强大的搜索功能和数据分析能力。今天,我们将详细介绍 Elasticsearch 的安装和配置过程。 一、 Elasticsearch 安装 ...
本文将详细介绍 Elasticsearch 集群安装配置的步骤和要点。 一、环境准备 为了安装和配置 Elasticsearch 集群,需要满足以下环境要求: * 系统版本:CentOS Linux release 7,64 位 * 服务器:3 台服务器,IP ...
### Elasticsearch 5.4.1 安装与配置详解 #### 一、Elasticsearch简介 Elasticsearch是一个基于Lucene的开源搜索和分析引擎,适用于各种类型的数据,包括文本、数字、地理空间数据等。它能够提供快速的全文搜索能力...
本文将详细介绍 Elasticsearch 的安装配置过程,以及常见错误的解决办法。 一、Elasticsearch 安装 Elasticsearch 的安装过程非常简单,只需要解压缩下载的安装包,切换到解压缩后的文件夹中,然后运行可执行文件...
本文将详细介绍Elasticsearch的安装、配置以及与Spring的整合,还会涉及Elasticsearch的curl命令操作和中文分词器IK的安装。 一、Elasticsearch的安装与启动 1. 首先,Elasticsearch运行需要Java Development Kit...
elasticsearch.yml 配置文件 ,大自然的搬运工
内含的一键安装脚本 `installES.sh` 是为了简化 Elasticsearch 的部署过程,使得用户能够在Linux环境中快速便捷地安装和配置 Elasticsearch 7.7.0。通常,这个脚本会包含以下步骤: 1. **环境检查**:检查操作系统...
### Elasticsearch 安装 IK 分词器详解 #### 一、背景及需求分析 Elasticsearch 是一款基于 Lucene 的搜索引擎,广泛...通过以上步骤,可以有效地在 Elasticsearch 中安装并配置 IK 分词器,提高中文文本处理的能力。
安装Kibana也需要Java环境,并配置与Elasticsearch的连接。 10. **数据导入**:使用`curl`命令或客户端库(如Java API)可以向Elasticsearch索引中添加、更新和删除数据。JSON文档是主要的数据交换格式。 11. **...
在本文中,我们将深入探讨如何进行Elasticsearch(ES)的单点部署,安装Kibana,并配置IK分词器,这些都是大数据分析和日志管理中至关重要的组件。 ## 一、Elasticsearch(ES)单点部署 ### 1.1 下载ES 首先,你...
这个项目演示了如何下载、安装、配置和使用 Elasticsearch。Elasticsearch 是一个强大的搜索和数据分析引擎,广泛应用于日志和事件数据分析、全文搜索和数据可视化等领域。本文通过实例介绍了基本操作,包括数据索引...
在Windows平台上部署Elasticsearch 8.14.1,你需要先下载对应的安装包,这个压缩文件"elasticsearch-8.14.1"可能包含了以下关键组件和配置: 1. **bin目录**:包含可执行文件,如`elasticsearch.bat`,这是启动...
ElasticSearch7.1.1安装与配置,在centos7.2下面的安装和配置方法,亲身实践的产物,和大家一起分享
### Elasticsearch在Linux系统的安装与配置详解 #### 一、引言 Elasticsearch是一款基于Lucene的开源搜索和分析引擎,适用于全文检索、结构化数据检索等场景。它以其高性能、高扩展性和易于使用的特性而受到广泛...
安装完成后,需要在 Elasticsearch 的配置文件(如 `elasticsearch.yml`)中指定使用 Ik 分词器,并可能需要配置相应的参数,例如自定义词典路径。 压缩包中的 "elasticsearchik" 文件可能是 Ik 分词器的配置文件、...
文章【elasticsearch】Docker安装elasticsearch配置文件elasticsearch.yml,直接修改ip放入挂载的目录下。
elasticsearch安装以及配置详细步骤教程
es-head是一个针对Elasticsearch的可视化操作插件。它提供了一个便捷的操作工具,可以连接Elasticsearch搜索引擎,并提供可视化的操作页面,对Elasticsearch进行各种设置和数据检索功能的管理。 es-head 插件可以在...
安装过程中,通常包括解压下载的文件到指定目录,修改配置文件(如`elasticsearch.yml`),并设置环境变量。 配置文件`elasticsearch.yml`是Elasticsearch的核心配置,可以在这里设置节点名称、集群名称、数据路径...