`

elasticsearch安装与配置介绍

    博客分类:
  • ELK
 
阅读更多

基本概念

集群:一个或者多个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 安装与配置详细说明 Elasticsearch 是一个基于 Lucene 库的搜索引擎,提供了强大的搜索功能和数据分析能力。今天,我们将详细介绍 Elasticsearch 的安装和配置过程。 一、 Elasticsearch 安装 ...

    Elasticsearch集群安装配置.docx

    本文将详细介绍 Elasticsearch 集群安装配置的步骤和要点。 一、环境准备 为了安装和配置 Elasticsearch 集群,需要满足以下环境要求: * 系统版本:CentOS Linux release 7,64 位 * 服务器:3 台服务器,IP ...

    Elasticsearch5.4.1 安装配置 +Kibana

    ### Elasticsearch 5.4.1 安装与配置详解 #### 一、Elasticsearch简介 Elasticsearch是一个基于Lucene的开源搜索和分析引擎,适用于各种类型的数据,包括文本、数字、地理空间数据等。它能够提供快速的全文搜索能力...

    elasticsearch安装配置详解及常见错误解决办法

    本文将详细介绍 Elasticsearch 的安装配置过程,以及常见错误的解决办法。 一、Elasticsearch 安装 Elasticsearch 的安装过程非常简单,只需要解压缩下载的安装包,切换到解压缩后的文件夹中,然后运行可执行文件...

    elasticsearch安装和使用

    本文将详细介绍Elasticsearch的安装、配置以及与Spring的整合,还会涉及Elasticsearch的curl命令操作和中文分词器IK的安装。 一、Elasticsearch的安装与启动 1. 首先,Elasticsearch运行需要Java Development Kit...

    elasticsearch.yml 配置文件

    elasticsearch.yml 配置文件 ,大自然的搬运工

    elasticsearch-7.7(内含一键安装脚本)

    内含的一键安装脚本 `installES.sh` 是为了简化 Elasticsearch 的部署过程,使得用户能够在Linux环境中快速便捷地安装和配置 Elasticsearch 7.7.0。通常,这个脚本会包含以下步骤: 1. **环境检查**:检查操作系统...

    es安装ik分词器

    ### Elasticsearch 安装 IK 分词器详解 #### 一、背景及需求分析 Elasticsearch 是一款基于 Lucene 的搜索引擎,广泛...通过以上步骤,可以有效地在 Elasticsearch 中安装并配置 IK 分词器,提高中文文本处理的能力。

    elasticsearch服务器安装包

    安装Kibana也需要Java环境,并配置与Elasticsearch的连接。 10. **数据导入**:使用`curl`命令或客户端库(如Java API)可以向Elasticsearch索引中添加、更新和删除数据。JSON文档是主要的数据交换格式。 11. **...

    es安装教程:单点部署es、部署kibana、以及IK分词器

    在本文中,我们将深入探讨如何进行Elasticsearch(ES)的单点部署,安装Kibana,并配置IK分词器,这些都是大数据分析和日志管理中至关重要的组件。 ## 一、Elasticsearch(ES)单点部署 ### 1.1 下载ES 首先,你...

    Elasticsearch 安装、配置和使用案例指南

    这个项目演示了如何下载、安装、配置和使用 Elasticsearch。Elasticsearch 是一个强大的搜索和数据分析引擎,广泛应用于日志和事件数据分析、全文搜索和数据可视化等领域。本文通过实例介绍了基本操作,包括数据索引...

    elasticSearch-8.14.1-windows

    在Windows平台上部署Elasticsearch 8.14.1,你需要先下载对应的安装包,这个压缩文件"elasticsearch-8.14.1"可能包含了以下关键组件和配置: 1. **bin目录**:包含可执行文件,如`elasticsearch.bat`,这是启动...

    elasticsearch7.1.1安装和配置.pdf

    ElasticSearch7.1.1安装与配置,在centos7.2下面的安装和配置方法,亲身实践的产物,和大家一起分享

    1 ElasticSearch 安装

    ### Elasticsearch在Linux系统的安装与配置详解 #### 一、引言 Elasticsearch是一款基于Lucene的开源搜索和分析引擎,适用于全文检索、结构化数据检索等场景。它以其高性能、高扩展性和易于使用的特性而受到广泛...

    适用于elasticsearch7.12.1版本

    安装完成后,需要在 Elasticsearch 的配置文件(如 `elasticsearch.yml`)中指定使用 Ik 分词器,并可能需要配置相应的参数,例如自定义词典路径。 压缩包中的 "elasticsearchik" 文件可能是 Ik 分词器的配置文件、...

    文章【elasticsearch】Docker安装elasticsearch配置文件

    文章【elasticsearch】Docker安装elasticsearch配置文件elasticsearch.yml,直接修改ip放入挂载的目录下。

    elasticsearch安装以及配置详细步骤教程.md

    elasticsearch安装以及配置详细步骤教程

    es-head Elasticsearch的可视化操作插件

    es-head是一个针对Elasticsearch的可视化操作插件。它提供了一个便捷的操作工具,可以连接Elasticsearch搜索引擎,并提供可视化的操作页面,对Elasticsearch进行各种设置和数据检索功能的管理。 es-head 插件可以在...

    elasticsearch安装文件

    安装过程中,通常包括解压下载的文件到指定目录,修改配置文件(如`elasticsearch.yml`),并设置环境变量。 配置文件`elasticsearch.yml`是Elasticsearch的核心配置,可以在这里设置节点名称、集群名称、数据路径...

Global site tag (gtag.js) - Google Analytics