项目简介
本项目提供基于Docker的Elasticsearch和Kibana部署方案,结合Python和Logstash,实现从MySQL数据库到Elasticsearch的数据导入。借助Docker Compose,可快速搭建环境,使用Python脚本自动生成Logstash配置文件,实现数据自动化迁移。
项目的主要特性和功能
- Docker Compose部署:利用Docker Compose快速部署Elasticsearch和Kibana,简化环境搭建。
- Elasticsearch与Kibana集成:Elasticsearch作分布式搜索引擎,Kibana作可视化界面,提供强大搜索和可视化功能。
- 数据导入工具:Python脚本生成Logstash配置文件,支持从MySQL数据库或CSV文件导入数据到Elasticsearch。
- 自动化配置生成:依据MySQL数据库表结构自动生成Logstash配置文件,减少手动配置工作量。
- 支持中文分词:集成IK分词器,优化中文文本搜索和分析。
安装使用步骤
环境准备
- 确保已安装Docker和Docker Compose。
- 安装Python 3.x,并安装所需Python库(如
pymysql
)。
部署Elasticsearch和Kibana
- 复制项目代码到本地。
- 在项目根目录下运行以下命令启动Elasticsearch和Kibana:
bash docker-compose up -d
- 验证Elasticsearch和Kibana是否正常运行:
bash curl http://localhost:9200
访问http://localhost:5601
查看Kibana界面。
配置数据导入工具
- 在
config.json
中配置MySQL数据库的连接信息,包括主机名、端口、用户名、密码、数据库名和表名。 - 运行
generate_conf
目录下的Python脚本,生成Logstash配置文件:bash python generate_conf/generate_logstash_conf.py
执行数据导入
使用Logstash执行生成的配置文件,将数据从MySQL数据库导入到Elasticsearch:
bash
logstash -f /path/to/generated/logstash.conf
验证数据
在Kibana中创建索引模式,并验证数据是否成功导入。
中文分词器安装(可选)
如果需要使用IK分词器,可以进入Elasticsearch容器并安装IK分词器插件:
bash
docker exec -ti elasticsearch bash
docker-compose restart elasticsearch
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】