(九)docker安装elasticsearch、ik中文分词器、kibana

一、简介

操作系统:Linux  CentOS 7.3 64位

docker版本:19.03.8

elasticsearch版本:7.6.2

kibana版本:7.6.2

ik中文分词器版本: 7.6.2

 

kibana、elasticsearch、ik中文分词器的版本要相同,否则会出现版本不一致问题。

 

二、实践

 

2.1 elasticsearch

 

1、拉取镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2

查看镜像 

(九)docker安装elasticsearch、ik中文分词器、kibana_第1张图片

 

2、修改es堆内存配置

这一步可有可无,有需要的就要进行配置,elasticsearch堆内存的配置建议

①查找配置文件

find /var/lib/docker/ -name jvm.options

②修改第一步查询到的配置文件

vi /var/lib/docker/overlay2/7054cc646d5200685ac2fef40b7077126952798676df4352301d5ec9e3f9d9f7/diff/etc/elasticsearch/jvm.options

(九)docker安装elasticsearch、ik中文分词器、kibana_第2张图片

 

3、运行前配置

如果现在运行elasticsearch的话会报两个错误

  • 第一个错误是指elasticsearch需要的vm.max_map_count最少需要262144才能启动。

      因此我们进行配置,运行下面的命令

vi /etc/sysctl.conf

(九)docker安装elasticsearch、ik中文分词器、kibana_第3张图片

vm.max_map_count = 262144 #添加

 配置完成后需要让它生效,执行下面的命令

sudo sysctl -p

 

  • 第二个错误是指默认的配置不适用于生产环境,需要手动设置[[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]]中的一个。

       如果是集群的话,可以在启动时添加参数-e "cluster.initial_master_nodes=node-1"。点击查看了解这个配置的含义。

       如果是单机的话,可以在启动时添加参数-e "discovery.type=single-node",这里我们是单机,所以加这个。

 

4、运行

docker run --name elasticsearch -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.6.2
  • -d 后台运行
  • -p  指定容器暴露的端口

      9200作为Http协议,主要用于外部通讯;

      9300作为Tcp协议,jar之间就是通过tcp协议通讯,elasticsearch集群之间是通过9300进行通讯;

 

5、查看容器是否正常运行

docker ps

 

6、测试

http://ip地址:9200/

(九)docker安装elasticsearch、ik中文分词器、kibana_第4张图片

 

7、配置跨域访问

这一步可有可无,如果需要允许跨域访问的话,可以配置一下

进入容器

docker exec -it elasticsearch /bin/bash

修改配置文件添加配置

vi config/elasticsearch.yml

(九)docker安装elasticsearch、ik中文分词器、kibana_第5张图片

http.cors.enabled: true
http.cors.allow-origin: "*"

这里允许访问的域名地址为“*“是高风险的,这说明部署的ES实例允许被任何地方跨域请求。

因此实际使用最好根据需求设定允许访问的域名地址。

退出容器

exit

 重启elasticsearch容器

docker restart elasticsearch

 

 

2.2 安装ik中文分词器

 

1、进入elasticsearch容器

docker exec -it elasticsearch /bin/bash

2、进入 plugins目录

cd plugins/

3、安装ik分词器

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

(九)docker安装elasticsearch、ik中文分词器、kibana_第6张图片

这里我的elasticsearch是7.6.2版本的,所以ik也是安装7.6.2版本,不同的版本可以在这找https://github.com/medcl/elasticsearch-analysis-ik/releases

4、退出容器

exit

5、重启elasticsearch容器

docker restart elasticsearch

6、测试

可以使用postman测试一下分词效果

(九)docker安装elasticsearch、ik中文分词器、kibana_第7张图片

 

 

 

2.3 kibana

 

1、拉取镜像

docker pull docker.elastic.co/kibana/kibana:7.6.2

查看镜像

(九)docker安装elasticsearch、ik中文分词器、kibana_第8张图片

 

2、运行

docker run -d -p 5601:5601 --name kibana --link elasticsearch -e "elasticsearch_url=http://47.98.183.103:9200" docker.elastic.co/kibana/kibana:7.6.2
  • -e, --env=[], 指定环境变量,容器中可以使用该环境变量
  • "elasticsearch_url=http://47.98.183.103:9200"    连接的elasticsearch地址
  • --link elasticsearch    连接elasticsearch容器,建立通信和传递数据

 

3、查看容器是否正常运行

如果发现elasticsearch容器挂掉了,可能是服务器内存不足导致的,我的2g内存服务器就出现了这种情况,后来是通过将elasticsearch堆内存修改成512M才搞定的。。。

 

4、测试 

http://ip地址:5601/app/kibana

(九)docker安装elasticsearch、ik中文分词器、kibana_第9张图片

 

ok,搞定。 

你可能感兴趣的:(docker,es7.6.2,elasticsearch,ik中文分词器7.6.2,kibana7.6.2,docker安装es)