【ElasticSearch学习笔记】一、ES下载、安装、目录结构、root用户权限问题、kibana下载安装

news2024/9/21 3:34:06

下载和安装

  • 一、下载
  • 二、安装
    • 2.1 JDK的安装
    • 2.2 ElasticSearch的安装
    • 2.3 启动ES
    • 2.4 多节点启动
  • 三、Kibana的安装

一、下载

以下载7.10.0为例:
https://www.elastic.co/cn/downloads/elasticsearch
选择对应的操作系统,我是为了安装在CentOS上面,所以选择的是Linux x86_64版本。
在这里插入图片描述

想找历史版本,点击右边的view past release:
在这里插入图片描述
在下拉框中选择对应的版本:
在这里插入图片描述
点击即可下载:
在这里插入图片描述

二、安装

本次安装环境:

CentOS Linux release 7.9.2009 (Core)
Elasticsearch 7.10.0

2.1 JDK的安装

略略略,在ES 7以后得版本,其安装文件自带JDK。
而且你在Linux上面装个Java都不会,你应该还没有学到ES。😄

2.2 ElasticSearch的安装

将前面下载的文件解压:

tar -zxvf elasticsearch-7.10.0-linux-x86_64.tar.gz

看一下解压后的ES目录中有什么内容:

[root@CentOS elasticsearch-7.10.0]# ll
total 568
drwxr-xr-x.  2 root root   4096 Nov 10  2020 bin
drwxr-xr-x.  3 root root    169 Nov 16 22:57 config
drwxr-xr-x.  9 root root    107 Nov 10  2020 jdk
drwxr-xr-x.  3 root root   4096 Nov 10  2020 lib
-rw-r--r--.  1 root root  13675 Nov 10  2020 LICENSE.txt
drwxr-xr-x.  2 root root      6 Nov 10  2020 logs
drwxr-xr-x. 53 root root   4096 Nov 10  2020 modules
-rw-r--r--.  1 root root 544318 Nov 10  2020 NOTICE.txt
drwxr-xr-x.  2 root root      6 Nov 10  2020 plugins
-rw-r--r--.  1 root root   7313 Nov 10  2020 README.asciidoc
  • bin: 可执行脚本文件,包括启动服务命令,插件管理,函数命令。
  • config:配置文件目录,如elasticsearch配置,角色配置,jvm配置等。
  • lib:elasricsearch所依赖的jar包库
  • data:默认的数据存放目录,包含所有节点、分片、索引、文档的所有数据。
  • logs:默认的日志存储路径。
  • modules:包含所有ES包含的模块,如Cluster、Discovery、Indices。
  • plugins:已经安装的插件的目录。
  • jdk:7.0之后才有,自带的java环境。

    可以看一下它所包含的Java版本,为JDK 15。

    [root@CentOS elasticsearch-7.10.0]# cd jdk/bin/
    [root@CentOS bin]# ./java -version
    openjdk version "15.0.1" 2020-10-20
    OpenJDK Runtime Environment AdoptOpenJDK (build 15.0.1+9)
    OpenJDK 64-Bit Server VM AdoptOpenJDK (build 15.0.1+9, mixed mode, sharing)
    

2.3 启动ES

执行bin目录下面的elasticsearch命令,-d参数是为了在后台启动。

[root@centos elasticsearch-7.10.0]# ./bin/elasticsearch -d

遇到了错误:

[root@centos elasticsearch-7.10.0]# ./bin/elasticsearch -d
[root@centos elasticsearch-7.10.0]# uncaught exception in thread [main]
java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:111)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393)
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170)
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161)
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127)
        at org.elasticsearch.cli.Command.main(Command.java:90)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)
For complete error details, refer to the log at /root/elasticsearch-7.10.0/logs/elasticsearch.log
2022-11-16 15:14:28,412676 UTC [4050] ERROR CLogger.cc@310 Cannot log to named pipe /tmp/elasticsearch-15103854651302852425/controller_log_4031 as it could not be opened for writing
2022-11-16 15:14:28,414901 UTC [4050] INFO  Main.cc@103 Parent process died - ML controller exiting

这是因为elasticsearch为了安全,不允许使用root用户启动。
我们可以单独创建一个用户来专门运行ES。

或者在ES5以及以前版本,我们可以修改一下ES的配置,使得我们可以使用root用户启动。

  1. 在执行elasticSearch时加上参数-Des.insecure.allow.root=true,完整命令如下
