终结初学者对ElasticSearch、Kibana、Logstash安装的种种困难《玩转ElasticSearch 1》-1

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 终结初学者对ElasticSearch、Kibana、Logstash安装的种种困难《玩转ElasticSearch 1》

项目中准备使用ElasticSearch,之前只是对ElasticSearch有过简单的了解没有系统的学习,本系列文章将从基础的学习再到深入的使用。


咔咔之前写了一份死磕MySQL文章,如今再入一个系列玩转ElasticSearch。


本期文章会带给大家安装ElasticSearch、Kibana、Logstash、配置ElasticSearch外网可访问、配置守护进程启动Kibana、ElasticSearch、使用Logstash导入演示数据到ElasticSearch中。




一、安装ElasticSearch

从0开始搭建一个ElasticSearch环境,接下来先安装。


ElasticSearch官网在一直改版,有很多小伙伴找不到下载位置。


进去之后点击圈起来的位置,不要点击左边直接下载了


image.png


进去之后可以看到发布的历史版本,根据自己的需求下载对应的版本即可,这里咔咔下载的是7.1.0版本


image.png


如果你是Linux,可以打开开发者模式,把地址复制出来,使用wget + 地址 直接下载即可。


https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz


image.png


可以看到此时已将ElasticSearch下载下来了,这是已经解压好的


image.png


到了这一步不要冲动直接就去启动,ElasticSearch从5.x版本开始为了安全起见,不能直接使用root用户启用。


添加用户


执行useradd es,添加es用户


在root用户下把ElasticSearch用户权限给es用户即可


chown -R es ElasticSearch


启动ElasticSearch


切到es用户后,执行执行./bin/elasticsearch即可启动ElasticSearch


启动出现初始化密钥库问题

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /usr/local/elasticsearch/elasticsearch-6.6.0/config/elasticsearch.keystore
Likely root cause: java.nio.file.AccessDeniedException: /usr/local/elasticsearch/elasticsearch-7.1.0/config/elasticsearch.keystore
  at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
  at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
  at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
  at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
  at java.nio.file.Files.newByteChannel(Files.java:361)
  at java.nio.file.Files.newByteChannel(Files.java:407)
  at org.apache.lucene.store.SimpleFSDirectory.openInput(SimpleFSDirectory.java:77)
  at org.elasticsearch.common.settings.KeyStoreWrapper.load(KeyStoreWrapper.java:206)
  at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:224)
  at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:289)
  at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159)
  at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150)
  at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
  at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
  at org.elasticsearch.cli.Command.main(Command.java:90)
  at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115)
  at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)
Refer to the log for complete error details.

这个版本需要进行安全认证功能需要创建elasticsearch.keystore这个文件所以输入下面的命令


./bin/elasticsearch-keystore create


查看是否启动成功


在浏览器访问127.0.0.1::9200看到如下界面就说明已经安装成功了


image.png


这里咔咔是安装在centos虚拟机上的,那么如果用外网可以访问到ElasticSearch呢!


二、配置外网访问

配置外网访问的步骤也很简单,跟着步骤走三分钟搭建好


问题一


max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]


编辑 /etc/security/limits.conf,追加以下内容


es soft nofile 65536


es hard nofile 65536


问题二


max number of threads [3782] for user [es] is too low, increase to at least [4096]


意思是elasticsearch最大线程数目太低


修改 /etc/security/limits.conf


在文件末尾增加以下两行:


es soft nproc 4096


es hard nproc 4096


问题三


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


在/etc/sysctl.conf文件最后添加一行


vm.max_map_count=262144


问题四


the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured


意思是配置以下三者,最少其一


#[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]


在elasticsearch的config目录下,修改elasticsearch.yml配置文件


node.name: node-1
cluster.initial_master_nodes: ["node-1"]
network.host: 0.0.0.0

问题五


以上操作都执行完了,但外网还访问不了,需要看一下防火墙是否关闭


# 关闭防火强

systemctl stop firewalld.service


# 设置永久关闭

systemctl disable firewalld.service


这里需要注意一点,问题一和二修改完成后需要重启机器,切记、切记、切记


外网访问ElasticSearch


可以看到虚拟机的ip是http://192.168.253.129/


image.png


接下来试着在宿主机上访问虚拟机ip+端口9200看是否可以访问


image.png


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
3月前
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
19天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
34 5
|
26天前
|
存储 监控 安全
|
2月前
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
27 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
2月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
147 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
2月前
|
运维 监控 数据可视化
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
67 1
|
3月前
|
JSON 自然语言处理 数据库
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
概念、ik分词器、倒排索引、索引和文档的增删改查、RestClient对索引和文档的增删改查
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
|
3月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
4月前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
|
4月前
|
JSON 自然语言处理 数据库
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。