龙空技术网

Logstash写数据到ClickHouse

蚂蚁绊飞机 463

前言:

现在我们对“易语言读取mysql数据库表名”可能比较注意,兄弟们都想要知道一些“易语言读取mysql数据库表名”的相关文章。那么小编也在网络上收集了一些关于“易语言读取mysql数据库表名””的相关资讯,希望我们能喜欢,我们快快来了解一下吧!

简介

在日常工作中我们使用Mysql作为数据存储,但是随着业务的增长,传统的关系型数据库在做OLAP上有些力不从心,当然可以使用加内存升级硬件等方式来解决这样的问题,但投投资回报率显然不高,所有将部分OLAP业务转移到ClickHouse上来。

什么是ClickHouse?

很直白的讲ClickHouse是一个高性能、易扩展的列存储数据库。

想了解的同学请看另外一篇文章,这里不加赘述。

书归正文

之前的业务是将行为日志收集到Kafka, 在用Logstash从Kafka中读取,并写入到Mysql中,不得不说Logstash在插件方面要比Flume好的多,抱着试试看的态度搜索了下ClickHouse的插件,还真有。

准备工作

JDK -1.8+Logstash -5.6.4(版本随意看你心情)

第一步,去官网下载Logstash安装包,并解压。

第二步,安装目录执行install,当看到Successfuled恭喜你成功了。

bin/logstash-plugin install logstash-output-clickhousekaka

第三步,ClickHouse创建测试表

#创建学生测试表CREATE TABLE default.student (`age` Int64, `name` Nullable(String)) ENGINE = MergeTreeORDER BY age SETTINGS index_granularity = 8192 

第四步,配置Logstash的conf。

读Kafaka数据就不在这里演示了,使用命令行方式代替。

input { #命令行输入 stdin{}}filter{ grok {	#简单的正则匹配 match => { "message" => "(?<age>\S+) (?<name>\S+)"} } }output {	#控制台打印 stdout{ codec=>rubydebug{} }  clickhouse {	#授权信息,这里注释了 #headers => ["Authorization", "Basic YWRtaW46cGFzc3dvcmQxMjM="]	#数据库请求串,集群可直接追加如: ["","",""] http_hosts => [""]	#student 表名称 table => "student" mutations => {	#字段名称	 age => age name => name } }}

第五步,启动Logstash

logstash -f ../config/clickhouse.conf

启动截图

在看下数据库

数据库截图

至此,Logstash整合ClickHouse就结束了。

当然这只是一个简单的Demo

详细信息见插件官网:

插件可配置参数

标签: #易语言读取mysql数据库表名