知识篇 | 麒麟v10 下安装Elasticsearch

这篇具有很好参考价值的文章主要介绍了知识篇 | 麒麟v10 下安装Elasticsearch。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近因工作原因,和ES(Elasticsearch)接触的比较多;ES之前了解过,不怎么熟悉,故打算系统学习之。

按照自己的学习惯例,一是了解主要概念,二是动手安装一遍。

故,本文大纲为:

1. 概念理解:

1) ES是什么?

2) ES发展史

3) ES市场成熟度

2. 安装部署

1) Linux下如何安装

2) Docker方式如何安装

Contents:

一、ES概念理解:

1. ES是什么(Elasticsearch)?

Elasticsearch 是由 Elastic 公司创建。它的代码位于 GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine。

目前,Elasticsearch 是一个免费及开放(free and open)的项目。

 

Elastic 公司也拥有 Logstash 及 Kibana 开源项目,三个项目形成了 ELK 软件栈,形成了一个强大的生态圈。其中:

1. Logstash 负责数据的采集,处理(丰富数据,数据转换等);

2. Kibana 负责数据展示,分析,管理,监督及应用;

3. Elasticsearch 处于最核心的位置,它可以帮对数据进行快速地搜索及分析。

知识篇 | 麒麟v10 下安装Elasticsearch

 

Elasticsearch是一个基于Lucene的一个开源的高扩展的分布式全文检索引擎,基于RESTful web接口,隐藏了Luncee的复杂性,从而让全文搜索变得简单;可近乎实时的存储、检索数据,可扩展性强,可处理PB级别的数据。

理解ES的关键在于理解lucene的基本原理

Lucene是一种高性能、可伸缩的信息搜索(IR)库,在2000年开源,最初由鼎鼎大名的Doug Cutting开发,是基于Java实现的高性能的开源项目。Lucene采用了基于倒排表的设计原理,可以非常高效地实现文本查找,在底层采用了分段的存储模式,使它在读写时几乎完全避免了锁的出现,大大提升了读写性能。

关于lucene的原理,可参见如下链接,这里不再赘述:

https://www.jianshu.com/p/28fb017be7a7

 

官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

Elasticsearch以上大致了解了ES是什么?

接下来再说一下ES的发展史,了解其发展史,可帮助我们知道所以然和不然。

4. ES发展史

Elasticsearch是一个基于 Apache Lucene (TM)的开源搜索引擎。无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

在 1999 年,Doug Cutting 创建了一个叫做 Lucene 的开源项目:

1. 一个完全用 Java 编写的搜索引擎库

2. 截止2005年,是一个顶级的 Apache 开源项目

3. 提供强大的全文搜索功能

但Lucene 只是一个库,本身并不提供高可用性及分布式部署。想要发挥其强大的作用,需使用 Java 并要将其集成到应用中。而且Lucene 非常复杂,需要深入的了解检索相关知识来理解它是如何工作的,上手比较困难。

大家这里可以类比内存溢出和释放来理解。

在 2004 年, Shay Banon也就是现在 Elastic 的 CEO,开发了一个叫做 Compass 的开源项目:

1. 构建于 Lucence 之上

2. 目的是使得 Lucene 搜索更容易集成到 Java 应用中去

3. 可扩展性变得尤为重要

在 2010 年,Shay 完全重新编写了 Compass 以实现如下的两个目的:

1. 设计之初,就使用分布式部署设计

2. 可方便地使用其它的语言进行对接调用

Shay 最终把这个项目称之为 Elasticsearch,并于2010年10月发布与 github 上。

不过,Elasticsearch 不仅仅是 Lucene 和全文搜索引擎,它还提供:

1. 分布式的实时文件存储,每个字段都被索引并可被搜索

2. 实时分析的分布式搜索引擎

3. 可以扩展到上百台服务器,处理 PB 级结构化或非结构化数据

上述功能被集成到一台服务器,应用可以通过简单的 RESTful API、各种语言的客户端甚至命令行与之交互。上手 Elasticsearch 非常简单,它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。

