# Elasticsearch
# 安装
目前ES已经到了8.7.0的版本,我这边选了个6.8.20的版本使用,同时es也依赖jdk环境。这里不做赘述。 下载地址 (opens new window)
直接复制对应版本链接选中wget就好
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.20.tar.gz
tar -xzvf elasticsearch-6.8.20.tar.gz
# 配置
简单修改下集群名称和节点名称,使用单机使用下
vim config/elasticsearch.yml
// 去掉行开头的 # 并重命名集群名,这里命名为 compass
cluster.name: mycluster
// 去掉行开头的 # 并重命名节点名,这里命名为 node-1
node.name: node001
# 启动
进入bin目录后台启动,可先按下面问题进行配置后再启动
./elasticsearch -d
启动后curl localhost:9200能正常返回json就ok
# 新建用户
这里启动有个问题(5版本之后),不能使用root用户启动。日志可以在logs下mycluster.log看到,所以先建个用户
adduser fengwen
passwd fengwen
# 输入确认密码后
chown -R fengwen elasticsearch-6.8.20
su fengwen
# 修改ip
调整只能本地访问问题,修改yml配置后重新启动
vim config/elasticsearch.yml
# 修改network.host
network.host: 0.0.0.0
# 文件数过小
查看日志发现还是无法启动,分别为每个进程同时打开的文件数太小、最大线程个数太低、一个进程最多的内存区域太小
# 1.最大线程数和文件数,修改limits.conf配置,用户退出后重新登录生效
vim /etc/security/limits.conf
# 文件数
* soft nofile 65535
* hard nofile 65535
# 最大线程数
* soft nproc 4096
* hard nproc 4096
# 2.最多的内存区域大小,修改sysctl.conf配置,sysctl -p后生效
vim /etc/sysctl.conf
# 增加如下配置
vm.max_map_count=262144
# 使生效
sysctl -p
# 分词器
安装对应版本的ik中文分词器 分词器地址 (opens new window)
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.20/elasticsearch-analysis-ik-6.8.20.zip
重启es,这样es就会自动加载分词器
# Kibana安装
还有一种GUI是使用elasticsearch-head,这种chrome插件已经不支持了,同样需要node环境启动,我这里记录下。
kibana官网 (opens new window) 注意下kibana和ES的版本对应 版本对应 (opens new window)
修改下config/kibana.yml,将端口和elasticesearch的注释取消掉。然后把kibana的ip从localhost改成0.0.0.0。启动
nohup bin/kibana &
如果没有nohub命令,注意切换root后
yum install coreutils
# ES基本概念
index相当于数据库中的库 type相当于数据库中的表
下面这个数据相当于新建了个库,里面有一个person的type,person有三个字段:user、title、desc,这三个字段都是中文,类型都是文本。所以指定了中文分词器。
{
"mappings": {
"person": {
"properties": {
"user": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"desc": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
}
}
}
}
}
针对该type新增一条数据
查询该数据