linux docker 安装 elasticsearch

本文详细介绍了如何使用Docker部署Elasticsearch 7.2.0及Kibana,包括拉取镜像、启动服务、配置修改、安装IK分词器等步骤,同时提供了检查安装状态及解决跨域问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. pull 镜像命令如下:

docker pull elasticsearch:7.2.0

2.启动es,命令如下:

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0

3. 检查es是否安装完成,游览器打开本机ip地址 加端口9200

http://localhost:9200

4.修改配置,解决跨域问题,进入容器 找到elasticsearch.yml

添加 

http.cors.enabled: true

http.cors.allow-origin: "*"

文件命令如下:

docker exec -it elasticsearch /bin/bash

cd /usr/share/elasticsearch/config/

vi elasticsearch.yml

 

然后退出 esc 加冒号:输入wq 保存 输入exit 退出容器

修改配置后重启容器即可

docker restart elasticsearch

5.安装ik分词器 命令如下

cd /usr/share/elasticsearch/plugins/

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

然后 exit 退出 重启es 命令docker restart elasticsearch

6.安装kibana,docker 拉取镜像

docker pull kibana:7.2.0

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

docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.2.0

docker start kibana

启动以后可以打开浏览器输入http://localhost:5601就可以打开kibana的界面了。

### 安装前准备 为了确保 Docker 已经正确配置,在 Linux 上可以执行 `systemctl status docker` 来验证 Docker 的运行状况[^1]。如果尚未启动或设置开机自启,则可以通过如下指令完成操作: ```bash sudo systemctl start docker sudo systemctl enable docker ``` 上述命令会立即启动 Docker 并将其设为随系统启动自动激活的服务[^2]。 ### 下载并运行 Elasticsearch 容器镜像 对于想要快速开始使用 Elasticsearch 的用户来说,最简便的方式是从官方仓库拉取最新版本的镜像文件,并创建一个新的容器实例来承载该应用。具体做法如下所示: #### 方法一:单节点模式 可以直接利用 Docker Hub 中提供的官方映像来迅速建立单一节点版的 Elasticsearch 实例: ```bash docker pull elasticsearch:7.10.2 docker run -d --name es-node1 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.10.2 ``` 这段脚本首先下载指定标签(这里选择了较稳定的 7.x 版本)下的 Elasticsearch 映像;接着以守护进程方式 (`-d`) 启动新容器,命名为 `es-node1` ,并将主机端口 9200 和 9300 分别映射到容器内部对应接口上[-3]。 #### 方法二:多节点集群模式 当需要构建高可用性的分布式搜索引擎时,建议采用多个容器共同构成一个完整的 Elasticsearch 集群结构。这通常涉及到编写更复杂的 YAML 文件定义各成员间的关联关系以及网络通信参数等细节问题。不过借助于 `docker-compose` 这样的工具能够极大地简化这一过程: ```yaml version: '2' services: esnode1: image: elasticsearch:7.10.2 container_name: es- cluster.name=docker-cluster - bootstrap.memory_lock=true - discovery.seed_hosts=es-node2,es-node3 - cluster.initial_master_nodes=es-node1,es-node2,es-node3 - ES_JAVA_OPTS=-Xms512m -Xmx512m ulimits: memlock: soft: -1 hard: -1 volumes: - esdata1:/usr/share/elasticsearch/data ports: - 9200:9200 esnode2: ... esnode3: ... volumes: esdata1: esdata2: esdata3: ``` 在此基础上,只需调用一次简单的命令即可按照预设方案建立起由三个独立工作单元组成的弹性伸缩型数据处理平台[^5]: ```bash docker-compose up -d ``` 最后一步是检验整个系统的健康程度和服务质量,可通过浏览器访问 http://localhost:9200 或者直接在终端里输入 `curl http://localhost:9200/_cluster/health?pretty` 获取当前集群的状态信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值