docker pull elasticsearch:7.4.2 --存储和检索数据
mkdir -p /home/mydata/elasticsearch/config --挂载配置文件目录
mkdir -p /home/mydata/elasticsearch/data --挂载数据文件目录
echo "http.host: 0.0.0.0">>/home/mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /home/mydata/elasticsearch/ --添加对文件读写权限
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 对应版本
docker update elasticsearch --restart=always
116.62.19.81:9200 --服务器ip:9200
Kibana就是ElasticSearch的一个可视化界面,也可以直接使用Postman调用接口测试
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保持一致)
127.0.0.1:5601 --服务器ip:端口
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
1)下载和ElasticSearch相同的版本
下载目录:https://github.com/medcl/elasticsearch-analysis-ik/releases
2)解压到ElasticSearch对外映射的目录/plugins下
3)进入ElasticSearch容器内部查看分词器是否安装
4)进入Kibana测试分词效果
通过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中分词文件的具体地址
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.txtentry>
properties>
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>