./elasticsearch -Des.insecure.allow.root=true
  1. 打开elasticsearch执行文件,在变量ES_JAVA_OPTS使用前为其赋值添加参数:
ES_JAVA_OPTS="-Des.insecure.allow.root=true"

而在新的版本,我们就只能创建新的用户来执行ES解决这个问题了。
创建用户es并且授权:

[root@centos elasticsearch-7.10.0]# adduser es
[root@centos elasticsearch-7.10.0]# passwd es
Changing password for user es.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@centos elasticsearch-7.10.0]# cd ..                              
[root@centos ~]# chown -R es elasticsearch-7.10.0

切换用户:

[root@centos ~]# sudo su - es
Last login: Wed Nov 16 23:49:10 CST 2022 on pts/0

再次执行es启动命令:

[es@centos elasticsearch-7.10.0]$ ./bin/elasticsearch -d
[es@centos elasticsearch-7.10.0]$ 

没有什么异常的输出,我们可以看一下日志文件:

less logs/elasticsearch.log 

我们找到了started字样,说明启动成功了。
在这里插入图片描述

我们可以访问一下服务器的9200端口:
在这里插入图片描述
得到了ES的状态,说明ES启动成功。

2.4 多节点启动

如果我们想启动多个节点,
首先我们先启动第一个节点:

./bin/elasticsearch -E path.data=data1 -E path.logs=log1 -E node.name=node1 -E cluster.name=veeja-test -d
./bin/elasticsearch -E path.data=data2 -E path.logs=log2 -E node.name=node2 -E cluster.name=veeja-test -d

然后分别访问9200和9201端口就能看到了:
在这里插入图片描述

三、Kibana的安装

同样下载7.10.0版本:
在这里插入图片描述

kibana-7.10.0-linux-x86_64.tar.gz

解压:

[root@centos ~]# tar -zxvf kibana-7.10.0-linux-x86_64.tar.gz 
[root@centos ~]# ll
total 558188
drwxr-xr-x. 10 root root            210 Nov 20 15:01 kibana-7.10.0-linux-x86_64
-rw-r--r--.  1 root root      252795226 Nov 20 14:59 kibana-7.10.0-linux-x86_64.tar.gz

先修改一下配置文件,以便于我们再虚拟机外部访问(本地运行可以忽略):

[es@centos kibana-7.10.0-linux-x86_64]$ vim config/kibana.yml 

修改为虚拟机的IP:

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "192.168.31.217"

启动kibana的方式同es差不多:

[es@centos kibana-7.10.0-linux-x86_64]$ ./bin/kibana

当我们看到如下字样:
在这里插入图片描述
就证明启动成功了,我们可以访问一下5601端口进行尝试:
在这里插入图片描述


End.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/21953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序 | 做一个小程序端的扫雷游戏

📌个人主页:个人主页 ​🧀 推荐专栏:小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏!从个人到商业的全套开发教程,实打实的干货分享,确定不来看看? …

【第三部分 | 移动端开发】3:Flex布局