Elasticsearch 的特点是它提供了一个极速的搜索体验。这源于它的高速(speed)。相比较其它的一些大数据引擎,Elasticsearch 可以实现秒级的搜索;Elasticsearch 的 cluster 是一种分布式的部署,极易扩展(scale)。

小结:

Elasticsearch 是使用 Java 编写并使用 Lucene 来建立索引并实现搜索功能,通过简单连贯的 RESTful API 让全文搜索变得简单并隐藏 Lucene 的复杂性;其是实时分析的分布式搜索引擎,可以扩展到上百台服务器,处理 PB 级结构化或非结构化数据。

5. ES市场认可度

Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

可以看出5月份的目前Elasticsearch排名为第七名,Solr的DB-Engines排名为第29名。

DB-Engines官网链接:

https://db-engines.com/en/ranking

知识篇 | 麒麟v10 下安装Elasticsearch

二、动手安装

了解了ES的概念和发展史,接下来就该实操起来练练手,所谓烂笔头好过好记性。

 

Elasticsearch单机版部署

Elasticsearch版本

Elasticsearch版本:8.1.3

Kibana版本:8.1.3

操作系统:

麒麟v10 sp2

[root@192 ~]# cat /proc/version

Linux version 4.19.90-24.4.v2101.ky10.x86_64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 24 12:14:55 CST 2021

CPU芯片信息:

[root@192 ~]# lscpu

架构:                           x86_64

CPU 运行模式:                  32-bit, 64-bit

字节序:                         Little Endian

Address sizes:                   45 bits physical, 48 bits virtual

CPU:                             1

在线 CPU 列表:                 0

每个核的线程数:                 1

每个座的核数:                   1

座:                             1

NUMA 节点:                     1

厂商 ID:                       AuthenticAMD

CPU 系列:                      23

型号:                           96

型号名称:                       AMD Ryzen 7 4800H with Radeon Graphics

步进:                           1

CPU MHz:                       2894.561

BogoMIPS:                      5789.12

超管理器厂商:                   VMware

虚拟化类型:                     完全

L1d 缓存:                      32 KiB

L1i 缓存:                      32 KiB

L2 缓存:                       512 KiB

L3 缓存:                       4 MiB

NUMA 节点0 CPU:                0

具体操作步骤如下:

1. 解压缩

[root@192 es]# gunzip elasticsearch-8.1.3-linux-x86_64.tar.gz

-rw-r--r-- 1 root root 1101649920  5月  3 18:41 elasticsearch-8.1.3-linux-x86_64.tar

继续解压缩

[root@192 es]# tar -xvf elasticsearch-8.1.3-linux-x86_64.tar

[root@192 es]# ll

总用量 1075832

drwxr-xr-x 9 root root        155  4月 19 16:19 elasticsearch-8.1.3

-rw-r--r-- 1 root root 1101649920  5月  3 18:41 elasticsearch-8.1.3-linux-x86_64.tar

2. 创建用户

基于安全可控的原则,Elasticsearch 不允许 root 用户直接运行;

所以要创建新用户, root 用户中创建新用户

[root@192 ~]# useradd es    #新增 es 用户

[root@192 ~]# passwd es     #为 es 用户设置密码

更改用户 es 的密码 。

新的 密码:

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

userdel -r es #如果错了,可以删除再加

3. 修改属性(必须要执行)

[root@192 es]# pwd

/es

[root@192 es]# chown -R es:es elasticsearch-8.1.3

4. 修改配置文件

修改/es/elasticsearch-8.1.3/config/elasticsearch.yml 文件 # 加入如下配置

[root@192 config]# vim elasticsearch.yml

cluster.name: my-application

node.name: node-1

network.host: 0.0.0.0

http.port: 9200

cluster.initial_master_nodes: ["node-1"]

 

注意:

1. 为es设置ip绑定,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问,也可配置0.0.0.0全部可以访问

2. 为es设置自定义端口,默认是9200

5. 修改OS层系统参数

修改/etc/security/limits.conf # 在文件末尾中增加下面内容

# 每个进程可以打开的文件数的限制

es soft nofile 65536

es hard nofile 65536

修改/etc/sysctl.conf # 在文件中增加下面内容

# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536

vm.max_map_count=655360

重新加载

[root@192 security]# sysctl -p

