Docker上安装Elasticsearch、Kibana 和IK分词器
随着大数据和日志管理的兴起,Elasticsearch和Kibana成为了许多开发者和系统管理员首选的工具,我接下来使用的版本是 8.11.0
,我实测测试过都能成功安装的版本有:7.6.2
、8.1.0
、8.6.0
等。
安装Elasticsearch
步骤一:创建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
这将在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
的 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来操作是否安装成功。