Docker安装ElasticSearch、Kibana、Nginx及ik分词器

  • Post author:
  • Post category:其他




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)页面访问显示内容即可

在这里插入图片描述



版权声明:本文为Isyoubao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。