Linux(CentOs7)使用docker容器安装Elasticsearch+kibana

目录

1、检查docker是否安装

​编辑

2、ElasticSearch安装

1. 拉取elasticsearch镜像

2. 配置elasticsearch端口

3、目录结构

4. 验证elasticsearch是否启动成功

3. kibana安装

1. docker安装kibana

​编辑

扫描二维码关注公众号,回复: 16600123 查看本文章

2. 启动kibana

4、Kibana server is not ready yet报错

解决办法:

6. 插件安装

1. 安装IK分词器

2.plugins安装步骤

3.安装插件,elasticsearch-analysis-ik版本与elasticsearch保持一致,即7.11.1

4.退出容器

5.重启docker容器

6、补充:常用快捷键:


1、检查docker是否安装

1.先查看之前是否安装了docker

yum list installed | grep docker

2、卸载docker

yum remove docker -y

3、docker启动

  1. 启动 systemctl start docker 或者 service docker start

  2. 停止:systemctl stop docker 或者 service docker stop

  3. 重启:systemctl restart docker 或者 service docker restart

  4. 检查docker进程的运行状态:systemctl status docker 或者 service docker status

2、ElasticSearch安装

参考了:Docker安装ElasticSearch和Kibana_ThinkWon的博客-CSDN博客,还有很多博客写下了下面这篇文章。

1. 拉取elasticsearch镜像

拉取最新版本elasticsearch

docker pull elasticsearch

我这边使用的是下面这个方法: 

拉取指定版本elasticsearch,比如拉取7.11.1版本的elasticsearch

docker pull elasticsearch:7.11.1

2. 配置elasticsearch端口

docker run --name elasticsearcha -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d elasticsearch:7.11.1

运行docker镜像参数说明:

-p:端口映射

-e:设置环境变量,discovery.type=single-node(单机运行),ES_JAVA_OPTS="-Xms512m -Xmx512m"(设置JVM参数)

-d:后台启动

–name:容器名称

54d1c07bc236:镜像id

elasticsearch:对应的版本号

3、目录结构

目录 配置文件 描述
bin 脚本文件,包括启动 Elasticsearch、安装插件,运行统计数据等。
config elasticsearch.yml 集群配置文件
JDK Java 运行环境
data path.data 数据文件
lib Java 类库
logs path.logs 日志文件
modules 包含所有 ES 模块
plugins 包含所有已安装插件

4. 验证elasticsearch是否启动成功

linux内用curl访问: curl http://localhost:9200,输入类似如下的信息表示安装成功

curl http://localhost:9200 

windows访问:使用自己的ip地址和域名 

3. kibana安装

1. docker安装kibana

安装kibana版本与elasticsearch版本一致,即7.11.1

 docker pull kibana:7.11.1

docker images查看docker的安装内容

2. 启动kibana

安装完成以后需要启动kibana容器,使用–link连接到elasticsearch容器,命令如下:

注意这里的elasticsearcha:elasticsearcha要和上面的一致:

docker run --name kibanaa --link=elasticsearcha:elasticsearcha -p 5601:5601 -d kibana:7.11.1

 这里会报错:

4、Kibana server is not ready yet报错

解决办法:

1、故执行如下命令查看elasticsearch容器内部ip,发现果然是kibana.yaml配置文件中的es容器ip与现在实际的es容器ip不一致造成的。

docker inspect --format '{ { .NetworkSettings.IPAddress }}' 68fd078012b1

docker inspect --format '{ { .NetworkSettings.IPAddress }}' 容器id

// 查看es容器id

docker ps

2、进入kibana容器,更新kibana.yaml配置文件。执行如下命令进入并编辑kibana.yaml,

docker exec -it kibana容器id/bin/bash

docker exec -it 3bb6b5c07faf /bin/bash

cd config

vi kibana.yml

 

3、将下图所选部分的ip地址更换成实际的es容器ip地址,保存并退出kibana。

4、重启容器

docker restart  容器id

 5、访问成功

6. 插件安装

1. 安装IK分词器

docker进入容器命令,容器id为 7272c3b28e81

docker exec -it 7272c3b28e81 /bin/bash

2.plugins安装步骤

 cd /usr/share/elasticsearch/plugins/


3.安装插件,elasticsearch-analysis-ik版本与elasticsearch保持一致,即7.11.1

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

4.退出容器

exit

5.重启docker容器

docker restart 7272c3b28e81

6. 分词器使用验证

ik_smart:智能分词,最少切分,宁缺毋滥,保证查准率

ik_max_word:最大化分词法,最细粒度划分,尽量多的有意义的分词,保证查全率,ik_max_word分词包含 ik_smart

Postman post请求分词测试:http://自己的ip地址:9200/_analyze

测试数据:

{ "tokenizer": "ik_smart", "text": "花城广州" } 

结果:

6、补充:常用快捷键:

首先停止docker容器

docker stop [容器id或容器名]

停止之后删除容器

docker rm [容器id或容器名]

如果忘记容器id或名字,使用以下命令查看(-a 是查看所有容器)

docker ps -a

删除容器后删除镜像,先删除再拉取

docker rmi [镜像id]

查看镜像

docker images

拉取镜像

ocker pull elasticsearch:[版本号]

docker启动kibana

初始化一个容器:docker run -d -p xxx.xx/imagesId name

启动、重启、停止:docker start/restart/stop 容器名称、容器id 

查看日志:docker logs 容器名称、容器id

删除:docker rm -f 容器名称、容器id

进入容器:docker exec -it 容器名称、容器id bash

查看所有容器:docker ps -a

docker start 2bfaad611b0a

猜你喜欢

转载自blog.csdn.net/Relievedz/article/details/129504722