ElasticSearch简单使用手册Word格式.docx
- 文档编号:8615005
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:16
- 大小:108.01KB
ElasticSearch简单使用手册Word格式.docx
《ElasticSearch简单使用手册Word格式.docx》由会员分享,可在线阅读,更多相关《ElasticSearch简单使用手册Word格式.docx(16页珍藏版)》请在冰点文库上搜索。
npminstall-ggrunt-cli
Step6:
在elasticsearch-head目录下执行npminstall下载elasticsearch-head运行的依赖包
Step7:
运行gruntserver启动服务
Step8:
访问,出现如下界面表示安装成功
2.Linux系统下集群部署ES
2.1机器配置
三台Linux虚拟机,安装系统CentOS6.5
对应静态IP分别为192.168.244.128,192.168.244.129,192.168.244.130
开放9200和9300端口,步骤如下:
#/sbin/iptables-IINPUT-ptcp--dport9200-jACCEPT
#/sbin/iptables-IINPUT-ptcp--dport9300-jACCEPT
然后保存:
#/etc/rc.d/init.d/iptablessave
查看打开的端口:
#/etc/init.d/iptablesstatus
2.2安装步骤
从官网上下载ElasticSearch的tar包,本次使用版本5.5.1。
分别上传到三台机器中
解压tar包,修改elasticsearch-5.5.1/config路径下的elasticsearch.yml配置文件。
主要修改如下几个配置项:
#设置集群的名称,三台机器要一样
cluster.name:
my-application
#设置各节点名称
node.name:
node-128
#数据存储的位置
path.data:
/home/hous/develop/elasticsearch-data/data
#日志存储的位置
path.logs:
/home/hous/develop/elasticsearch-data/logs
#内存锁定,即不使用linux中的交换内存(swap)
bootstrap.memory_lock:
true
#检查是否支持SecComp模式运行,centos6.x不支持
bootstrap.system_call_filter:
false
#绑定本机IP地址
network.host:
192.168.244.128
#设置访问端口
http.port:
9200
#以单播方式嗅探集群中的机器
discovery.zen.ping.unicast.hosts:
["
192.168.244.128"
"
192.168.244.129"
192.168.244.130"
]
#防止脑裂(节点数/2+1得出)
discovery.zen.minimum_master_nodes:
2
#支持跨域
Step3:
分别启动elasticsearch,进入elasticsearch-5.5.1/bin路径下,
运行命令:
./elasticsearch
或者后台启动命令:
./elasticsearch–d
启动完毕后,可以输入curl192.168.244.128:
9200/_cluster/health?
pretty查看集群健康状态,显示为green表示正常启动
2.3常见问题
问题一
[WARN][o.e.b.JNANatives]unabletoinstallsyscallfilter:
Java.lang.UnsupportedOperationException:
seccompunavailable:
requireskernel3.5+withCONFIG_SECCOMPandCONFIG_SECCOMP_FILTERcompiledinatorg.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:
349)~[elasticsearch-5.5.1.jar:
5.5.1]
atorg.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:
630)~[elasticsearch-5.5.1.jar:
原因:
报了一大串错误,大家不必惊慌,其实只是一个警告,主要是因为你Linux版本过低造成的
解决方案:
1、重新安装新版本的Linux系统
2、警告不影响使用,可以忽略
问题二
ERROR:
bootstrapchecksfailed
max[4096]forelasticsearchprocesslikelytoolow,increasetoatleast[65536]
无法创建本地文件问题,用户最大可创建文件数太小
切换到root用户,编辑limits.conf配置文件
vi/etc/security/limits.conf
添加如下内容:
*softno
*hardno
*softnproc2048
*hardnproc4096
备注:
*代表Linux所有用户名称(比如hadoop)
保存、退出、重新登录才可生效
问题三
maxnumberofthreads[1024]foruser[es]likelytoolow,increasetoatleast[2048]
无法创建本地线程问题,用户最大可创建线程数太小
切换到root用户,进入limits.d目录下修改90-nproc.conf配置文件
vi/etc/security/limits.d/90-nproc.conf
找到如下内容:
*softnproc1024
#修改为
问题四
maxvirtualmemoryareasvm.max_map_count[65530]likelytoolow,increasetoatleast[262144]
最大虚拟内存太小
切换到root用户下,修改配置文件sysctl.conf
vi/etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl-p
然后重新启动elasticsearch,即可启动成功
问题五
ElasticSearch启动找不到主机或路由
ElasticSearch单播配置有问题
检查ElasticSearch中的配置文件
vi
config/elasticsearch.yml
找到如下配置:
["
192.168.**.**:
9300"
"
一般情况下,是这里配置有问题,注意书写格式
问题六
org.elasticsearch.transport.RemoteTransportException:
Failedtodeserializeexceptionresponsefromstream
原因:
ElasticSearch节点之间的jdk版本不一致
ElasticSearch集群统一jdk环境
问题七
Unsupportedmajor.minorversion52.0
jdk版本问题太低
更换jdk版本,ElasticSearch5.0.0支持jdk1.8.0
问题八
cannotrunelasticsearchasroot
不能以root用户启动ES服务器。
非要以root用户运行,则配置
-Des.insecure.allow.root=true
对于5.X,在config/jvm.options配置文件中,
添加-Des.insecure.allow.root=true
问题九
memorylockingrequestedforelasticsearchprocessbutmemoryisnotlocked
解决方法1:
配置config/elasticsearch.yml,注释掉以下内容
#bootstrap.memory_lock:
true
解决方法2:
配置:
/etc/security/limits.conf,
*softmemlockunlimited
*hardmemlockunlimited
3.Elasticsearch相关概念解释
对比与关系型数据库,ES的各种概念确实不好理解。
尤其对“索引”二字更是与关系型数据库混淆的不行,下面通过与MySQL简单对比,加深理解
以上表为依据,在ES中的新建文档(在Index/type下)相当于mysql中(在某Database的Table)下插入一行数据。
4.安装中文分词器
1.中文分词器的安装
中文分词器ik具体安装步骤如下
/
拼音分词器的安装步骤如下
2.java创建索引是添加分词器
5.关于字符串的一些说明
在ES中,字符串的类型有两种,分别是text和keyword。
他们的区别是,text可以进行analyzed分词操作。
keyword不可以not_analyzed。
下图是对name字符串的属性说明
1)表示使用ik_smart中文分词
2)表示字符串类型为text,可以进行分词
3)ignore_above是索引的范围,用于not_analyzed字段,默认不会对20字节的数据索引,如果要存储超过32766字节的数据,设置ignore_above=256就可以了
4)表示字符串类型为keyword,不可以进行分词
总体说明:
name是text类型,用ik_smart分词倒排索引。
name.keyword是keyword类型不可以分词,存储超过32766字节
6.通过CURL操作的简单命令
下面以索引名my_index,索引类型my_type为例进行说明
6.1创建索引
创建一个空索引,索引名为my_index
curl-XPUT192.168.244.1:
9200/my_index-d'
{}
'
6.2添加mapping
添加索引类型,包括字段类型
9200/my_index/_mapping/my_type-d'
{
properties"
:
{
name"
analyzer"
ik_smart"
type"
text"
fields"
keyword"
ignore_above"
256,
}
},
id"
long"
age"
integer"
desc"
}
6.3添加文档数据
添加一条文档数据
curl-XPOST192.168.244.1:
9200/my_index/my_type-d'
1,
张小明"
java工程师,从事大数据软件开发"
23
批量添加文档数据,这种格式类似一个有效的单行JSON文档流,它通过换行符(\n)连接到一起。
注意两个要点:
●每行一定要以换行符(\n)结尾,包括最后一行。
这些换行符被用作一个标记,可以有效分隔行。
●这些行不能包含未转义的换行符,因为他们将会对解析造成干扰。
9200/_bulk-d'
{"
index"
{"
_index"
my_index"
_type"
my_type"
}}
{"
5,"
张三丰"
java工程师,从事大数据软件开发,对nosql数据库有研究"
123}
2,"
jack"
php工程师,从事网站开发,对java也有一定了解"
30}
3,"
李晓红"
前端工程师,对react,angularjs有研究"
22}
4,"
王晓燕"
UI设计师,目前处于实现阶段"
19}
6,"
jannes"
数据库工程师,对oracle和mysql有一定的经验"
35}
6.4删除文档数据
删除一条文档数据
curl-XDELETE192.168.244.1:
9200/my_index/my_type/AV3E0qBK9W2J9WuRt8D3
删除多条文档数据
delete"
_id"
AV3E0qBK9W2J9WuRt8D4"
AV3E0qBK9W2J9WuRt8D5"
AV3E0qBK9W2J9WuRt8D6"
AV3E0qBK9W2J9WuRt8D7"
AV3BQz3xJ5KYRov5JoNA"
6.5查询文档数据
wildcard通配符查询
curl-XGET192.168.244.128:
9200/my_index8/my_type8/_search-d'
query"
wildcard"
name.keyword"
张*"
term
精确查询
term"
工程师"
terms查找多个精确值
terms"
[22,23]
range范围查询
range
查询可同时提供包含(inclusive)和不包含(exclusive)这两种范围表达式,可供组合的选项如下:
gt:
>
大于(greaterthan)
lt:
<
小于(lessthan)
gte:
=
大于或等于(greaterthanorequalto)
lte:
小于或等于(lessthanorequalto)
:
constant_score"
filter"
range"
gte"
20,
lt"
40
exists
查询和notexists(missing查询过时被删除)(nullandnotnull)
exists"
field"
bool"
must_not"
BoolQuery组合查询
bool查询由以下元素组成,分别是must,filter,should,must_not
must:
所有的语句都必须(must)匹配,与AND等价
must_not:
所有的语句都不能(mustnot)匹配,与NOT等价
should:
至少有一个语句要匹配,与OR等价
filter:
过滤器查询,忽略score
boost增加相关度评分比重_score,minimum_should_match
POST_search
must"
user"
kimchy"
tag"
tech"
10,"
lte"
20}
should"
[
wow"
}},
elasticsearch"
}}
],
minimum_should_match"
boost"
1.0
0,"
晓"
java"
’
match匹配查询
operator默认or,可以为and,表示满足所有分词条件
curl-XGET192.168.244.130:
match"
{
java工程师数据软件开发"
operator"
and"
相邻单词查询,slop相邻的单词个数
match_phrase"
jjava工程师"
slop"
1
MultiMatchQuery
可以添加type查询参数:
best_fields,most_fiel
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ElasticSearch 简单 使用手册