目录 | Flex布局简介 | Flex父元素属性 设置主轴的方向 flex-direction 设置主轴上的子元素排列方式 justify-content 设置子元素是否换行 flex-wrap 设置侧轴上的子元素排列方式(单行) align-items 设置侧轴上的子元素的排列方式(多行…

HIve数仓新零售项目DWD层的构建

HIve数仓新零售项目 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kaf…

网络是怎样链接的--向DNS服务器查询Web服务器的IP地址

文章目录2.1 IP地址的基本知识2.2 域名和IP地址共用理由2.3 DNS本质是什么2.4 浏览器如何获取IP2.5 DNS解析器内部工作原理2.1 IP地址的基本知识 浏览器能够解析网址并生成HTTP消息,但并不具备将消息发送到网络中的功能,因此这一功能需要委托操作系统来…

DataObjectImpl

DataObjectImpl目录概述需求:设计思路实现思路分析1.DataObjectImpl2.DeadLetterJobQueryImpl3.DeploymentQueryImpl4.Direction5.DynamicBpmnServiceImpl参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,fu…

IDEA2022版本创建maven web项目(两种方式)

目录 一、使用骨架的方式 二、maven中添加 web方式 总结: 前言: 创建maven web项目有两种方式,一种是使用骨架方式,一种是不使用骨架的方式 一、使用骨架的方式 1.打开idea,按照步骤创建一个新的项目 2.点击Mave…

【高级篇】Java JVM实战 之 内存调优

文章目录一、通过Jprofiler调式Dump文件错误⛅ 什么是Jprofiler?⚡使用Jprofiler调试Dump文件二、堆内存调优三、 GC垃圾回收器四、GC常用算法❄️引用计数法⛄复制算法♨️标记清除算法⛽标记压缩⚠️标记清除压缩五、JMM⛵小结一、通过Jprofiler调式Dump文件错误 …

Spark 3.0 - 4.Pipeline 管道的工作流程

目录 一.引言 二.基本组件 三.Pipeline 基本流程 1.训练 Pipeline - Estimator 2.预测 Pipeline - Transformer 四.Pipeline 分解与构造 1.DataFrame 2.Transformer1 - Tokenizer 3.Transformer2 - HashingTF 4.Estimator - LR 5.Pipeline With ParamMap - Estimat…

SpringCloud微服务(一)——Consul服务注册中心

Consul服务注册中心 SpringCloud 中文官网:https://www.springcloud.cc/spring-cloud-consul.html Consul是一套开源的分布式服务发现和配置管理系统,Go语言开发。 Consul是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络…

SharedPreferences存储

文章目录 前言 听说SharedPreferences存储技术快过时了,不过如果是单纯的使用的话,不费什么时间成本。 本文的Demo摘录自《第一行代码》。 一.什么是SharedPreferences SharedPreferences,一种通过使用键值对的方式来存储数据的技术。 二…

【深入浅出Spring6】第八期——面向切面编程 AOP

AOP(Aspect Oriented Programming)面向切面编程,属于面向对象编程的一种衍射,是一种编程思想或技术AOP的底层是由动态代理机制实现的 JDK动态代理CGLIB动态代理,自动识别并切换我们也可以通过配置属性指定就是用CGLIB …

【MySQL】六,sql_model的合理设置

宽松模式和严格模式 宽松模式 如果设置的是宽松模式,那么我们在插入数据的时候,即使是给了一个错误的数据,那么可能也不会报错。 举例:某张表的name字段为 char(10) ,插入数据的时候,如果name字段的数据长…

免费搜题系统

免费搜题系统 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(点击跳转&a…

跨模态神经搜索实践VCED 基于Streamlit实现前端页面设计和逻辑

1. Streamlit入门 1.1 Streamlit介绍 Streamlit是基于Python的Web应用程序框架,它可以使用Python代码轻松构建机器学习/数据科学相关的仪表板,其特点包括: 跨平台:支持Windows、macOS、Linux只需要掌握Python:不需要…

【时序】时间序列数据预处理

目录 1. 时间戳转换 2. 缺失值处理 3. 去噪 1)滚动平均值 2)傅里叶变换 4. 异常点检测 1)基于滚动统计的方法 2)孤立森林 3)K-means 聚类 为了分析预处理结果,我们后续使用 Kaggle 的 Air Passenge…

【Python】发布一个简单好用的日志记录器bestlog

需求 日志是非常重要的一个东西,我们往往习惯于在开发一个新项目的第一行代码时,就用 logging.info 代替 print,随时保持记录的好习惯,等代码上线以后也无需修改替换那些 print,直接开跑,有了完善的日志&a…

牛客刷题——Python入门总结

🤵‍♂️ 个人主页: 北极的三哈 个人主页 👨‍💻 作者简介:Python领域优质创作者。 📒 系列专栏:《Python入门学习》《牛客题库-Python篇》 🌐推荐《牛客网》——找工作神器|笔试题库|面试经…

【软考软件评测师】第三十章 操作系统(PV操作与死锁)

【软考软件评测师】第三十章 操作系统(PV操作与死锁) 第三十章 操作系统(PV操作与死锁)【软考软件评测师】第三十章 操作系统(PV操作与死锁)第一部分 知识点集锦1.PV操作1)P操作的定义2&#xf…

win11的文件属性默认显示全部,Windows11右键菜单修改为Win10模式的方法(手把手详细操作)

win11的文件属性默认显示全部,Windows11右键菜单修改为Win10模式的方法(手把手详细操作) 文章目录win11的文件属性默认显示全部,Windows11右键菜单修改为Win10模式的方法(手把手详细操作)Tips 1 先以管理员…

Source Map知多少?Golang手写SourceMap转换过程

文章目录一、问题背景二、Source Map 简介基本格式应用场景三、Source Map 的工作原理四、Source Map 的转换过程代码示例总结本文从原理的角度入手对 Source Map 进行了较为深入的分析,并从业务需要的角度出发,手动编写根据 Source Map 映射编码前后代码…