Elasticsearch的安装和基本使用

超详细的Java知识点路线图


前言

Elasticsearch作为主流的搜索引擎,在分布式系统中占据着不可或缺的地位,文章重点介绍它的安装和使用。

Elasticsearch介绍

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
官网:https://www.elastic.co/cn/elasticsearch/

Elasticsearch概念

Elasticsearch 可以理解成一种数据库,类似MySQL,也可以对数据进行增删改查,它优势是搜索速度快,如果表中有上亿级别的数据,使用ES检索数据要远远快于传统的关系型数据库。

把ES中的概念和MySQL对比,就比较好理解了。

MySQLElasticsearch
数据库database索引index
表table类型type
字段field属性property
记录record/data文档document

Elasticsearch安装

Elasticsearch不允许使用root用户,所以需要新建用户
新建用户

useradd xray

配置密码

passwd xray

切换用户

su xray

上传和解压

tar -zxvf elasticsearch-6.2.4.tar.gz

重命名目录

mv elasticsearch-6.2.4/ elasticsearch

进入目录

cd elasticsearch

新建目录

mkdir data
mkdir logs

修改配置

cd config
vi elasticsearch.yml
添加内容
path.data: /usr/local/elasticsearch/data # 数据目录位置
path.logs: /usr/local/elasticsearch/logs # 日志目录位置
修改绑定的ip
network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问

其他可配置信息:
在这里插入图片描述
运行

./bin/elasticsearch

可能的错误:

错误1:内核过低
在这里插入图片描述
在elasticsearch.yml下面添加配置:

bootstrap.system_call_filter: false 

禁用这个插件,然后重启

错误2:文件权限不足
在这里插入图片描述
[1]max file descriptors…是文件权限不足

用root登录,然后修改配置文件:

vim /etc/security/limits.conf

添加下面的内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

错误3:线程数不足
[2]: max number of threads … 是线程数不足
修改配置:

vim /etc/security/limits.d/20-nproc.conf

修改下面的内容:

* soft nproc 1024
改为:
* soft nproc 4096

错误4:进程虚拟内存不足

[3]: max virtual memory… 进程虚拟内存不足

修改配置文件:

vim /etc/sysctl.conf

添加下面内容:

vm.max_map_count=655360

然后执行命令:

sysctl -p

再次启动ES

在这里插入图片描述
两个端口:
9300:集群节点间通讯接口
9200:客户端访问接口

我们在浏览器中访问
在这里插入图片描述

Kibana安装

Kibana是ES的客户端工具
需要先安装nodejs

tar -vxf node-v12.18.2-linux-x64.tar.xz
mv node-v12.18.2-linux-x64 nodejs
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
node -v

解压kibana

tar -vxf kibana-6.2.4-linux-x86_64.tar.gz
mv kibana-6.2.4-linux-x86_64 kibana

修改 config/kibana.yml 添加

server.host: "0.0.0.0"
elasticsearch.url: "http://机器IP:9200"

启动

./bin/kibana

kibana的端口是5601,在浏览器打开后,可以测试查询
在这里插入图片描述

安装分词器

分词器能把一个字符串拆分成多个单词,搜索时再按每个单词分别索引,这样能大大提高搜索效率。
如:“我是中国人"拆分为"我”、“是”、“中国”、“国人”、“中国人”。

安装步骤:
下载分词器文件,版本和ES版本一致

如: elasticsearch-analysis-ik-6.2.4.zip

上传到elasticsearch/plugins目录中
解压

unzip elasticsearch-analysis-ik-6.2.4.zip

使用kibana测试

在这里插入图片描述

Elasticsearch基本操作

创建索引

PUT /test

在这里插入图片描述

创建类型并进行映射

PUT /test/_mapping/student
{
  "properties": {
    "name" :{
      "type": "text",
      "analyzer": "ik_max_word"
    },
    "gender":{
      "type": "keyword"
    },
    "age":{
      "type": "integer"
    }
  }
}

添加数据

POST /test/student
{
    "name":"张三三",
    "gender":"男",
    "age":"20"
}

在这里插入图片描述

修改

PUT /test/student/B6eRR3cBeDxKxs3sWYow
{
  "name":"张三",
  "age":"33",
  "gender":"F"
}

在这里插入图片描述
删除

GET /test/student/_search/B6eRR3cBeDxKxs3sWYow-

在这里插入图片描述

查询

GET /test/student/_search

在这里插入图片描述

结束


大家如果需要学习其他Java知识点,戳这里 超详细的Java知识点汇总

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒哥~Bingo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值