- 博客(183)
- 资源 (14)
- 收藏
- 关注
原创 【Kafka】如何从指定时间开始消费Topic
如何从指定时间开始消费Topic使用前提使用实例使用前提0.10.1.1版本的kafka增加了时间索引文件,可以根据指定的时间戳计算出的Offset来访问TopicPartition中的消息。使用实例public class TimestampOffsetConsumer { public static void main(String[] args) { ...
2020-04-14 15:20:41
7949
转载 彻底理解ThreadLocal
ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线...
2020-01-21 18:04:51
388
转载 java8 CompletableFuture_异步执行多个任务
前言CompletableFuture是java8提供的基于异步操作的封装,日常开发中怎能不用上一番呢。1)聚合多个异步任务需求:多个tab页包含不同的表格数据,并且带分页,页面首次加载时需要显示第一页数据,并且在tab顶上显示总量,如下图所示:各个表格数据从es中查询,涉及到计算,此处可以让前端调用多个接口来组装数据,但考虑到查询效率和网络交互,采用后端以多线程的形式查询,组合多个...
2020-01-21 18:03:55
3604
1
转载 JDK8时间类
1. JDK8之前的时间日期API1.1 java.lang.System类public static native long currentTimeMillis();用于返回当前时间与1970年1月1日0:0:0之间以毫秒为单位的时间差时间戳1.2 java.util.Date类两个构造器new Date(); —> 当前时间new Date(Long 毫秒数) — ...
2020-01-19 10:49:50
359
转载 批处理 rewriteBatchedStatements=true
最近在优化大批量数据插入的性能问题。项目原来使用的大批量数据插入方法是Mybatis的foreach拼接SQL的方法。我发现不管改成Mybatis Batch提交或者原生JDBC Batch的方法都不起作用,实际上在插入的时候仍然是一条条记录的插,速度远不如原来Mybatis的foreach拼接SQL的方法。这对于常理来说是非常不科学的。下面先罗列一下三种插入方式:public...
2020-01-13 15:04:16
3981
1
转载 Java移位运算符详解实例
移位运算符它主要包括:左移位运算符(<<)、右移位运算符(>>>)、带符号的右移位运算符(>>),移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。运算符 含义 << 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0) >> "有符号"右移运算 符,将运算...
2019-12-23 15:00:31
138
转载 字符编码(ASCII、UNICODE、UTF-8)
转自:字符串和编码 - 廖雪峰的官方网站https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进...
2019-12-18 09:46:35
297
原创 SparkStreaming创建DirectStream连接kafka时策略详解
SparkKafka直接流(createDirectStream)和kafka分区每个kafka主题分区对应一个RDD分区。spark可以通过spark.streaming.kafka.maxRatePerPartition配置,对每个分区每秒接受的消息树进行控制。LocationStrategies位置策略,控制特定的主题分区在哪个执行器上消费的。在executor针对主题分区如...
2019-10-29 09:53:59
1085
原创 Kafka参数详解及调优--生产者
引言在实际的kafka开发中,我们会发现,无论是生产者还是消费者,都需要构建一个Properties对象,里面设置了很多参数。对于很多初学者来说,会看不懂这些参数分别代表什么含义。在本篇文章我们就来详细地了解一下这些参数的作用,并探讨下如何使用合理的配置去优化提高生产/消费效率。正文1.kafka生产者参数我们先来看一段生产者的构建代码。Properties props = new P...
2019-05-23 14:24:24
2625
1
原创 Kafka参数详解及调优--消费者
引言在实际的kafka开发中,我们会发现,无论是生产者还是消费者,都需要构建一个Properties对象,里面设置了很多参数。对于很多初学者来说,会看不懂这些参数分别代表什么含义。在本篇文章我们就来详细地了解一下这些参数的作用,并探讨下如何使用合理的配置去优化提高生产/消费效率。正文1.kafka消费者参数我们先来看一段消费者的构建代码。Properties props = new P...
2019-05-23 11:58:03
5438
原创 阿里开源Canal--⑤投递到Kerberos认证的Kafka
在前一章节中,Billow介绍了如何通过1.1.1以上的canal配置将binlog数据投递到kafka。在实际的生产环境中,我们的kafka很多都会集成Kerberos作为安全认证。那么在本节,Billow将介绍如何通过修改源码使Canal可配置为投递数据到Kerberos认证的Kafka集群。##1.导入Canal源码canal已开源到github。下载地址为:https://github...
2019-02-18 09:55:33
1546
4
原创 阿里开源Canal--④投递数据到Kafka
基本说明canal 1.1.1版本之后, 默认支持将canal server接收到的binlog数据直接投递到MQ, 目前默认支持的MQ系统有:kafka: (https://github.com/apache/kafka)RocketMQ
2019-02-18 09:55:05
6558
原创 阿里开源Canal--③Client入门
在上一章节中,我们配置启动了canal server,本节我们使用Java语言编写启动client端消费server端同步过来的binlog数据。#1.添加依赖<dependency> <groupId>com.alibaba.otter</groupId> <artifactId>canal.client</artifac...
2019-02-18 09:54:35
5463
1
原创 阿里开源Canal--②快速入门
#1、mysql初始化a.canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能,建议配置binlog模式为row.[mysqld]log-bin=mysql-bin #添加这一行就okbinlog-format=ROW #选择row模式server_id=1 #配置mysql replaction需要定义,不能和canal的slaveI...
2019-02-18 09:53:54
876
1
原创 阿里开源Canal--①简介
canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB)。背景早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更...
2019-02-18 09:51:57
1006
原创 看完这篇文章,你就能熟练运用SparkSql
花了几天休息的时间整理了这篇文章,就为了让你读完就能深入了解并熟练运用Spark SQL!如果你觉得有用的话请收藏加关注,你的转发和点赞是我最大的动力!原创不易,转载请注明出处! 本文基于Spark官方网站(spark.apache.org),加上自己的理解和实验编写。文中Demo基于Spark2.4。1、概述Spark SQL是一个用于结构化数据处理的Spark模块。与基本的Sp...
2019-01-21 23:17:32
591
原创 Maven打包插件
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId>
2019-01-19 11:55:53
1069
转载 Java创建ClassTag的方法
Java创建ClassTag的方法,我能找到的有三个方法。其中第三种方法,只要需要classtag的地方都可以直接用,参数都不需要。1:ClassManifestFactory.classType( String.class )。2:ClassTag$.MODULE$.apply( String.class )。3:JavaSparkContext$.MODULE$.fakeClass...
2019-01-17 17:00:44
672
原创 使用Sqoop导入导出parquet格式的Hive表
1、导入sqoop import \--connect jdbc:mysql://10.10.0.1:3306/test \--username root \--password 123456 \--table session_detail \--hive-import \--hive-overwrite \--hive-databbase xiet \--fields-te...
2019-01-16 16:08:33
11358
4
原创 sqoop 导入数据的时候出现Unsupported major.minor version 52.0的问题描述
由于脚本中显示指定了运行sqoop的jdk版本为1.8,CDH集群的jdk为1.7,导致执行sqoop时报错:Unsupported major.minor version 52.0。出现该问题是由于cloudera manager和系统的jdk版本不一致导致的,更具体点是cm使用的是低版本的jdk(我的是1.7),而操作系统通过java -version出来的版本是高版本的jdk(我的是1....
2019-01-14 16:52:38
1142
转载 java ssh远程连接服务器,跳过 Kerberos username 身份验证提示
一般情况下,我们登录sftp服务器,用户名认证或者密钥认证即可。 但是如果对方服务器设置了Kerberos 身份验证,而已方又没有对应的配置时,则会提示输入 Kerberos username [xxx] Kerberos password此时,简单的解决办法是,可以去掉Kerberos 身份验证来解决解决办法 session.setConfig(“PreferredAuthent...
2018-11-06 17:11:06
2789
转载 HBase权限管理命令
我们可以授予和撤销HBase用户的权限。也有出于安全目的,三个命令:grant, revoke 和 user_permission.。grantgrant命令授予特定的权限,如读,写,执行和管理表给定一个特定的用户。 grant命令的语法如下:hbase> grant <user> <permissions> [<table> [<co...
2018-11-06 10:42:09
3846
原创 CDH-Kerberos环境下KafkaManager的安装使用(编译版和免编译版)
为了能够方便的查看及管理Kafka集群,yahoo提供了一个基于Web的管理工具(Kafka-Manager)。这个工具可以方便的查看集群中Kafka的Topic的状态(分区、副本及消息量等),支持管理多个集群、重新分配Partition及创建Topic等功能。项目地址:https://github.com/yahoo/kafka-manager 前提:JDK1.8环境1、编译(必...
2018-11-02 15:39:17
1083
原创 Kafka集成sentry的授权命令
前提知识:1. 一旦对Kafka启用Sentry授权以后,kafka用户就是管理员,一切管理员操作都需要使用kafka用户来操作,这个与我们在Hive/Impala中使用Sentry时,hive用户是管理员原理是一样的2. 如果只是测试系统,建议将Sentry权限的cache刷新间隔调低,这次测试由默认的30s改为了1ms,如果使用默认,将需要等待30s才能让新的权限生效。3. 在给Top...
2018-11-01 17:46:51
2576
转载 CDH-Kerberos环境下Kafka集成Sentry进行权限管理
1.文档编写目的 Sentry在CDH平台中定位为统一的授权框架,即所有的组件都要受Sentry的管理,当然也是为了方便用户的操作,一个入口为所有数据相关进行授权。Fayson在前面的文章中介绍了大量Sentry与Hive/Impala的集成文章,其实Sentry除了可以给Hive/Impala表授权外,还可以管理HDFS ACL,Kafka,Solr,Kudu等。前两天Fayson也介绍过如...
2018-11-01 16:56:22
3527
转载 在Linux(CentOS)下重置MySQL根(Root)密码
1.首先输入“service mysqld status”查看当前mysql服务状态,下图显示正在mysqld服务正在运行中。2.输入“killall -TERM mysqld”命令停止所有的mysqld进程。3.输入“service mysqld stop”命令停止mysqld服务。4.输入“mysqld_safe --skip-grant-tables &”命...
2018-11-01 15:07:29
206
原创 Hadoop认证Kerberos--UserGroupInformation.doAs
在访问带有kerberos认证的hadoop生态圈服务时,必须带上keytab文件认证。常用的代码:String userCode="user1";String keytabPath = "./user1.keytab";System.setProperty("java.security.krb5.kdc", kdc); System.setProperty("java.secur...
2018-11-01 14:56:04
17404
1
原创 Kafka集成Kerberos之后如何使用生产者消费者命令
前提:1、kafka版本1.0.12、在linux中使用kinit刷新kerberos认证信息/在配置文件中配置keytab路径和票据1、生产者1.1、准备jaas.conf并添加到环境变量(使用以下方式的其中一种)1.1.1、使用Kinit方式前提是手动kinit配置内容为:KafkaClient {com.sun.security.auth.module.Krb...
2018-11-01 11:49:58
4448
原创 windows本地没有hadoop环境:Failed to locate the winutils binary in the hadoop binary path
资源下载:https://download.csdn.net/download/weixin_35852328/10746477 异常:本地没有hadoop环境/10/26 16:16:02 ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary pathjava.io.IOExcep...
2018-10-26 16:21:01
299
原创 hdfs跨集群拷贝文件命令
hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true -skipcrccheck -update -m 20 webhdfs://ip/user/hive/warehouse/dm.db/fin_market webhdfs://ip/user/hive/warehouse/dm.db/fin_market...
2018-10-26 15:53:31
1600
原创 CDH报错: 主机的 NTP 服务未同步至任何远程服务器。
当cdh出现报错 主机的 NTP 服务未同步至任何远程服务器。 可以采取以下方式解决 选择ntp时间服务器 : 10.0.61.4Step1 : 进入linux ntpd 配置目录,并修改配置文件如下:vim /etc/ntp.conf # For more information about this file, see the man pages...
2018-10-25 11:24:04
9989
转载 使用Impala合并小文件
1.文档编写目的 Fayson在前面的文章《如何在Hadoop中处理小文件》里面介绍了多种处理方式。在Impala表中使用小文件也会降低Impala和HDFS的性能,本篇文章Fayson主要介绍如何使用Impala合并小文件。 内容概述 1.环境准备2.Impala合并小文件实现3.验证小文件是否合并 测试环境说明 1.CM5.15.0和CDH5.1...
2018-10-23 16:00:45
2497
转载 Cloudera Impala 常见问题(翻译)
Cloudera Impala 常见问题下面是 Clouder Impala 产品常见问题的目录。继续阅读:Trying Impala Impala System Requirements Supported and Unsupported Functionality In Impala How do I? Impala Performance Impala Use Case...
2018-10-19 11:02:31
3478
转载 Haproxy 开启日志记录
CentOS 7上yum安装的Haproxy,默认没有记录日志。需要做一下配置才能记录日志。(不知道其他版本是否需要,已经忘记了)主要是用到了Haproxy,以前貌似没有这么麻烦,今天配置出了一些问题查日志才发现原来Haproxy需要自己手工开启日志记录功能。因此作为相关记录! 1. 创建记录日志文件mkdir /var/log/haproxychmod a+w /var/log/...
2018-10-19 10:59:09
696
原创 Shell脚本并发池控制
控制个数为10个dbname=$1tempfifo=$$.fifo # $$表示当前执行文件的PIDmkfifo $tempfifoexec 10<>$tempfiform -rf $tempfifofor ((i=1; i<=10; i++))do echo >&10donefor tbname in $(impa...
2018-09-20 16:37:54
686
原创 Spark算子里面使用JDBC连接Impala的时候报错: ExecuteStatement failed: out of sequence response
Caused by: org.apache.thrift.TApplicationException: ExecuteStatement failed: out of sequence response 到IVE-6893] out of sequence error in HiveMetastore server - ASF JIRAhttps://issues.apache.org/...
2018-09-20 10:57:31
8528
原创 Java List中添加一个对象多次
在实际应用场景中,可以需要在一个List中添加多个对象,在使用的时候有个误区就是将一个对象添加多次到List中,导致数据不一致。测试代码:public class test { public static void main(String[] args) { List<CreditLoanXMLInfo> list = new ArrayList(...
2018-09-17 11:51:42
8702
原创 Spark/HDFS上传文件错误:Permission denied
问题描述今天用spark将RDD结果输出到HDFS时,因为CDH集群重新配置的原因,权限没有设置好。导致写文件出bug。错误情况org.apache.hadoop.security.AccessControlException: Permission denied: user=xiet, access=WRITE, inode="/":hdfs:supergroup:drwxr-...
2018-09-13 09:51:38
2214
转载 spark 调用saveAsTextFile 报错NullPointerException
解决方法:1.http://www.cnblogs.com/likai198981/p/4123233.html 2.http://www.myexception.cn/cloud/1976385.html 3.http://www.tuicool.com/articles/qy2iaai 写了很简单...
2018-09-13 09:41:58
654
原创 impala使用sql笔记
#修改分隔符alter table firstround.person_aaa_crime_criminalperson1 set SERDEPROPERTIES('field.delim'='\001'); #查看建表语句show CREATE TABLE firstround.banklog_decrypt#修改字段类型ALTER TABLE data_market.last_p...
2018-09-11 20:40:03
6305
已编译版KafkaManager-1.3.3.18
2018-11-02
windows下面的hadoop环境变量
2018-10-26
nginx依赖库rpm包
2018-08-07
ntp时间同步脚本
2017-11-30
SVN site 1.8.22
2017-11-14
WEB中使用viewer.js实现在线浏览Office文档
2017-11-13
sigar1.6.4
2017-09-30
nginx安装包及文档
2017-09-19
keepalive安装包和文档
2017-09-19
viewerjs实现在线浏览office文档
2017-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人