千家信息网

Elasticsearch的安装使用是怎样的

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关Elasticsearch的安装使用是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。导读ElasticS
千家信息网最后更新 2026年11月01日Elasticsearch的安装使用是怎样的

本篇文章给大家分享的是有关Elasticsearch的安装使用是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

导读ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。

Elastic

Elastic有一条完整的产品线及解决方案:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。

Elasticsearch

Elasticsearch官网:https://www.elastic.co/cn/products/elasticsearch

如上所述,Elasticsearch具备以下特点:

分布式,无需人工搭建集群(solr就需要人为配置,使用Zookeeper作为注册中心)

Restful风格,一切API都遵循Rest原则,容易上手

近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。

版本

目前Elasticsearch最新的版本是6.3.1,我们就使用6.3.0

需要虚拟机JDK1.8及以上

安装和配置

为了模拟真实场景,我们将在 linux下安装Elasticsearch。

新建一个用户leyou

出于安全考虑,elasticsearch默认不允许以root账号运行。

创建用户:

useradd leyou

设置密码:

passwd leyou

切换用户:

su - leyou

上传安装包,并解压

我们将安装包上传到:/home/leyou目录

解压缩:

tar -zxvf elasticsearch-6.2.4.tar.gz

删除压缩包:

rm -rf elasticsearch-6.2.4.tar.gz

我们把目录重命名:

mv elasticsearch-6.2.4/ elasticsearch

进入,查看目录结构:

修改配置

我们进入config目录:cd config

需要修改的配置文件有两个:

jvm.options

Elasticsearch基于Lucene的,而Lucene底层是Java实现,因此我们需要配置jvm参数。

编辑jvm.options:

vim jvm.options默认配置如下:-Xms1g-Xmx1g内存占用太多了,我们调小一些:-Xms512m-Xmx512melasticsearch.yml
vim elasticsearch.yml修改数据和日志目录:path.data: /home/leyou/elasticsearch/data # 数据目录位置path.logs: /home/leyou/elasticsearch/logs # 日志目录位置

我们把data和logs目录修改指向了elasticsearch的安装目录。但是这两个目录并不存在,因此我们需要创建出来。

进入elasticsearch的根目录,然后创建:

mkdir datamkdir logs

修改绑定的ip:

network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问

默认只允许本机访问,修改为0.0.0.0后则可以远程访问

目前我们是做的单机安装,如果要做集群,只需要在这个配置文件中添加其它节点信息即可。

elasticsearch.yml的其它可配置信息:

属性名  说明cluster.name       配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。node.name  节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理path.conf  设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearchpath.data  设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开path.logs  设置日志文件的存储路径,默认是es根目录下的logs文件夹path.plugins       设置插件的存放路径,默认是es根目录下的plugins文件夹bootstrap.memory_lock      设置为true可以锁住ES使用的内存,避免内存进行swapnetwork.host       设置bind_host和publish_host,设置为0.0.0.0允许外网访问http.port  设置对外服务的http端口,默认为9200。transport.tcp.port         集群结点之间通信端口discovery.zen.ping.timeout         设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些discovery.zen.minimum_master_nodes         主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2

修改文件权限:

leyou 要own(拥有) elasticsearch 这个文件夹权限 -R 是递归的赋予权限

chown leyou:leyou elasticsearch/ -R

运行

进入elasticsearch/bin目录,可以看到下面的执行文件:

然后输入 命令:

./elasticsearch

发现报错了,启动失败:

错误1:内核过低

我们使用的是 CentOS6,其linux内核版本为2.6。而Elasticsearch的插件要求至少3.5以上版本。不过没关系,我们禁用这个插件即可。

修改elasticsearch.yml文件,在最下面添加如下配置:

bootstrap.system_call_filter: false

然后重启

错误2:文件权限不足

再次启动,又出错了:

