docker安装es连接kibana并安装分词器
使用Docker部署Elasticsearch、Kibana并安装分词器有以下主要优点:
1. 快速部署与一致性
-
一键式部署:通过Docker Compose可以快速搭建完整的ELK栈环境
-
环境一致性:确保开发、测试和生产环境完全一致,避免"在我机器上能运行"的问题
-
版本管理简单:可以精确控制Elasticsearch和Kibana的版本及其兼容性
2. 资源隔离与可扩展性
-
容器隔离:每个服务运行在独立容器中,互不干扰
-
资源限制:可为每个容器分配特定CPU/内存资源
-
横向扩展:轻松扩展Elasticsearch节点数量
3. 分词器集成的优势
-
多语言支持:安装适当的分词器(如ik中文分词器)可显著提升中文搜索质量
-
定制化分析:可以根据业务需求定制分词规则
-
搜索准确性:专业分词器能更好地理解文本语义,提高搜索相关性
4. 运维便利性
-
日志集中管理:Kibana提供直观的日志和指标可视化
-
配置持久化:通过volume保存配置和数据,容器重启不丢失
-
快速恢复:出现问题时可以快速重建容器
5. 开发效率提升
-
快速原型开发:开发者可以快速搭建本地测试环境
-
易于调试:可以单独重启某个服务而不影响其他组件
-
社区支持:Docker镜像通常有完善的文档和社区支持
这种部署方式特别适合需要快速搭建搜索服务并需要良好中文支持的应用场景。
1 Linux中的配置
1.1 docker安装Elasticsearch和Kibana
vim docker-compose.yml services: elasticsearch: image: elasticsearch:6.5.4 restart: always container_name: elasticsearch ports: - 9200:9200 environment: - ES_JAVA_OPTS=-Xms512m -Xmx512m # 关键修改 - bootstrap.memory_lock=true - http.host=0.0.0.0 - transport.host=0.0.0.0 ulimits: memlock: soft: -1 hard: -1 volumes: - es_data:/usr/share/elasticsearch/data kibana: image: kibana:6.5.4 restart: always container_name: kibana ports: - 5601:5601 environment: - elasticsearch_url=http://elasticsearch:9200 depends_on: - elasticsearch volumes: es_data: #启动容器 docker compose up -d #查看容器 docker ps |
1.2 安装分词器ik
# 下载插件包 可使用命令也可直接前往我的飞书下载,链接在下面 #上传插件包到es容器中 docker cp /root/elasticsearch-analysis-ik-6.5.4.zip d9:/tmp #进入容器 docker exec -it d9 bash #查看 ls -l /tmp # # 解压到plugins目录(目录名必须为ik) unzip /tmp/elasticsearch-analysis-ik-6.5.4.zip -d plugins/ik # 修改目录权限 chown -R elasticsearch:elasticsearch plugins/ik #退出容器 exit #重启容器 docker restart elasticsearch # 验证分词器 curl -X GET "localhost:9200/_cat/plugins?v" |
注意ik分词器和es,kibana的版本匹配问题,需要6.5.4版本的ik分词器插件包的可前往我的飞书自取
Docs
2 Kibana连接验证
curl -XGET 'http://localhost:9200' curl http://10.1.1.142:9200/_cluster/health?pretty #浏览器访问10.1.1.142:9200和http://10.1.1.142:5601/ 注意缓存问题,有时候一直进不去网页需要清除访问记录 快捷键: 还有可能是防火墙问题,如果是centos7,注意两个防火墙的配置,如果两个都下载了,都要关掉,如果是用docker配置东西,需要配置路由规则,直接关掉防火墙会导致docker启动某某服务失败。 |