ES配置.
1: 首先要有一个 jdk的环境首先配置 JAVA_HOME ::2:使用dockere拉取es镜像 (会有一个三百多的mb)(1):docker pull elasticsearch:7.7.0 (版本都可以但是要和下面两个版本一致)(2):在浏览器访问http://localhost:9200 出现以下情况即为成功3:下载kibana 版本要和es一致 这是一个可视化工具https://art
1: 首先要有一个 jdk的环境 首先配置 JAVA_HOME ::
2:使用dockere拉取es镜像 (会有一个三百多的mb)
(1):docker pull elasticsearch:7.7.0 (版本都可以但是要和下面两个版本一致)
(2):在浏览器访问http://localhost:9200 出现以下情况即为成功
3:下载kibana 版本要和es一致 这是一个可视化工具
https://artifacts.elastic.co/downloads/kibana/kibana-6.2.2-windows-x86_64.zip
运行bin目录下的kibana.bat,启动Kibana的用户界面,访问 http://localhost:5601
4:下载logstash
访问链接,找版本::https://mirrors.huaweicloud.com/logstash/?C=N&O=D
下载后进入logstash中的bin文件中运行 logstash -e "input { stdin { } } output { stdout {} }"
5:安装logstash-input-jdbc插件 将数据库数据同步到logstash日志中:
cmd bin目录
logstash-plugin install logstash-input-jdbc
出来以下就说明安装成功
Validating logstash-input-jdbc
Installing logstash-input-jdbc
Installation successful
6:在bin目录同级下新建mysql文件夹
在jdbc中 配置:
input {
stdin {
}
jdbc {
# mysql jdbc connection string to our backup databse 后面的test对应mysql中的test数据库
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/p11_tubatu_pingtai?useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC&useSSL=false" # 可修改
# the user we wish to excute our statement as
jdbc_user => "root" # 自己的用户名
jdbc_password => "123" # 自己的密码
# the path to our downloaded jdbc driver
jdbc_driver_library => "F:/es/logstash-7.7.0/mysql/mysql-connector-java-8.0.20/mysql- connector-java-8.0.20.jar" # 自己的jar数据库程序
# the name of the driver class for mysql
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "500"
#以下对应着要执行的sql的绝对路径。
statement => "SELECT * FROM `article` " # 加入的sql语句 也可以文件加入
# statement_filepath => "F:/es/logstash-7.7.0/mysql/all_mysql.sql"
#定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新(测试结果,不同的话请留言指出)
# 两秒执行一次
schedule => "*/2 * * * * *"
#设定ES索引类型
type => "cc_type"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
#ESIP地址与端口
hosts => "127.0.0.1:9200"
#ES索引名称(自己定义的)
index => "cc_article"
#自增ID编号
document_id => "%{id}"
}
stdout {
#以JSON格式输出
codec => json_lines
}
}
7:cmd进入bin 运行 logstash -f ../mysql/jdbc.conf
迁移数据表
8:应用到py文件
from elasticsearch import Elasticsearch es = Elasticsearch([{ 'host': 'localhost', 'port': 9200 }]) filter_path = ['hits.hits._source.name'] # 字段1 @app1.route('/esss') def esss(): ss = request.args.get('ss') print(ss) mapping = { 'query': { 'wildcard': { 'username.keyword': '*' + ss + '*' } } } # res_all = es.search(index='cc_article', body=mapping) res_all = es.search(index='cc_user', body=mapping) #index 在jdbc文档中配置的索引 res = [] for i in res_all['hits']['hits']: res.append(i['_source']) print(res_all) return jsonify({'code': 200, 'list': res})
看自
csdn::: 焦长豪的技术博客
更多推荐
所有评论(0)