手机网站设计欣赏网站,图片设计素材,东莞房价走势,o2o模式免费ppt模板准备工作#xff1a;
1.有mysql的连接方式#xff0c;并且可以连接成功
2.有es的连接方式#xff0c;并且可以连接成功
3.安装了docker 环境是Ubuntu中安装了docker 一、创建配置文件#xff0c;用于容器卷挂载 # 切换目录#xff0c;可自定义 cd /home/test/ # 创建lo…准备工作
1.有mysql的连接方式并且可以连接成功
2.有es的连接方式并且可以连接成功
3.安装了docker 环境是Ubuntu中安装了docker 一、创建配置文件用于容器卷挂载 # 切换目录可自定义 cd /home/test/ # 创建logstash挂载的本地目录 mkdir logstash cd logstash mkdir config mkdir pipeline # 进入到config目录下创建配置文件 cd config # 创建mysql同步es数据的配置文件 vim jdbc.conf input {jdbc {jdbc_driver_library /home/test/logstash/mysql-connector-j-8.0.32.jarjdbc_driver_class com.mysql.cj.jdbc.Driverjdbc_connection_string jdbc:mysql://localhost:3306/_testjdbc_user rootjdbc_password root#启用分页默认falsejdbc_paging_enabled true#页面大小jdbc_page_size 500#是否记录上次运行的结果record_last_run true#记录上次运行结果的文件位置last_run_metadata_path /usr/share/logstash/pipeline/lastvalue.txt#是否使用数据库某一列的值use_column_value truetracking_column id#numeric或者timestamp#tracking_column_type numeric#如果为true则会清除last_run_metadata_path记录即重新开始同步数据clean_run false# sql语句文件对于复杂的查询可以放在文件中,如# statement_filepath jdbc.sql这个文件路径要跟jdbc.sql对应上#设置监听间隔。可以设置每隔多久监听一次什么的。#官方举例#* 5 * 1-3 * 一月到三月的每天凌晨5点每分钟执行一次。#0 * * * * 将在每天每小时的第0分钟执行。#0 6 * * * America/Chicago每天早上6:00UTC / GMT -5执行。#* * * * * 分、时、天、月、年全部为*默认含义为每分钟查询一次schedule * * * * *#索引类型#type jdbcstatement SELECT * FROM testORDER BY id ASC}
}output {elasticsearch {hosts localhost:9200index testuser elasticpassword elastictimeout 3000document_id %{id}template /home/test/logstash/config/test.jsontemplate_name test}
} # 创建test.json文件存放要同步数据的es模板 vim test.json {index_patterns: [test*],mappings: {properties: {id: { type: integer },accession: { type: keyword },name: { type: keyword },comment_text: { type: text },sequence: { type: text },keyword: { type: keyword }}}
}# 创建pipelines.yml亲测不创建会报错的 vim pipelines.yml - pipeline.id: pipeline1path.config: /usr/share/logstash/config/jdbc.conf # 创建logstash.yml亲测不创建会报错的这个空着就行 touch logstash.yml 上面文件都创建好了避免出现权限问题可以chmod 777 xxx。 接下来就启动logstash就可以了
二、启动容器 docker pull logstash # 启动容器将配置文件挂载到本地。注意这里使用-it启动可以看到详细的启动日志 docker run -it -p 5044:5044 --privilegedtrue -v /home/test/logstash/config:/usr/share/logstash/config -v /home/test/logstash/pipeline:/usr/share/logstash/pipeline --name logstash logstash 由于配置文件中使用的是定时任务配置内容schedule * * * * *启动容器就会立刻同步数据而且会一直反复同步。 这个定时任务仅用于测试~~实际一定会详细配置时间的。 调试过程中遇到的问题
logstash同步mysql数据到es(一、es模板问题请求返回400)
logstash同步mysql数据到es(二、jdbc_driver_library问题)
logstash同步mysql数据到es(三、es模板问题)