kernel.sysrq = 0

net.ipv4.ip_forward = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.icmp_ignore_bogus_error_responses = 1

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

net.ipv4.tcp_syncookies = 1

kernel.dmesg_restrict = 1

net.ipv6.conf.all.accept_redirects = 0

net.ipv6.conf.default.accept_redirects = 0

vm.max_map_count = 655360

6. 启动软件

使用 ES 用户启动

su - es

cd /es/elasticsearch-8.1.3/bin

#后台启动

./elasticsearch -d

7. 停止es

ps -ef|grep elasticsearch

kill -9 pid

三、设置Elasticsearch密码

步骤1:设置密码

[es@192 bin]$ ./elasticsearch-setup-passwords interactive

******************************************************************************

Note: The 'elasticsearch-setup-passwords' tool has been deprecated. This       command will be removed in a future release.

******************************************************************************

Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.

You will be prompted to enter passwords as the process progresses.

Please confirm that you would like to continue [y/N]y

Enter password for [elastic]:

passwords must be at least [6] characters long

Try again.

Enter password for [elastic]:

Reenter password for [elastic]:

Enter password for [apm_system]:

Reenter password for [apm_system]:

Enter password for [kibana_system]:

Reenter password for [kibana_system]:

Enter password for [logstash_system]:

Reenter password for [logstash_system]:

Enter password for [beats_system]:

Reenter password for [beats_system]:

Enter password for [remote_monitoring_user]:

Reenter password for [remote_monitoring_user]:

Changed password for user [apm_system]

Changed password for user [kibana_system]

Changed password for user [kibana]

Changed password for user [logstash_system]

Changed password for user [beats_system]

Changed password for user [remote_monitoring_user]

Changed password for user [elastic]

因为需要设置 elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user 这些用户的密码,故这个过程比较漫长,耐心设置。

步骤2:验证

浏览器直接访问https://192.168.220.110:9200,会出现输入用户名、密码的弹窗,输入elastic和密码后,可看到elasticsearch信息。

知识篇 | 麒麟v10 下安装Elasticsearch

四、安装kibana

https://www.elastic.co/cn/downloads/kibana

知识篇 | 麒麟v10 下安装Elasticsearch

1. 解压缩

[root@192 es]# gunzip kibana-8.1.3-linux-x86_64.tar.gz

[root@192 es]# tar -xvf kibana-8.1.3-linux-x86_64.tar

2. vim config/kibana.yml

server.port: 5601 

server.host: "0.0.0.0"

elasticsearch.hosts: ["http://192.168.220.110:9200"] 

elasticsearch.username: "kibana_system" 

elasticsearch.password: "elastic"

#kibana中文模式

i18n.locale: "zh-CN"

3. 修改权限

[root@192 es]# chown -R es:es kibana-8.1.3

4. 后台启动

[es@192 ~]$ cd /es/kibana-8.1.3/bin

[es@192 bin]$ nohup ./kibana &

5. web访问  ip:5601

http://192.168.220.110:5601

注意:192.168.220.110为本虚拟机的ip地址

6) 停止kibana

lsof -i:5601查看进程

[es@192 bin]$ lsof -i:5601

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

node    89939   es   18u  IPv4 165188      0t0  TCP *:esmagent (LISTEN)

kill -9进程号

总结:

1. 本文阐述了ES的概念;因为不了解,故动手安装了一遍单机版的ES部署过程;后续集群版则其部署;

2. To be continued.

 

【参考】

https://blog.csdn.net/UbuntuTouch/article/details/98871531

【参考】

https://db-engines.com/en/ranking

【参考】

https://elasticstack.blog.csdn.net/article/details/113754619

【参考】

https://www.jianshu.com/p/28fb017be7a7

【参考】

https://www.modb.pro/db/394758

【参考】

https://www.elastic.co/guide/index.html

以下是个人微信公众号,欢迎关注:文章来源地址https://www.toymoban.com/news/detail-406716.html

