1、安装ElasticSearch
1.1、安装
docker pull elasticsearch:7.4.2 --存储和检索数据
1.2、创建挂载目录
mkdir -p /home/mydata/elasticsearch/config --挂载配置文件目录
mkdir -p /home/mydata/elasticsearch/data --挂载数据文件目录
1.3、配置
echo "http.host: 0.0.0.0">>/home/mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /home/mydata/elasticsearch/ --添加对文件读写权限
1.4、启动
docker run --name elasticsearch -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /home/mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2
--name elasticsearch 启动之后的容器名
-p 9200:9200 http访问ElasticSearch API的端口
-p 9300:9300 用于搭建集群之后节点互相调用的端口
-v /usr/java/elasticsearch/... 将es内部目录挂载到服务器指定目录
-d elasticsearch:7.4.2 对应版本
1.5、开机自启
docker update elasticsearch --restart=always
1.6、访问
116.62.19.81:9200 --服务器ip:9200
显示如下即启动成功
若访问失败,可去关闭防火墙或开放端口
2、安装Kibana
2.1、介绍
Kibana就是ElasticSearch的一个可视化界面,也可以直接使用Postman调用接口测试
2.2、安装
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://116.62.19.81:9200 -p 5601:5601 -d kibana:7.4.2
--name kibana 容器名
116.62.19.81:9200 自己的服务器ip和端口(需要格外注意)
-p 5601:5601 http访问Kibana的端口
-d kibana:7.4.2 Kibana版本(需要和es保持一致)
2.3、访问
127.0.0.1:5601 --服务器ip:端口
访问页面显示如下即启动成功,若不成功一样去开放端口即可
2.4、基础接口
1、查看所有节点信息:118.89.18.36:9200/_cat/nodes
2、查看健康信息状况:118.89.18.36:9200/_cat/health
3、查看主节点:118.89.18.36:9200/_cat/master
4、查看所有索引:118.89.18.36:9200/_cat/indices
3、 安装ik分词器
3.1、下载
1)下载和ElasticSearch相同的版本
下载目录:https://github.com/medcl/elasticsearch-analysis-ik/releases
2)解压到ElasticSearch对外映射的目录/plugins下
3)进入ElasticSearch容器内部查看分词器是否安装
4)进入Kibana测试分词效果
3.2、自定义词库
通过Nginx指定分词库,所以这里得先安装nginx。【安装Nginx】
1)、安装Nginx之后,在Nginx的html目录下新建一个分词库fenci.txt
vi /home/mydata/nginx/html/es/fenci.txt
2)、在里面添加特殊词语,例如人名
3)、修改es容器内部ik的配置文件,
vi plugins/ik/config/IKAnalyzer.cfg.xml
4)、配置“远程扩展字典”,将remote_ext_dict节点内容改为nginx中分词文件的具体地址
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict"></entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords"></entry>
<!--用户可以在这里配置远程扩展字典 -->
<entry key="remote_ext_dict">http://116.62.19.81/es/fenci.txt</entry>
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
5)、重启es进行测试
4、安装Nginx
1)随便启动一个nginx实例,复制其配置即可
docker run -p80:80 --name nginx -d nginx:1.10
2)进入本机需要映射的目录,创建个nginx目录并执行复制命令
cd /home/mydata
mkdir nginx
docker container cp nginx:/etc/nginx/ .
3)复制完可进入目录检查一下
4)再将当前目录nginx更名conf
mv nginx conf
5)再到当前目录创建一个nginx目录,并把上面更名的confi放置此目录
mkdir nginx
mv conf nginx/
6)停止nginx容器并删除
docker stop 2f7e
docker rm 2f7e
7)创建新的Nginx
docker run --name nginx -p 80:80 \
-v /home/mydata/nginx/html:/usr/share/nginx/html \
-v /home/mydata/nginx/logs:/var/log/nginx \
-v /home/mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
8)设置开机自启
docker update nginx --restart=always
9)在html目录下创建index.html文件测试是否安装成功
vi /home/mydata/nginx/html/index.html
<h1>Hello Word!<h1>
10)页面访问显示内容即可