[1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

我们用的是leyou用户,而不是root,所以文件权限不足。

首先用root用户登录。

然后修改配置文件:

vim /etc/security/limits.conf添加下面的内容:* soft nofile 65536* hard nofile 131072* soft nproc 4096* hard nproc 4096

错误3:线程数不够

刚才报错中,还有一行:

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

这是线程数不够。

继续修改配置:

vim /etc/security/limits.d/90-nproc.conf 修改下面的内容:* soft nproc 1024改为:* soft nproc 4096

错误4:进程虚拟内存

[3]: max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件, :

vim /etc/sysctl.conf 添加下面内容:vm.max_map_count=655360然后执行命令:sysctl -p

重启终端窗口

所有错误修改完毕,一定要重启你的 X shell终端,否则配置无效。

启动

再次启动,终于成功了!

可以看到绑定了两个端口:

9300:集群节点间通讯接口

9200:客户端访问接口

我们在浏览器中访问:http://192.168.56.101:9200

安装kibana

1.4.1.什么是Kibana?

Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。

而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。

安装

因为Kibana依赖于node,我们的虚拟机没有安装node,而window中安装过。所以我们选择在window下使用kibana。

最新版本与elasticsearch保持一致,也是6.3.0

解压到特定目录即可

配置运行

进入安装目录下的config目录,修改kibana.yml文件:

修改elasticsearch服务器的地址:

elasticsearch.url: "http://192.168.56.101:9200"

运行

进入安装目录下的bin目录:

双击运行:

发现kibana的监听端口是5601

我们访问:http://127.0.0.1:5601

控制台

选择左侧的DevTools菜单,即可进入控制台页面:

在页面右侧,我们就可以输入请求,访问Elasticsearch了。

安装ik分词器

Lucene的IK分词器早在2012年已经没有维护了,现在我们要使用的是在其基础上维护升级的版本,并且开发为ElasticSearch的集成插件了,与Elasticsearch一起维护升级,版本也保持一致,最新版本:6.3.0

安装

上传资料中的zip包,解压到Elasticsearch目录的plugins目录中:

使用unzip命令解压:

unzip elasticsearch-analysis-ik-6.3.0.zip -d ik-analyzer

然后重启elasticsearch:

测试

大家先不管语法,我们先测试一波。

在kibana控制台输入下面的请求:

POST _analyze{  "analyzer": "ik_max_word",  "text":     "我是中国人"}

运行得到结果:

{  "tokens": [    {      "token": "我",      "start_offset": 0,      "end_offset": 1,      "type": "CN_CHAR",      "position": 0    },    {      "token": "是",      "start_offset": 1,      "end_offset": 2,      "type": "CN_CHAR",      "position": 1    },    {      "token": "中国人",      "start_offset": 2,      "end_offset": 5,      "type": "CN_WORD",      "position": 2    },    {      "token": "中国",      "start_offset": 2,      "end_offset": 4,      "type": "CN_WORD",      "position": 3    },    {      "token": "国人",      "start_offset": 3,      "end_offset": 5,      "type": "CN_WORD",      "position": 4    }  ]}

以上就是Elasticsearch的安装使用是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

目录 文件 配置 版本 数据 用户 运行 内存 文件夹 权限 根目录 路径 错误 集群 控制台 插件 端口 面的 存储 控制 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技创新与互联网经济 华宇互联网科技 远拓互联网科技 润盈互联网科技 上海万想互联网科技 科技互联网创业计划书 互联网科技公司介绍 互联网养老 桔豆科技 华中科技有哪些互联网大佬 玖二柒互联网科技公司待遇 中盈科技互联网信息有限公司 现代互联网科技股 彤创互联网科技有限公司 知域互联网科技有限公司大骗子 想开互联网科技公司怎么样 广东工业互联网大赛深圳学泰科技 深圳无忧互联网科技 广州有谷有贝互联网科技有限公司 西安有哪些互联网高科技企业 同城互联网络科技 科技与互联网发展 友谊互联网络科技 深圳卡尔迅互联网科技有限公司怎么样 博兴的互联网电子科技公司 汽车互联网创新科技园 消费医药和互联网科技 上海乐五互联网科技有限公司 云南互联网科技学费 盐城市攀科互联网科技有限公司 现代互联网科技公司
0