博客
关于我
ElasticSearch docker单机部署及常用插件安装
阅读量:784 次
发布时间:2019-03-24

本文共 2026 字,大约阅读时间需要 6 分钟。

部署ElasticSearch环境

部署ElasticSearch

1.1 拉取镜像

需要使用Docker仓库中的ElasticSearch镜像。可以运行以下命令拉取镜像:

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.9.3

如果网络不方便,可以使用镜像助手先下载。注意确保网络连接正常,镜像大小较大。

1.2 运行容器

运行ElasticSearch容器并设置必要的环境变量:

docker run -itd --name es -p 9200:9200 -p 9300:9300 --log-opt max-size=100m --log-opt max-file=3 --restart=unless-stopped -e "discovery.type=single-node" elasticsearch:7.9.3

想了解更多启动参数,可以在ElasticSearch官方文档中查阅。

1.3 配置跨域

默认情况下,ElasticSearch不允许跨域访问,需要手动配置。

进入容器修改配置:

docker exec -it es /bin/bash

进入/config目录:

cd config

编辑elasticsearch.yml文件:

vi elasticsearch.yml

添加以下配置:

http.cors.enabled: true
http.cors.allow-origin: "*"

保存后重启容器:

docker restart es

部署监控工具 - cerebro

2.1 运行容器

运行cerebro监控工具:

docker run -p 9000:9000 lmenezes/cerebro

2.2 配置

conf/application.conf文件中,可以手动配置ElasticSearch地址:

hosts = [
{
host = "http://localhost:9200"
name = "Some Cluster"
}
]

安装中文插件

3.1 插件下载

从GitHub下载对应版本的插件,比如:

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.3/elasticsearch-analysis-ik-7.9.3.zip

3.2 解压文件

在指定目录下解压:

unzip elasticsearch-analysis-ik-7.9.3.zip -d /ik

3.3 安装插件

将插件复制到ElasticSearch容器中:

docker cp /path/to/ikardım.es:/usr/share/elasticsearch/plugins/

重启容器后即可生效:

docker restart es

安装拼音插件

4.1 配置和安装

在Docker容器中安装pinyin插件:

docker exec -it es /bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.3/elasticsearch-analysis-ik-7.9.3.zip

4.2 测试功能

创建索引并测试分词:

curl -X PUT http://localhost:9200/name_index/ --data '{"mappings":{"properties":{"name":{"type":"text","analyzer":"ik_max_word","search_analyzer":"ik_max_word","fields":{"keyword":{"type":"keyword","ignore_above":256}},"pinyin":{"type":"text","analyzer":"name_analyzer","search_analyzer":"name_analyzer"}}}}'

分词测试:

curl -X GET http://localhost:9200/name_index/_analyze?text="刘德华"&analyzer="name_analyzer"

白盒测试结束后,可以进行性能测试和集群验证。

后续工作

  • 安装ElasticSearch安全插件search-guard,并配置访问权限。
  • 复制ElasticSearch配置到其他节点,完成集群部署。
  • 测试多租户环境下的权限分配和数据隔离。
  • 进行负载测试,优化ElasticSearch性能。
  • 转载地址:http://hnikk.baihongyu.com/

    你可能感兴趣的文章
    MySQL 日期时间类型的选择
    查看>>
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询数据库所有表的字段信息
    查看>>
    【Java基础】什么是面向对象?
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>