zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

用Fluent实现MySQL到ODPS数据集成

mysql集成数据 实现 Fluent ODPS
2023-09-14 09:01:04 时间
由于我操作的MySQL数据库位于172.16.1.156机器上,用户名是dong,密码是123456 而我安装的fluent位于172.16.1.158机器上,不在一台机器上,如果要从158机器远程访问156机器上MySQL会受限,禁止访问。 为此,需要在156机器上执行以下命令给指定IP授权。
grant ALL PRIVILEGES ON *.* to dong@"172.16.1.158" identified by "123456" WITH GRANT OPTION; 

state_file  /var/run/fluentd/sql_state  配置项 (path to a file to store last rows该文件默认不存在,需要提前创建好!)


state_file stores last selected rows to a file (named state_file) to not forget last row when Fluentd restarts.

[root@hadoop03 ~]#  vi /etc/fluent/fluent.conf    --编辑fluent.conf配置文件


  aliyun_access_key bG8xSLwhmKYRmtBoE3HbhOBYXvknG6   aliyun_odps_endpoint http://service.odps.aliyun.com/api   aliyun_odps_hub_endpoint http://dh.odps.aliyun.com   buffer_chunk_limit 2m   buffer_queue_limit 128   flush_interval 5s   project dtstack_dev    table in.sql     table demo_access_log     fields sex,name     shard_number 5    /table /match
fluentd启动时会自动加载/etc/fluent/fluent.conf中读取fluent.conf配置文件 fluentd  --启动命令 大概 5 分钟后,实时导入数据会被同步到离线表,可以使用 select count(*) from demo_access_log这样sql 语句进行验证。

如果安装Fluentd 用的是Ruby Gem,可以创建一个配置文件运行下面命令。发出一个终止信号将会重新安装配置文件。(如果修改了配置文件—fluent.conf 文件,ctrl c 终止进程,然后在配置文件下重新启动)

$ ctrl c 

$ fluentd -c fluent.conf


0f23223c004226c6e901b2f4e83e9693c8405e0f
异常产生原因:输入端没有配置 tag,输出端table上也没有制定对应tag。输入tag,在输出match时要能 匹配上,在输出table 要能对应上才行。
解决方法:在mysql输入源上添加上tag标签,即 tag in.sql
/usr/local/lib/ruby/gems/2.2.0/gems/activerecord- 4.2.6/lib/active_record/connection_adapters/connection_specification.rb:177:in `rescue in spec: Specified mysql for database adapter, but the gem is not loaded. Add `gem mysql` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)

这个问题是mysql插件需要用到mysql adapter适配器,需要安装mysql adapter适配器,执行以下命令:
Building native extensions.  This could take a while... Successfully installed mysql-2.9.1 Parsing documentation for mysql-2.9.1 Installing ri documentation for mysql-2.9.1 Done installing documentation for mysql after 2 seconds 1 gem installed 连接数据库适配器路径: mysql2_adapter.rb、mysql_adapter.rb、postgresql_adapter.rb在 /usr/local/lib/ruby/gems/2.2.0/gems/activerecord-4.2.6/lib/active_record/connection_adapters目录下 gem安装插件时遇到异常及排查
    Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org/quick/Marshal.4.8/cool.io-1.4.4.gemspec.rz) 87e96aeca2f6d3af42fc917d1aa087dbbb056add
异常产生原因: 由于gem源引起,需要加上淘宝源后要把原来那个rubygems那个删掉  解决方法: # 删除默认的官方源  gem sources -r https://rubygems.org/ # 添加淘宝源 
ERROR:  While executing gem ... (Gem::FilePermissionError)     You dont have write permissions for the /usr/local/lib/ruby/gems/2.2.0 directory. 异常产生原因:
手把手教你Prometheus + Granafa实现mysql 性能监测部署 数据库性能监控可以说是十分重要,能否自行搭建环境实现像阿里云或是腾讯云那样直观的展示不同维度数据的功能?答案是肯定的。下面详细说明一下安装部署过程以及过程中出现的问题,希望对你有所帮助!
mysql实现一次将多条不同sql查询结果并封装到一个结果集 最近遇到一个统计查询需求,要求一次性查询多个统计信息,其中两个查询信息不在一个表中,也没有业务关联,表中也没有做连接处理。不考虑产品设计是否合理,完全是实际需求如此,需要一次性查询出来返回给前端进行展示,对于这种“非常规”的统计查询平常肯定会遇见,感觉有点代表性,所以简单记录一下。希望对有相同需求的同学可以作为参考。
dream2751027 张东,大数据开发工程师,软件工程专业,目前在袋鼠云从事大数据开发,之前做过两年Java开发,先后参与开发过 ldquo;医师诊断系统 rdquo;, ldquo;可信构件管理系统 rdquo;,其中可信构件管理系统获得河南省科学技术成果鉴定证书、获2015届河南省计算机设计大赛二等奖。在大数据方面,分析过微博历史数据。