Docker安装elasticsearch

提示:window 环境下 docker 安装 elasticsearch

一、Docker安装Elasticsearch

  1. 下载镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.16.1

PS: elasticsearch 需要安装ik分词器插件,分词器插件需要与 elasticsearch 版本一致,请先参考:https://release.infinilabs.com/analysis-ik/stable/ 选择对应的版本,否则找不到对应的ik版本

  1. 启动Elasticsearch
docker run --name es -p 9200:9200  -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -d 镜像ID

启动Elasticsearch(挂载目录)

docker run --name es -p 9200:9200  -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v D:\\project\\docker-elasticsearch\\config\\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:\\project\\docker-elasticsearch\\data:/usr/share/elasticsearch/data -v D:\\project\\docker-elasticsearch\\plugins:/usr/share/elasticsearch/plugins -d 镜像ID
docker run :运行容器的命令
	--name:启动后容器的名字
	-p: port 端口映射,9200是外部访问es的restful端口,9300是es集群内部节点之间通信的端口。
	-e: env 环境变量,ES_JAVA_OPTS="-Xms84m -Xmx512m": es是Java写的,这里是设置Java虚拟机相关参数
	-v: volume 目录挂载映射
	-d: daemon后台运行

PS:在宿主机上记录当前es容器的配置信息,数据,及插件,这样即使容器删了。重新生成时候,保留数据
主要包括:elasticsearch 下的 config,data,plugins 目录

  1. 修改配置文件 /usr/share/elasticsearch/config/elasticsearch.yml (修改为免密登录和http访问)
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 25-12-2024 06:13:10
#
# --------------------------------------------------------------------------------
# Enable security features
xpack.security.enabled: false 这里是为了关闭http访问

xpack.security.enrollment.enabled: true

# 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: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------
#关闭http访问限制
http.cors.enabled: true
http.cors.allow-origin: '*'
http.cors.allow-headers: '*'

PS:这里可以修改密码,需要操作bin/elasticsearch-reset-password重置密码

  1. 重启容器,访问:http://localhost:9200/
    在这里插入图片描述

二、安装分词器ik

  1. 在线安装:进入容器,cd 到 elasticsearch/bin 目录下,执行:
elasticsearch-plugin install  https://get.infini.cloud/elasticsearch/analysis-ik/8.16.1

PS:ik分词器版本和elasticsearch版本一点要保持一致,否则会报错。
参考:https://github.com/infinilabs/analysis-ik/releases?page=1

  1. 离线安装
#将已经下载好的zip包拷贝到容器中
docker cp C:\Users\liu1995yz\Desktop\elasticsearch-analysis-ik-8.16.1.zip 695f1235805:/usr/share/elasticsearch/plugins
#进入容器
docker exec -it 695f1235805 /bin/bash
#创建ik目录
mkdir /usr/share/elasticsearch/plugins/ik
#将文件移动到ik目录中
mv /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-8.16.1.zip /usr/share/elasticsearch/plugins/ik
#进入ik
cd /usr/share/elasticsearch/plugins/ik
#解压
unzip elasticsearch-analysis-ik-8.16.1.zip
#删除压缩包
rm -rf elasticsearch-analysis-ik-8.16.1.zip
  1. 重启容器
  2. 检查
CMD命令行中:
curl -X GET "localhost:9200/_cat/plugins?v&s=component&h=name,component,version"
输出:(表示分词器安装成功)
name         component   version
09de59bc437f analysis-ik 8.16.1

参考:https://www.cnblogs.com/szwdun/p/10664348.html

三、安装Elasticsearch-Head

PS:需要有node环境

  1. 下载:https://github.com/mobz/elasticsearch-head
  2. 访问:http://localhost:9100/
    在这里插入图片描述
    PS:elasticsearch.yml 配置文件要设置成免密和关闭https,否则这里访问时候,要带着账号密码
    参考:https://blog.csdn.net/YouMing_Li/article/details/134932203

四、Docker安装kibana

  1. 获取镜像:
docker pull docker.elastic.co/kibana/kibana:8.16.1

PS:kibana版本一定要和es版本一致

  1. 启动容器
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.17.0.3:9200/ -p 5601:5601 -d docker.elastic.co/kibana/kibana:8.16.1

PS:ip要写容器内ip
查看es容器信息:docker inspect 09de59bc437f
在这里插入图片描述
3. 访问:http://localhost:5601/ (这里设置的是免密登录,所以不需要账号密码)
在这里插入图片描述

### 使用Docker安装Elasticsearch的教程 #### 安装前准备 为了确保顺利安装,需确认已正确配置好Docker环境并能够正常运行容器服务[^2]。 #### 下载官方镜像 通过执行如下命令来获取指定版本(例如7.14.0)的Elasticsearch Docker镜像: ```bash docker pull docker.elastic.co/elasticsearch/elasticsearch:7.14.0 ``` 这一步骤会从Elastic官方仓库下载对应标签下的最新构建版本[^1]。 #### 启动Elasticsearch实例 创建一个新的网络以便后续可以方便地连接其他组件如Kibana等工具;接着启动单节点模式下的Elasticsearch容器。这里假设使用默认设置,并开放9200端口用于HTTP通信以及9300端口作为集群间通讯接口: ```bash docker network create esnet docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ --network=esnet \ -d docker.elastic.co/elasticsearch/elasticsearch:7.14.0 ``` 上述操作定义了一个名为`elasticsearch`的新容器,并将其加入到之前建立好的虚拟网桥中去[^3]。 #### 配置持久化存储 为了避免数据丢失,在实际生产环境中建议将重要目录映射至宿主机路径下保存。比如把配置文件夹复制出来便于修改参数设定: ```bash mkdir -p /mydata/es/config docker cp elasticsearch:/usr/share/elasticsearch/config/ /mydata/es/ ``` 之后可以在本地编辑这些文档后再送回给正在运行的服务进程加载应用新的更改项。 #### 测试访问 最后可以通过浏览器或其他RESTful客户端尝试请求http://localhost:9200/_cat/nodes?v验证是否成功部署完成。如果一切正常的话应该能看到有关当前节点的信息列表显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值