最近接触到Elasticsearch,学习了阮一峰老师的博客,这里简单梳理一下ES的安装和基本使用操作,记录一下学习笔记,和自己遇到的问题。
Elasticsearch
ES
是可快速存储,索引,搜索海量数据,目前是全文搜索引擎的首选。开源的ES
底层是开源库Lucene
,Lucene
无法直接使用,需采取写接口调用的方式。开源的ES
是Lucene
封装,提供REST API 的操作接口。
安装
[moic@localhost es_learn]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip
[moic@localhost es_learn]# unzip elasticsearch-5.5.1.zip
[moic@localhost es_learn]# cd elasticsearch-5.5.1
./bin/elasticsearch
启动es
[moic@localhost es_learn]# ./bin/elasticsearch
which: no java in (/usr/local)
Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME
报错无java环境,这时我们要安装java环境。
[ps 7.0以上版本内带java环境]
[moic@localhost es_learn]# sudo yum install java
此时再次试着启动es,出现两个warn级报错
[2020-05-19T11:08:50,820][WARN ][o.e.b.BootstrapChecks ] [s3ni5SW] max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2020-05-19T11:08:50,820][WARN ][o.e.b.BootstrapChecks ] [s3ni5SW] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ctrl+c结束es进程
max file descriptors [4096] for elasticsearch process is too low解决方法
//切换到root权限下
[moic@localhost es_learn]# ulimit -Hn //查看当前大小
4096
[moic@localhost es_learn]# ulimit -Hn 65536
[moic@localhost es_learn]# ulimit -Hn
65536
max virtual memory areas vm.max_map_count [65530] is too low解决方法
[moic@localhost es_learn]# sudo sysctl -w vm.max_map_count=262144
解决了两个报错之后,可正常启动es服务,保持该窗口不变,另链接ssh该服务器。
es服务默认端口为9200,访问localhost:9200即可访问es。返回json串,包含节点,集群,版本等信息。
[moic@localhost es_learn]# curl 127.0.0.1:9200
{
"name" : "s3ni5SW",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Ct2Kdr2HQNi5mUCwuvayyA",
"version" : {
"number" : "5.5.1",
"build_hash" : "19c13d0",
"build_date" : "2017-07-18T20:44:24.823Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
ES的基本概念
ES
本质是分布式数据库,可多台服务机器协同工作,每台服务器可以有多个Elastic实例。每个实例为一个节点(Node),一组节点为一个集群(Cluster)
Index为索引,相当于单个数据库,查找数据时,直接查找索引。
Document为Index里的单条数据,为Json格式,多个Document组成Index。
Type类别,用于过滤召回的Document,举例互联网公司,按城市分组杭州和北京,按人员数量分为万级,千级。
网友评论