栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ElasticSearch7.6.1环境安装

ElasticSearch7.6.1环境安装

文章目录
      • 1:ElasticSearch介绍
        • 1.1 ES vs 关系型数据库
        • 1.2 全文检索和倒排索引
      • 2:ElasticSearch7.6.1单机安装
      • 3:kibana7.6.1安装
      • 4:安装IK7.6.1分词器
      • 5:简单语法

1:ElasticSearch介绍

Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。
官方网址
下载地址
ElasticSearch底层实现是Lucene框架

1.1 ES vs 关系型数据库
关系性数据库database(数据库)table(表)row(行)colum(列)
ESindex(索引库)type(类型)document(文档)field(字段)
1.2 全文检索和倒排索引

全文检索:

  • 通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数
  • 用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了

倒排索引 :

  • 索引就类似于目录,平时我们使用的都是索引,都是通过主键定位到某条数据,也成为正排索引。倒排索引是通过 数据中的关键字 对应 关系。通过关键字查询文章。称为倒排索引。
2:ElasticSearch7.6.1单机安装

安装环境:4核4G内存的centos7虚拟机

ES不能使用root用户来启动,必须使用普通用户来安装启动

先创建组, 再创建用户:
1)创建 elasticsearch 用户组
[root@localhost ~]# groupadd elasticsearch
		
2)创建用户 tlbaiqi 并设置密码
[root@localhost ~]# useradd xxx
[root@localhost ~]# passwd xxx

3)# 创建es文件夹,
并修改owner为xxx用户
mkdir -p /usr/local/es
#chown 用户名   文件名  -R
chown tlbaiqi es -R

4)用户es 添加到 elasticsearch 用户组
[root@localhost ~]# usermod -G elasticsearch xxx
[root@localhost ~]# chown -R xxx/usr/local/es/elasticsearch-7.6.1

5)设置sudo权限
#为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作
[root@localhost ~]# visudo

#在root ALL=(ALL) ALL 一行下面
#添加xxx用户 如下:
tlbaiqi ALL=(ALL) ALL
			 
#添加成功保存后切换到xxx用户操作
[root@localhost ~]# su xxx

修改配置文件:elasticsearch.yml

 cd /usr/local/es/elasticsearch-7.6.1/config
vim elasticsearch.yml
cluster.name: my-es
node.name: node1
path.data: /usr/local/es/elasticsearch-7.6.1/data
path.logs: /usr/local/es/elasticsearch-7.6.1/log
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["服务器IP"]
cluster.initial_master_nodes: ["节点名"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true

修改jvm.option

cd /usr/local/es/elasticsearch-7.6.1/config
vim jvm.options
-Xms1g

启动:

后台启动ES 进入bin目录  ./elasticsearch  -d

启动成功之后jsp即可看到es的服务进程,并且访问页面

http://服务器ip:9200/?pretty


会遇到的问题:
1:普通用户打开文件的最大数限制
问题错误信息描述:
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

sudo vi /etc/security/limits.conf
#添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
3:kibana7.6.1安装
#进入/usr/local/es/kibana-X.X.X-linux-x86_64/config目录
vim  kibana.yml
server.port: 5601
server.host: "服务器IP"
elasticsearch.hosts: ["http://IP:9200"] #这里是elasticsearch的访问地址 

启动:

#进入/usr/local/es/kibana-X.X.X-linux-x86_64/bin目录
./kibana

后台启动kibana

nohup  ./kibana &

访问Kibana

http://ip:5601/app/kibana
4:安装IK7.6.1分词器

下载:https://github.com/medcl/elasticsearch-analysis-ik/releases

su  xxx
mkdir -p /usr/local/es/elasticsearch-7.6.1/plugins/ik
#将下载的ik分词器上传并解压到该目录
#重启es
5:简单语法
GET _search
{
  "query": {
    "match_all": {}
  }
}
# 设置索引分词,最细粒分词器
PUT /es_db
{
  "settings": {
    "index":{
      "analysis.analyzer.default.type":"ik_max_word"
    }
  }
}
# 插入数据
PUT /es_db/_doc/2
{
  "name":"jcf111",
  "age":28,
  "sex":"男11",
  "address":"深圳平安金融大厦11"
}
#查询es_db索引下所有数据
GET /es_db/_search

GET /es_db/_doc/1
#根据字段查询
GET /es_db/_doc/_search?q=age:18
#范围查询
GET /es_db/_doc/_search?q=age[1 TO 25]

#批量查询
GET /es_db/_mget
{
  "ids":[1,2]
}

GET /es_db/_doc/_search?q=age:>18
#排序
GET /es_db/_doc/_search?sort=age:desc

GET /es_db/_doc/_search?q=age[1 TO 100]&from=0&size=2&sort=age:desc
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/681435.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号