到了这里,关于知识篇 | 麒麟v10 下安装Elasticsearch的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 银河麒麟V10 达梦安装教程

    安装前先准备要安装包,包需要需要区分X86和arm架构。 版本为:dm8_20230419_FTarm_kylin10_sp1_64.iso 达梦数据库下载地址: https://www.aliyundrive.com/s/Qm7Es5BQM5U   第一步创建用户 su - root 1. 创建安装用户组 dminstall。 groupadd -g 12345 dminstall 2. 创建安装用户 dmdba。 useradd -u 12345 -g dimnstall

    2024年02月12日
    浏览(90)
  • 麒麟v10操作系统 安装docker

    一、描述 天翼云上的麒麟服务器默认没有安装docker,需要手动安装。 二、安装准备 查看系统版本,确认版本 查看系统架构 服务器如果是鲲鹏,架构是aarch64 注意:该系统是aarch64架构,dockerhub上的大部分镜像都是x86_64架构下的,在使用dockerhub等平台的镜像时,一定要注意其

    2024年02月02日
    浏览(40)
  • 银河麒麟 linux V10 安装JDK

    1、安装JDK之前,先查看系统是否已安装JDK相关软件包:  2. 如果已经安装过,可以先卸载(可以跳过)  3. 下载并解压jdk包 4.设置Java环境变量,修改系统配置文件/etc/profile,命令:pluma  /etc/profile ,在文件末尾添加如下图所示部分,其中JAVA_HOME路径根据自己实际情况进行更

    2024年02月11日
    浏览(48)
  • 麒麟V10环境安装RabbitMQ3.6.10

    RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。 1.安装依赖 2.erlang安装 链接:软件安装下载

    2024年02月05日
    浏览(39)
  • 银河麒麟v10安装MySQL5.7

    查看操作系统系统版本:[root@localhost ~]# nkvers 下载 https://pan.baidu.com/s/1PqqNXRdV4F1rN2vsn6DVgQ 提取码:38t0 [root@localhost ~]# rpm -qa | grep mysql [root@localhost ~]# rpm -e –nodeps [root@localhost ~]# whereis mysql 如图 [root@localhost local]# rpm -ivh mysql-5.7.27-1.el7.aarch64.rpm 默认安装在 /usr/local/mysql下面 my.cn

    2024年01月24日
    浏览(42)
  • 银河麒麟v10安装python3.7

    准备Gcc环境 Python3.7的安装包 准备安装在/usr/local/python3路径下 1.新建python3文件夹 mkdir /usr/local/python3 2.将python3的压缩包复制移至 /usr/local/python3 cp python-3.7.9-tgz /usr/local/python3 3.进入 /usr/local/python3 cd /usr/local/python3 4.解压压缩包 tar -zxvf python-3.7.9-tgz 5.进入压缩后的文件夹 cd python

    2024年02月12日
    浏览(40)
  • 银河麒麟V10安装mysql8.0

    0、环境 操作系统:银河麒麟V10 计划安装mysql版本:V8.0.23 1、下载 MySQL Yum Repository 2、添加 MySQL Yum Repository 3、安装mysql 4、启动mysql服务 5、查看mysql默认密码

    2024年02月11日
    浏览(56)
  • 银河麒麟系统V10——安装VNC实现远程桌面

    目录 检查桌面环境 安装 配置 ​编辑防火墙配置 安装环境: 生产环境一般采用最小化安装,VNC 需要在有 桌面 环境下才能运行,进行下面操作查看到  UKUI GUI  桌面环境。 1、因我已将系统yum源指向本地,我直接输入如下命令安装即可: 2、安装后使用如下命令验证是否成功

    2024年02月04日
    浏览(137)
  • 银河麒麟V10服务器版安装 Docker

    注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

    2024年02月16日
    浏览(61)
  • VMware安装银河麒麟V10桌面版虚拟机

    第一章 VMware安装银河麒麟V10桌面版虚拟机 提示:虚拟机安装需要较大的磁盘空间,请预留足够安装空间 安装环境: Windows10 x64 AMD R5 12+32G 链接:https://pan.baidu.com/s/1mxTQPE_Q4_1bztEXvEFnKw 提取码:c3ri 1.1首先点击创建新的虚拟机 1.2选择典型安装 1.3浏览并选择刚刚下载的iso镜像,下

    2023年04月22日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包