elasticsearch
【elasticsearch、ik、kibana版本必需完全一致】
安装es
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.7.2
docker run -di -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --name=elasticsearch -p 9200:9200 -p 9300:9300 docker.elastic.co/elasticsearch/elasticsearch:6.7.2
docker exec -it elasticsearch /bin/bash
访问服务器9200端口有数据即成功:http://106.13.101.20:9200/
修改es配置
docker exec -it elasticsearch /bin/bash
cd config
vi elasticsearch.yml
[如果提示bash: vi: command not found
,则需要安装vi命令,在博客最底下查看]
# elasticsearch.yml 【这个文件最重要,出错了直接es启动不起来】
http:
host: 0.0.0.0
#跨域请求
cors:
# 开启跨域
enabled: true
# 允许所有
allow-origin: "*"
#集群名称
cluster:
name: my-application
#es所在ip地址
network:
host: 106.13.101.20
#访问
transport:
host: 0.0.0.0
修改文件/etc/security/limits.conf
cd /etc/security
vi limits.conf
# limits.conf 最底下追加这两行
* soft nofile 65535
* hard nofile 65535
修改/etc/sysctl.conf
vi /etc/sysctl.conf
# sysctl.conf
vm.max_map_count=262144
sysctl -p
安装IK分词器
【elasticsearch、ik、kibana版本必需完全一致】
-
ik安装方式1
下载ik分词
https://github.com/medcl/elasticsearch-analysis-ik/releases/
,需要找到和es相对应的版本将ik分词器上传到指定目录,并解压,然后将其复制到docker容器elasticsearch中
#将其复制到docker容器elasticsearch中
docker cp ik elasticsearch:/usr/share/elasticsearch/plugins
复制过来后,目录结构为
plugin
- ik
- jar、zip等解压的文件
或者
-
ik安装方式2
直接
docker exec -it es /bin/bash
进入容器内部,然后
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
#重启es
docker restart elasticsearch
尝试访问
6.2 版本前访问http://106.13.101.20:9200/_analyze?analyzer=ik_max&pretty=true&text=你在不在
,出现正确数据即分词成功。
ik和es 6.2 版本之后就得使用 Postman 工具去测试了
选择POST请求,地址填写http://106.13.101.20:9200/_analyze,选择Body
,raw
,JSON
,框内填写
{
"analyzer":"ik_smart",
"text":"我们一起"
}
会返回结果:
{
"tokens": [
{
"token": "我们",
"start_offset": 0,
"end_offset": 2,
"type": "CN_WORD",
"position": 0
},
{
"token": "一起",
"start_offset": 2,
"end_offset": 4,
"type": "CN_WORD",
"position": 1
}
]
}
基本配置完成~
安装Kibana
【elasticsearch、ik、kibana版本必需完全一致】
- 拉取镜像(版本和es版本相同)
docker pull kibana:6.7.2
2.启动容器
docker run -it -e ELASTICSEARCH_URL=http://106.13.101.20:9200 --name kibana --restart=always -p 5601:5601 kibana:6.7.2
ELASTICSEARCH_URL为es地址及端口
-p 5601:5601 主机外部访问端口:docker容器端口.如果出现端口占用,则可以修改为-p 5501:5601
等,第一个5501可以改成其他的,但记得开防火墙端口
修改elasticsearch/plugins/ik/cinfig/sIKAnalyzer.cnf.xml
配置文件,添加自定义分词文件或添加自定义停用词文件
docker安装vi命令
进入想要安装的docker容器内部
apt-get update
apt-get install vim
es开机自启
docker update --restart=always elasticsearch
es容器的jvm内存修改
cd /etc/elasticsearch
vi jvm.options
-Xms512m
-Xmx512m
可以把占用2g内存稍微改小一点。
寻找某个文件
#在目录“/”下寻找jvm.options文件
find / -name jvm.options
可根据docker名查看docker的id等信息
docker inspect elasticsearch
docker-elasticsearch无法启动,想修改配置文件
find / -name elasticsearch.yml
vi /www/server/docker/overlay2/511a43964ea64bffc09906f80286e077186d351836ae237059e996c642da59cb/diff/usr/share/elasticsearch/config/elasticsearch.yml
查看docker错误日志
docker logs elasticsearch