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的更多相关文章

  1. 在Linux环境下,将Solr部署到tomcat7中,导入Mysql数据库数据, 定时更新索引

    什么是solr solr是基于Lucene的全文搜索服务器,对Lucene进行了扩展优化. 准备工作 首先,去下载以下软件包: JDK8:jdk-8u60-linux-x64.tar.gz TOMCA ...

  2. Window中的Docker 拉取Mysql镜像 并在本地Navicate链接

    首先本地   拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6   下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 doc ...

  3. centos7环境配置haproxy实现mysql数据库和redis代理服务器

    centos7环境配置haproxy实现mysql数据库代理 我们通常会碰到这样的业务场景: b主机和c数据库在同一个内网,a主机不能直接访问c数据库,我们可以通过在b主机上搭建代理让a访问c数据库, ...

  4. 一、初识MySQL数据库 二、搭建MySQL数据库(重点) 三、使用MySQL数据库 四、认识MySQL数据库的数据类型 五、操作MySQL数据库的数据(重点)

    一.初识MySQL数据库 ###<1>数据库概述     1. 数据库         长期存储在计算机内的,由组织的可共享的数据集合         存储数据的仓库         文件 ...

  5. 使用logstash拉取MySQL数据存储到es中的再次操作

    使用情况说明: 已经使用logstash拉取MySQL数据存储到es中,es中也创建了相应的索引,也存储了数据.假若把这个索引给删除了,再次进行同步操作的话要咋做,从最开始的数据进行同步,而不是新增的 ...

  6. MySQL数据库数据存放位置修改

    MySQL数据库数据存放位置修改 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方 ...

  7. Ubuntu上更改MySQL数据库数据存储目录

    之前写过一篇博客"MySQL更改数据库数据存储目录",当时的测试环境是RHEL和CentOS,谁想最近在Ubuntu下面更改MySQL数据库数据存储目录时遇到了之前未遇到的问题,之 ...

  8. 两台Mysql数据库数据同步实现

    两台Mysql数据库数据同步实现 做开发的时候要做Mysql的数据库同步,两台安装一样的系统,都是FreeBSD5.4,安装了Apache 2.0.55和PHP 4.4.0,Mysql的版本是4.1. ...

  9. 第二百七十七节,MySQL数据库-数据表、以及列的增删改查

    MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...

随机推荐

  1. 折半搜索+Hash表+状态压缩 | [Usaco2012 Open]Balanced Cow Subsets | BZOJ 2679 | Luogu SP11469

    题面:SP11469 SUBSET - Balanced Cow Subsets 题解: 对于任意一个数,它要么属于集合A,要么属于集合B,要么不选它.对应以上三种情况设置三个系数1.-1.0,于是将 ...

  2. windows CMD常用基础命令

    一.ping 主要是测试本机TCP/IP协议配置正确性与当前网络现状. ping命令的基本使用格式是: ping IP地址/主机名/域名 [-t] [-a] [-n count] [-l size] ...

  3. java实现网页验证码功能_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例为大家分享了java网页验证码的实现代码,供大家参考,具体内容如下 Servlet: package cn.bd ...

  4. JAVA笔记13-异常处理Exception

    掌握:一个图(分类).五个关键字(try catch finally throws throw) 一.概念 定义: 异常指的是运行期出现的错误(如除0溢出,空指针,数组/字符串下标越界,所要读取的文件 ...

  5. Python 列表(List)Ⅱ

    删除列表元素 可以使用 del 语句来删除列表的元素,如下实例: . 以上实例输http://www.xuanhe.net/出结果: 注意:我们会在接下来的章节讨论remove()方法的使用 Pyth ...

  6. UNIX环境C - 系统信号

    一.信号的概念 信号就是一种软中断,进程与进程之间信号的传递,都是通过内核来当做中转站的,不能直接传递信号. 二.信号的分类(128位信号,不过可用信号就1~64除去32与33) 1.不可靠信号(SI ...

  7. 设置获取data-*属性值

    html代码如下: <div id="getId" data-id="122" data-vice-id="11">获取id&l ...

  8. 【Leetcode】二分法

    题目: 在排序数组中查找元素的第一个和最后一个位置. 二分法的思想非常简单,然而其中的实现细节非常繁琐,容易出错.本推文非常详细地介绍二分法的实现细节. 总结几点注意事项: 初始上.下界的取值: 判断 ...

  9. 随堂小测APP使用体验

    随堂小测APP使用体验 先要去注册账号需要填写用户名.密码.手机号.学号/教师号.学校.专业.即可注册,注册成功后,即可登录APP进,登陆进去以后.会有两个界面,课堂和我的,注册.登录简单,通俗易懂, ...

  10. python3.x使用cxfreeze将.p打包成.exe

    之前写了一个使用ffplay批量查看格式为h264的图片,每次抽帧后都要打开pycharm编译器来运行程序,然后才能正常查看图片,或者在其他没有安装python环境的电脑中运行,很不方便.为此,在网上 ...