Docker 安装 Elasticsearch

💡版本说明:

  • Elasticsearch: 8.9.0
  • Kibana: 8.9.0
  • IK: 8.9.0

安装Elasticsearch

创建网络

为了让Elasticsearch和Kibana能够正常连接,需要创建一个Docker网络,这里命名为elastic-net

docker network create elastic-net

拉取镜像并启动容器

# 拉取Elasticsearch镜像
docker pull elasticsearch:8.9.0
​
# 启动容器
docker run -d \
  --name elasticsearch \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v es-data:/usr/share/elasticsearch/data \
    -v es-plugins:/usr/share/elasticsearch/plugins \
    --privileged \
    --network elastic-net \
    -p 9200:9200 \
    -p 9300:9300 \
elasticsearch:8.9.0

解除安全设置

Elasticsearch默认开启了SSL等安全设置🔐,本文为了配置简便,直接取消了所有的安全设置。如果希望使用安全服务,请查阅相关文档进行配置。

关闭安全设置需要修改容器的配置文件elasticsearch.yml。但由于容器的Shell未安装Vim编辑器,直接修改相对困难,本文采取本地修改再复制到容器的方式。

# 打开容器的Shell
docker exec -it elasticsearch /bin/bash
​
# 进入配置文件所在目录
cd /usr/share/elasticsearch/config
​
# 备份默认配置文件
mv elasticsearch.yml elasticsearch.example.yml

关闭安全配置后的配置文件内容如下:

cluster.name: "docker-cluster"
network.host: 0.0.0.0
​
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 17-10-2023 16:11:40
#
# --------------------------------------------------------------------------------# Enable security features
xpack.security.enabled: falsexpack.security.enrollment.enabled: false# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: false
  keystore.path: certs/http.p12
​
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: false
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------

在本地创建elasticsearch.yml文件并写入以上内容,然后将该文件复制到Docker容器内部:

docker cp elasticsearch.yml elasticsearch:/usr/share/elasticsearch/config
​
# 重启容器
docker restart elasticsearch

安装Kibana

关于Kibana

Kibana是一个用于可视化和分析Elasticsearch数据的开源工具,通常与Elasticsearch一起使用,以构建强大的数据分析和可视化仪表板。Kibana是Elastic公司维护的一个组件,与Elasticsearch、Logstash和Beats等工具一起组成了ELK堆栈(Elasticsearch、Logstash、Kibana)。

拉取镜像并启动容器

拉取Kibana的Docker镜像:

docker pull kibana:8.9.0
​
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
--network elastic-net \
-p 5601:5601  \
kibana:8.9.0

修改WebUI语言

Kibana的默认WebUI为英文,如果要修改为中文,需要修改Kibana的配置文件kibana.yml。 修改方式与对elasticsearch容器的操作类似:

# 打开容器的Shell
docker exec -it kibana /bin/bash
​
# 进入配置文件所在目录
cd /usr/share/kibana/config
​
# 备份默认配置文件
mv kibana.yml kibana.example.yml

修改后的配置文件内容如下:

#
# ** THIS IS AN AUTO-GENERATED FILE **
## Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
# 这一行是中文设置
i18n.locale: zh-CN

在本地创建kibana.yml文件并写入以上内容,然后将该文件复制到Docker容器内部:

docker cp kibana.yml kibana:/usr/share/kibana/config

# 重启容器
docker restart kibana

等待一段时间之后(kibana容器日志出现Kibana is now available的提示),在本地浏览器访问http://localhost:5601进入Kibana的WebUI。效果如下: Kibana WebUI 至此,Elasticsearch和Kibana正式安装成功。 🎉


安装IK分词器

💡IK分词器是Elasticsearch的中文分词器,能够实现更好的中文分词效果。

下载IK分词器

首先下载Ik分词器的zip文件到本地,注意阅读仓库的README文档查看版本对应关系。

安装IK分词器

在elasticsearch容器内的plugins目录下创建ik目录以便区分,然后将下载的zip文件拷贝到容器内:

docker cp elasticsearch-analysis-ik-8.9.0.zip elasticsearch:/usr/share/elasticsearch/plugins/ik

随后在容器内解压zip文件并重启容器,IK分词器安装成功 🎊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

演绎法丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值