- 博客(61)
- 资源 (12)
- 收藏
- 关注
原创 Streamsets FAQ(七)record can not be null
1、问题描述对接mysqlbinlog,实时同步数据,pipeline运行一段时间后报错record can not be nullpipeline直接挂掉,重启无法启动,依然报错,只有重置offset后才能运行起来。2、解决方案这个错误基本上都是因为原始数据库那边的表没有主键导致的,所以需要到原始库那边检测哪些数据表没有主键,给这些表添加主键配置,或者在pipeline中将这些没有主键的数据表忽略掉即可。这里也附上MySQL查看没有主键表的SQL语句SELECT t1..
2020-08-31 09:49:28
618
原创 Streamsets FAQ(六)关于SS的8小时问题总结
1、问题描述关于SS的8小时问题之前也写了2个文章,以为问题已经得到了解决,但是发现想的太简单,再次遇到这个问题,折腾了2天,现在把这个问题梳理一下。大数据平台使用的是CDH-6.2.0版本,安装在Centos7.6 64位服务器上,服务器时区为CST时区,SS使用的是3.13.0版本。数据同步的需要首先是从各个业务系统MySQL同步到中间库MySQL上,再根据数据分析的需要,有选择性的从中间库MySQL同步到大数据平台的kudu中,MySQL版本统一为5.6的,MySQL时区和安装MySQL的服务
2020-08-31 09:47:03
1544
原创 Streamsets FAQ(五)关于SS增量同步mysql数据过程中offset值时间偏差问题
1、问题描述CDH-6.2.0,SS-3.13.0。在使用SS同步mysql数据到kudu时使用JDBC Query Consumer,因为mysql的datetime数据到kudu的timestamp后少了8小时,给JDBC Query Consumer中JDBC配置添加了额外配置项,在最后的Additional JDBC Configuration Properties中增加2个配置serverTimezone UTCuseTimezone true添加这2个配置后.
2020-08-31 09:42:17
974
2
原创 Streamsets FAQ(四)SS同步binlog到kudu时间少8小时
1、问题描述当前使用的是CDH-6.2.0和SS-3.13.0版本,在同步增量binlog数据到MySQL的时候datetime格式的字段时间会多出8小时,基于这个原因我们修改了SS里面的mysql-binlog-connector-java-0.13.0.jar源码streamsets-3.13.0中使用的mysql-binlog-connector-java是0.13.0版本,找到0.13.0的源码,https://github.com/shyiko/mysql-binlog-connec
2020-08-31 09:39:49
1242
12
原创 Streamsets FAQ(三)SS前端界面时间格式调整
1、问题描述SS的前端界面时间显示默认使用的是CST时区,和中国时区有6小时时差(少了6小时),实际时间是2020-04-07 10:20:00,显示为2020-04-07 04:20:002、解决方案进行Settings,修改Timezone为UTC即可,无需重启。...
2020-08-31 09:36:58
787
1
原创 Streamsets FAQ(二)关于SS的8小时问题
1、问题描述在使用SS进行数据同步的过程中发现有8小时差值问题,具体表现为在使用JDBC Query Consumer这样的stage入到kudu时发现数据比MySQL中数据小8小时。在使用MySQL Binary Log这样的stage解析binlog数据时数据比MySQL中数据大了8小时,针对2种情况处理方式是不一样的。2、解决方案2.1、JDBC Query Consumer在JDBC Query Consumer这个stage的JDBC配置项中往下拉,在最后的Additiona.
2020-08-31 09:35:46
642
原创 Streamsets FAQ(一)使用binglog同步MySQL数据到kudu,date数据类型在两端不一致
1、问题描述使用streamsets将mysql数据同步到kudu中,直接解析mysql的binlog进行实时数据同步,发现一个小的细节问题,mysql中定义的date类型的字段在解析binlog后变成了带有星期几标致的值,如create字段是date类型,值为2019-06-19,那么streamsets的mysqlbinlog就会将其解析成Wed Jun 19,如果在kudu这边定义的create字段是string类型的话,这个值入库的时候就会是Wed Jun 19,和原始库差别太大了。2.
2020-08-31 09:31:45
900
4
原创 Streamset(十一)实时同步SQL Server2008R2数据
1、说明安装好SQL Server2008R2,安装好streamsets-3.17.0,测试实时同步SQL Server数据。2、配置sqlserver监听mysql binlog需要先开启binlog机制,sqlserver则需要配置对数据库启用cdc,并对数据表启用cdc机制。2.1、开启SQL Server代理除了sqlserver自身服务正常启动运行外还需要启动SQL Server代理服务2.1、创建数据库CREATE DATABASE yigou;..
2020-08-30 08:50:48
1717
2
原创 Streamsets(十)通过脚本监控pipeline任务状态
1、说明安装好streamsets后直接内置了restful API的说明http://172.27.13.109:18630/collector/restapi我们是监控某一个pipeline的运行状态,所使用的api为/rest/v1/pipeline/{pipelineId}/status需要指定所查询的pipeline的Id,返回的是json格式数据。2、测试直接在操作系统上使用curl命令来测试,Authorization为账号密码进行加密后得到的字..
2020-08-29 12:44:49
1284
3
原创 Streamsets(九)启停控制脚本
1、streamsets启停控制脚本#!/bin/shif [ $# = 1 ]then if [ $1 = "help" ] then echo "control the streamsets process, eg:sh streamsets.sh start|stop|restart|status" elif [ $1 = "start" ] then pid=`ps -ef | grep streamsets | grep -v grep | grep -v /bin/ba
2020-08-29 12:42:04
926
原创 Streamsets(八)通过JavaScript Evaluator转换数据格式
1、pipeline说明在通过JDBC Query Consumer读取MySQL存量数据往kafka发送的时候记录值中字段名和字段值以map的形式传递,如下格式:{ "id": 3, "name": "rr", "address": "hefei", "age": 28, "weight": 102.0, "date_created": 1590028341000}这种格式的数据无法满足下游数据消费方的需求,需要额外加工,因此在JDBC Query Consumer后.
2020-08-29 12:40:39
2026
原创 Streamsets(七)SS读取binlog数据实时同步到kudu
1、创建pipeline创建新的pipeline binlog2kudu。2、MySQL Binary Log这块和之前配置一样,重新指定一个server id3、Field Renamer4、Kudu注意选择与自己kudu集群一致的stage librarykudu的master需要手动填写,端口默认7051,表名依然动态获取,如果是impala创建的kudu表记得加上前缀impala::default....
2020-08-29 12:38:36
679
7
原创 Streamsets(六)SS读取binlog数据实时同步到MySQL
1、说明实时同步binlog数据到MySQL我使用了2种方式,2、方式一第一种方式较为繁琐,数据从binlog流出,经过JS数据解析器将必要的字段解析出来,流入操作选择器,根据具体需要执行的增删改操作选择最后的JDBC Producer,pipeline如下:binlog数据到JS数据解析器之前是这样{ "BinLogFilename": "mysql-bin.000001", "Type": "INSERT", "Table": "test", "ServerId": 1
2020-08-29 12:36:18
1618
5
原创 Streamsets(五)SS读取binlog数据并存储到本地
1、配置MySQL binlog1.1、修改mysql配置首先查看一下当前MySQL是否开启了binlogmysql -u root -p -e "show global variables like '%log_bin%';"修改/etc/my.inf文件,在mysqld下面加上以下参数,需要注意log_bin所配置的目录是不是已经存在并且目录权限是mysql:mysql如果不是记得手动去创建目录并修改权限,否则后面mysql重启会因为找不到目录而启动失败server-i.
2020-08-29 12:31:17
1686
原创 Streamsets(四)SS配置MySQL存量数据同步到kudu
1、MySQL建表在MySQL中建表CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL D
2020-08-29 12:24:45
583
原创 Streamsets(三)SS配置MySQL数据同步到本地目录
1、配置pipeline安装好SS并配置好MySQL驱动后简单的测试从MySQL读取数据,写入到本地的文件系统(这里说的本地指的是运行SS服务的服务器)1.1、配置JDBC Query Consumer这里需要定义一个执行的SQL语句,SQL语句需要符合相关规范,包括有where条件,order by 排序规则,如下:select * from user_organ_base where date_created>'${OFFSET}' order by date_created
2020-08-29 11:47:20
686
原创 Streamsets(二)SS添加MySQL驱动包
1、创建目录因为是使用的CDH集成的SS,因此外部依赖的目录实际上并没有创建,外部依赖的存放位置从这查看到部署了SS的服务器上手动创建SDC Libraries Extra Directory配置的目录,并修改权限为sdc:sdcsudo mkdir /opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR-3.13.0/streamsets-libs-extrassudo chown -R sdc:sdc /opt/cloudera/par.
2020-08-29 11:43:29
727
原创 Streamsets(一)CDH-6.2.0集成Streamsets-3.13.0
1、下载安装包根据操作系统版本下载所需安装包,需要一个parcel包、parcel文件对应的SHA文件,以及一个csd jar包https://archives.streamsets.com/index.html实际上最好是知道所想使用的streamsets是否可以很好的支持我们的CDH平台,可以从官网的https://streamsets.com/documentation/datacollector/3.13.x/help/datacollector/UserGuide/I.
2020-08-29 11:39:30
712
翻译 Storm(二)Storm基本术语
storm 中的一些概念,Topologies、Streams、Spouts、Bolts、Stream groupings、Reliability、Tasks、Workers
2015-10-14 16:22:39
1811
原创 HBase Region split 策略
本文是基于hbase-0.98.6-cdh5.2.0的Region split policyHBase的region split策略。
2015-08-03 19:53:24
3388
原创 HBase meta表数据修复
目的为了弄清楚hbase:meta表中的数据(每个表的region所在的regionserver信息)是否会在集群每次重启后重新生成。过程将hbase:meta表中数据全部删除后重启集群,结果发现只有hbase:namespace的信息会重新生成并插入到hbase:meta表中,而其他所有用户表(用户自己创建的表)的信息都没有恢复。这里又牵扯到另一个问题,如何修复hbase:meta表中的数据,用户
2015-07-31 08:45:06
5754
原创 配置Snappy压缩
1. 功能说明使用snappy压缩来提升mapreduce和hbase的性能。其实就是用CPU换IO吞吐量和磁盘空间。配置并使用snappy有如下几点要求: 首先需要hadoop集群的native库已经收到编译好,并且添加了对snappy的支持。编译hadoop源码之前安装了snappy并且编译时指定-Drequire.snappy参数。
2015-07-23 11:50:39
15681
原创 HBase -ROOT-表和.META.表
官方文档:http://hbase.apache.org/book.html#arch.catalog
2015-07-22 15:05:32
1656
原创 社区版Hadoop与商用版Hadoop
社区版与商业版Hadoop比较在实际生产环境中,Hadoop的版本选择是在设计系统架构之时很重要的一个考虑因素。
2015-07-22 14:19:52
4069
原创 HBase表预分区
HBase 预分区标签(空格分隔): Hadoop HBase在创建HBase表的时候默认一张表只有一个region,所有的put操作都会往这一个region中填充数据,当这个一个region过大时就会进行split。如果在创建HBase的时候就进行预分区则会减少当数据量猛增时由于region split带来的资源消耗。
2015-07-21 15:09:05
11922
构建近实时分析系统
2018-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人