FLUME安装&环境(二):拉取MySQL数据库数据到Kafka
Flume安装成功,环境变量配置成功后,开始进行agent配置文件设置。
1.agent配置文件(mysql+flume+Kafka)
#利用Flume将MySQL表数据准实时抽取到Kafka
a1.channels = c1
a1.sinks = k1
a1.sources = s1
#sources(mysql)
a1.sources.s1.type = org.keedio.flume.source.SQLSource
a1.sources.s1.channels = c1
a1.sources.s1.connection.url = jdbc:mysql://192.168.121.4:3306/alarm
a1.sources.s1.user = root
a1.sources.s1.password = root
a1.sources.s1.table = alarm_query
a1.sources.s1.columns.to.select = *
a1.sources.s1.incremental.column.name = id
a1.sources.s1.incremental.value = 0
a1.sources.s1.run.query.delay=5000
#source状态写入路径(必须存在且可写入)
a1.sources.s1.status.file.path = /opt/apps/flume-1.6.0-cdh5.14.4-bin
a1.sources.s1.status.file.name = sqlsource.status
#channels(memory)
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#sinks(kafka)
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
# kfk29,kfk30,kfk31对应主机hosts配置的Kafka主机
a1.sinks.k1.brokerList= D-QP-Safe-4:9092, D-QP-Safe-5:9092, D-QP-Safe-6:9092
a1.sinks.k1.topic=qpdy
a1.sinks.k1.requiredAcks = 1
a1.sinks.k1.batchSize = 2
a1.sinks.k1.channel = c1
2.配置准备
2.1创建flume状态写入的文件夹和文件
mkdir /var/lib/flume
vi s1.status
给文件写入的权力 chmod 777 s1.status
2.2将flume内存空间设置增大(开始时没有进行设置,结果报了内存溢出的错误)
在flume启动脚本flume-ng中,修改JAVA_OPTS="-Xmx20m"为JAVA_OPTS="-Xmx10240m"
此处将堆内存的阈值跳转到了10G,实际生产环境中可以根据具体的硬件情况作出调整
2.3添加主机对应的kafka主机
(flume.conf配置文件需要添加主机对应的Kafka主机,否则无法找到对应的sink)
# vim /etc/hosts
#添加主机对应的kafka主机
192.168.241.229 D-QP-Safe-4
192.168.241.230 D-QP-Safe-5
192.168.241.231 D-QP-Safe-6
2.4向flume安装目标的/lib目录下添加启动mysql,Kafka等的jar包
3.启动flume
要在flume的安装目录的bin目录下启动
#启动命令
flume-ng agent -c /opt/apps/flume-1.6.0-cdh5.14.4-bin/conf -f /opt/apps/flume-1.6.0-cdh5.14.4-bin/conf/flume.conf -n a1 -Dflume.root.logger=INFO,console
a1为配置的agent名,-c和-f后是flume的安装路径(必须一致才能启动成功)
4.查看flume进程
ps -aux | grep flume
如果存在多个进程必须将多余进程kill
为了避免一个个的kill,我们需要提取flume的进程号:
ps -aux | grep flume | awk '{print $2}'
然后全部删除
ps -aux | grep flume | awk '{print $2}' | xargs kill
以上,拉取mysql数据库数据到Kafka就配置好了
FLUME安装&环境(二):拉取MySQL数据库数据到Kafka的更多相关文章
- 在Linux环境下,将Solr部署到tomcat7中,导入Mysql数据库数据, 定时更新索引
什么是solr solr是基于Lucene的全文搜索服务器,对Lucene进行了扩展优化. 准备工作 首先,去下载以下软件包: JDK8:jdk-8u60-linux-x64.tar.gz TOMCA ...
- Window中的Docker 拉取Mysql镜像 并在本地Navicate链接
首先本地 拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6 下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 doc ...
- centos7环境配置haproxy实现mysql数据库和redis代理服务器
centos7环境配置haproxy实现mysql数据库代理 我们通常会碰到这样的业务场景: b主机和c数据库在同一个内网,a主机不能直接访问c数据库,我们可以通过在b主机上搭建代理让a访问c数据库, ...
- 一、初识MySQL数据库 二、搭建MySQL数据库(重点) 三、使用MySQL数据库 四、认识MySQL数据库的数据类型 五、操作MySQL数据库的数据(重点)
一.初识MySQL数据库 ###<1>数据库概述 1. 数据库 长期存储在计算机内的,由组织的可共享的数据集合 存储数据的仓库 文件 ...
- 使用logstash拉取MySQL数据存储到es中的再次操作
使用情况说明: 已经使用logstash拉取MySQL数据存储到es中,es中也创建了相应的索引,也存储了数据.假若把这个索引给删除了,再次进行同步操作的话要咋做,从最开始的数据进行同步,而不是新增的 ...
- MySQL数据库数据存放位置修改
MySQL数据库数据存放位置修改 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方 ...
- Ubuntu上更改MySQL数据库数据存储目录
之前写过一篇博客"MySQL更改数据库数据存储目录",当时的测试环境是RHEL和CentOS,谁想最近在Ubuntu下面更改MySQL数据库数据存储目录时遇到了之前未遇到的问题,之 ...
- 两台Mysql数据库数据同步实现
两台Mysql数据库数据同步实现 做开发的时候要做Mysql的数据库同步,两台安装一样的系统,都是FreeBSD5.4,安装了Apache 2.0.55和PHP 4.4.0,Mysql的版本是4.1. ...
- 第二百七十七节,MySQL数据库-数据表、以及列的增删改查
MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...
随机推荐
- HMC版本支持
Target Version Upgrade From Upgrade Instructions Updates Date Available End of Service Models supp ...
- Mybatis 动态sql(转载)
原文地址:http://www.cnblogs.com/dongying/p/4092662.html 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个 ...
- node.js 实现 AES CTR 加解密
node.js 实现 AES CTR 加解密 node aesctr 前言 由于最近我们在做一款安全的文件分享 App, 所有文件均需要使用 aes ctr 来进行加密,aes key 还有一整套完整 ...
- ZROI 19.08.02 计算几何
1.向量基础知识 \(atan2\)可以求极角,但是不是特别精确,在坐标接近\(10^{9}\)时会出锅,安全的做法是叉积. 旋转.反射和平移等都可以抽象为矩阵,即,它们可以复合.(需要一些必修四知识 ...
- axios获取响应头
[转载] 来源:https://segmentfault.com/a/1190000009125333 在用 axios 获取 respose headers 时候获取到的只有的 Object { c ...
- Spring Data JPA基本了解
前言 自 JPA 伴随 Java EE 5 发布以来,受到了各大厂商及开源社区的追捧,各种商用的和开源的 JPA 框架如雨后春笋般出现,为开发者提供了丰富的选择.它一改之前 EJB 2.x 中实体 B ...
- encode()和decode()两个函数
编码可以将抽象字符以二进制数据的形式表示,有很多编码方法,如utf-8.gbk等,可以使用encode()函数对字符串进行编码,转换成二进制字节数据,也可用decode()函数将字节解码成字符串:用d ...
- shell练习--PAT题目1003:我要通过!(成功案例)
“答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”. 得到“答案正确”的条件是: ...
- 4. ClustrixDB CLX命令详解
Clustrix提供了一个名为clx的实用程序来管理其分布式ClustrixDB数据库. 命令在 /opt/clustrix/bin/ 下面 sudo su - clxm 用户即可使用 clx hel ...
- ef复杂模型添加
模型浏览器 函数导入-添加存储过程名称 添加复杂实体.复杂实体可以手动在xml里面创建.在complextype里面