Docker上安装Elasticsearch、Kibana 和IK分词器

随着大数据和日志管理的兴起,Elasticsearch和Kibana成为了许多开发者和系统管理员首选的工具,我接下来使用的版本是 8.11.0 ,我实测测试过都能成功安装的版本有:7.6.2、8.1.0、8.6.0等。

安装Elasticsearch

Docker仓库官网

步骤一:创建Docker网络

为了让Elasticsearch和Kibana能够相互通信,我们需要创建一个Docker网络。使用以下命令创建一个名为es-network的网络:

docker network create es-network

步骤二:创建Elasticsearch挂载目录

mkdir -p /data/es/{config,data,plugins}

chmod 777 /data/es/{config,data,plugins}

步骤三:创建配置文件elasticsearch.yml

vim /data/es/config/elasticsearch.yml

将下面内容复制到里面:

cluster.name: "docker-cluster"

network.host: 0.0.0.0

xpack.security.enabled: false

步骤四:安装Elasticsearch

现在,我们将安装Elasticsearch。在命令行中运行以下Docker命令:

docker run -d \

--name elasticsearch \

--network es-network \

--restart=always \

-p 9200:9200 \

-p 9300:9300 \

-v /data/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \

-v /data/es/data:/usr/share/elasticsearch/data \

-v /data/es/plugins:/usr/share/elasticsearch/plugins \

-e "discovery.type=single-node" \

-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \

elasticsearch:8.11.0

-d: 以“后台”模式运行容器,即让容器在后台运行,而不会占用您的终端或命令行界面。 --name elasticsearch: 给这个运行的容器一个名称,这里是“elasticsearch”。 --network es-network: 将这个容器连接到名为“es-network”的自定义网络。 --restart=always: 设置自动重启策略。 -v : 这个卷挂载指令将宿主机上的文件或目录挂载到容器内部的相应位置。 -e "discovery.type=single-node" : 这里设置 Elasticsearch 的发现类型为单节点模式。 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m": 设置环境变量来定义 JVM 的启动参数。

这将在Docker容器中启动Elasticsearch,并通过http://{IP}:9200/使其对外可访问。

安装Kibana

步骤一:创建Kibana挂载目录

mkdir -p /data/kibana/{config,data}

# 授权

chmod 777 /data/kibana/{config,data}

步骤二:创建配置文件

vim /data/kibana/config/kibana.yml

将下面内容复制到里面:

server.host: "0.0.0.0"

server.shutdownTimeout: "5s"

elasticsearch.hosts: [ "http://elasticsearch:9200" ]

monitoring.ui.container.elasticsearch.enabled: true

步骤三:安装Kibana

接下来,我们将安装Kibana,版本需要和elasticsearch一致。运行以下Docker命令:

docker run -d \

--name kibana \

--network es-network \

--restart=always \

-p 5601:5601 \

-v /data/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \

kibana:8.11.0

这会启动Kibana,并通过http://{IP}:5601对外提供访问。请注意,我们通过ELASTICSEARCH_HOSTS环境变量指定了Elasticsearch的地址。

安装IK分词器(离线)

现在,让我们为Elasticsearch安装IK分词器,我这里采用的是离线的方式安装,因为在线从GitHub上下载速度非常慢,所以我们先科学上网把ik包下载下来再上传到容器中。

步骤一:下载对应版本的IK压缩包

elasticsearch-analysis-ik下载地址

下面的几个版本都实测了,都是可以使用的:

步骤二:上传到服务器中

我们前面有把elasticsearch的 plugins 目录挂载在宿主机的/data/es/plugins下,在plugins下创建ik目录,然后直接上传到ik目录即可。

mkdir -p /data/es/plugins/ik

cd /data/es/plugins/ik/

步骤三:解压IK压缩包

unzip elasticsearch-analysis-ik-8.11.0.zip

rm -rf elasticsearch-analysis-ik-8.11.0.zip

步骤四:重启es容器

docker restart elasticsearch

步骤五:验证安装

现在,您可以通过访问http://{IP}:5601来访问Kibana来操作是否安装成功。

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: