- 博客(55)
- 资源 (1)
- 收藏
- 关注
原创 datax mysql-hive hive-mysql
通常情况下,离线数据同步任务需要每日定时重复执行,故HDFS上的目标路径通常会包含一层日期,以对每日同步的数据加以区分,也就是说每日同步数据的目标路径不是固定不变的,因此DataX配置文件中HDFS Writer的path参数的值应该是动态的。为实现这一效果,就需要使用DataX传参的功能。DataX的使用十分简单,用户只需根据自己同步数据的数据源和目的地选择相应的Reader和Writer,并将Reader和Writer的信息配置在一个json文件中,然后执行如下命令提交数据同步任务即可。
2024-04-19 14:06:29 720
原创 设置hive 参数
set hive.execution.engine=mr;set mapreduce.map.memory.mb=4096;set mapreduce.reduce.memory.mb=8192;set hive.support.concurrency=false;set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.mode=nonstrict;set hive.exec.max.dynamic.par
2022-02-28 16:54:22 1370 2
原创 maven仓库的使用
安装Maven核心程序1)检查JAVA_HOME环境变量。Maven是使用Java开发的,所以必须知道当前系统环境中JDK的安装目录。C:\Windows\System32>echo %JAVA_HOME%D:\MyWork\Program\jdk1.8.0_2112)解压Maven的核心程序。将apache-maven-3.5.4-bin.zip解压到一个非中文无空格的目录下。例如:D:\develop\Maven\apache-maven-3.5.43)配置环境变量。(1)在系统变量
2022-01-11 16:23:10 813
原创 oracle11
https://gitee.com/anliang11/annote/blob/master/1.%E5%88%A9%E7%94%A8ogg%E5%AE%9E%E7%8E%B0oracle%E5%88%B0kafka%E7%9A%84%E5%A2%9E%E9%87%8F%E6%95%B0%E6%8D%AE%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5.md
2021-09-02 16:15:20 140
原创 Spark 性能调优
https://tech.meituan.com/2016/04/29/spark-tuning-basic.html转转载
2021-06-11 17:11:31 220 2
原创 flume Agent高吞吐量的调优
概念讲解:flume中有三种可监控文件或目录的source、分别是Exec Source、Spooling Directory Source和Taildir Source。Taildir Source是1.7版本的新特性,综合了Spooling Directory Source和Exec Source的优点。使用场景Exec SourceExec Source可通过tail -f命令去tail住一个文件,然后实时同步日志到sink。但存在的问题是,当agent进程挂掉重启后..
2021-02-25 13:38:43 1150
原创 java基础 -成员变量和局部变量的区别
成员变量和局部变量的区别? A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 D:初始化值不同 成员...
2021-01-04 15:41:20 163 1
原创 java基础—-类
类和对象的概念:进行案例的讲解: 事物: 类: 属性 成员变量 行为 成员方法 类:是一组相关的属性和行为的集合。是一个抽象的概念。对象:是该类事物的具体表现形式。具体存在的个体。举例: 学生:类 班长:对象...
2021-01-04 14:43:20 106
原创 java基础———二维数组
二维数组格式以及概念: /* *二维数组:就是元素是一维数组的一个数组 * * 格式: * 数据类型[][] 数组名 = new 数据类型[m][n]; * m:代表当前有m个一维数组 * n:代表每个一维数组里面有n个元素 * 注意: * 以下格式也可以代表二维数组 * *:以下格式也可以表示二维数组a:数据类型 数组名[][] = new 数据类型[m][n];b:数据类型[] 数组名[] = new 数据类型[m][n]; * */示例案例:cl.
2020-12-31 10:17:54 193
原创 java基础 -内存分配
目录java中内存分配图解数组的内存图解1(一个数组)数组的内存图解2{两个数组}数组的内存图解3(三个数组)数组的静态初始化及内存
2020-12-30 10:28:44 108
原创 java基础—数组
数组的基本概念:数组:存储同一种数据类型的多个元素的容器。 定义格式: A:数据类型[] 数组名; B:数据类型 数组名[]; 举例: A:int[] a; 定义一个int类型的数组a变量 B:int a[]; 定义一个int类型的a数组变量 注意:效果可以认为是一样的,都是定义一个int数组,但是念法上有些小区别。推荐使用第一种。 如何对数组进行初始化呢? A:何谓初始化
2020-12-29 16:46:22 112
原创 java基础—流程控制语句
流程控制语句:可以控制程序的执行流程分类顺序结构: 从上往下,依次执行。class ShunXuJieGouDemo { public static void main(String[] args) { System.out.println("程序开始了"); System.out.println("我爱Java"); System.out.println("程序结束了"); }}选择结构:选择结构: .
2020-12-28 16:16:13 218
原创 kafka 维护消费状态跟踪的方法和消费进度的跟踪
kafka 维护消费状态跟踪大部分消息系统在 broker 端的维护消息被消费的记录:一个消息被分发到consumer 后 broker 就马上进行标记或者等待 customer 的通知后进行标记。这样也可以在消息在消费后立马删除以减少空间占用。但是这样会不会有什么问题呢?如果一条消息发送出去之后就立即被标记为消费过的,一旦 consumer处理消息时失败了(比如程序崩溃)消息就丢失了。为了解决这个问题,很多消息系统提供了另外一个个功能:当消息被发送出去之后仅仅被标记为已发送状态,当接到 c.
2020-12-18 10:28:41 1528
原创 Kafka开发问题解决思路
消息丢失解决方案:首先对 kafka 进行限速, 其次启用重试机制,重试间隔时间设置长一些,最后 Kafka 设置acks=all,即需要相应的所有处于 ISR 的分区都确认收到该消息后,才算发送成功消息重复解决方案:消息可以使用唯一 id 标识生产者(ack=all 代表至少成功发送一次)消费者 (offset 手动提交,业务逻辑成功处理后,提交 offset)落表(主键或者唯一索引的方式,避免重复数据)业务逻辑处理(选择唯一主键存储到 Redis 或者 mongdb 中,先查询是否存在,若
2020-12-11 09:19:19 359
原创 Kafka 是咋样实现消息顺序性
kafka 每个 partition 中的消息在写入时都是有序的,消费时, 每个 partition 只能被每一个 group 中的一个消费者消费,保证了消费时也是有序的。整个 topic 不保证有序。如果为了保证 topic 整个有序,那么将 partition 调整为 1...
2020-12-10 10:37:38 926
原创 Kafka中的 ISR 、RAR 又代表什么? ISR 的伸缩又指什么
ISR:In-Sync Replicas 副本同步队列AR:Assigned Replicas 所有副本ISR 是由 leader 维护,follower 从 leader 同步数据有一些延迟(包括延迟时间replica.lag.time.max.ms 和延迟条数 replica.lag.max.messages 两个维度, 当前最新的版本0.10.x中只支持replica.lag.time.max.ms这个维度) , 任意一个超过阈值都会把follower剔除出 ISR, 存入 OSR(Outo
2020-12-10 10:35:17 265
原创 Kafka 和rbroker 进行基本优化
1. 网络和 IO 操作线程配置优化# broker 处理消息的最大线程数(默认为 3)num.network.threads=cpu 核数+1# broker 处理磁盘 IO 的线程数num.io.threads=cpu 核数*22. log 数据文件策略# 每间隔 1 秒钟时间,刷数据到磁盘log.flush.interval.ms=10003. 日志保存策略# 保留三天,也可以更短 (log.cleaner.delete.retention.ms)log.retention.hou
2020-12-10 10:29:10 214
原创 Kafka 的消息数据积 解决
数据积压主要可以从两个角度去分析:1. 如果是 Kafka 消费能力不足,则可以考虑增加 Topic 的分区数,并且同时提升消费 组的消费者数量,消费者数=分区数。 (两者缺一不可)2. 如果是下游的数据处理不及时:提高每批次拉取的数量。如果是因为批次拉取数据过少(拉取 数据/处理时间<生产速度) ,也会使处理的数据小于生产的数据,造成数据积压。...
2020-12-10 10:23:45 188
原创 kafka 需要用到选举吗?都有那些选举策略
一共有两处需要用到选举,首先是 partition 的 leader,用到的选举策略是 ISR;然后 是 kafka Controller,用先
2020-12-10 10:18:50 327 1
原创 生产过程中 tcopic 的数量不足或者有空闲可以增加或 者减少吗?为什么?
topic 的分区数只能增加不能减少,因为减少掉的分区也就是被删除的分区的数据难以处理。bin/kafka-topics.sh --zookeeper itcast:2181/kafka --alter \ --topic topic-config--partitions 3
2020-12-10 10:16:46 191
原创 Kafka 的压测
Kafka 官 方 提 供 了 压 测 脚 本 kafka-consumer-perf-test.sh 、kafka-producer-perf-test.sh。通过脚本执行可以检查是否存在一些瓶颈;producer 压测:/opt/cloudera/parcels/CDH/lib/kafka/bin/kafka-producer-perf-test.sh \--topic test --record-size 1000 --num-records 1000000 --throughput
2020-12-10 10:14:21 278
原创 Kafka 是怎么维护 offset
1.维护 offset 的原因:由于 consumer 在消费过程中可能会出现断电宕机等故障,consumer 恢复后,需要从故障前的位置的继续消费,所以 consumer 需要实时记录自己消费到了哪个 offset,以便故障恢复后继续消费。2. 维护 offset 的方式:Kafka 0.9 版本之前,consumer 默认将 offset 保存在Zookeeper 中, 从 0.9 版本开始, consumer 默认将 offset 保存在 Kafka 一个内置的 topic中,该 topic
2020-12-10 10:12:27 1354
原创 Kafka 集群的硬盘一共多大?日志保存多久?用什么监控 的?
集群硬盘大小:数据量线上项目每天/70%*日志保存天数;日志保存天数:7 天监控 kafka 方式:1:有些研发能力比较强的公司自己开发 kafka 监控;或者有些采用 cdh 配套的监控器2:采用第三方开源监控器:Kafka Manager、KafkaOffsetMonitor、Kafka WebConslole...
2020-12-10 10:11:01 524
原创 Http流水线
HTTP 流水线HTTP 流水线在现代浏览器中并不是默认被启用的:Web 开发者并不能轻易的遇见和判断那些搞怪的代理服务器的各种莫名其妙的行为。 正确的实现流水线是复杂的:传输中的资源大小,多少有效的RTT会被用到,还有有效带宽,流水线带来的改善有多大的影响范围。不知道这些的话,重要的消息可能被延迟到不重要的消息后面。这个重要性的概念甚至会演变为影响到页面布局!因此 HTTP 流水线在大多数情况下带来的改善并不明显。 流水线受制于HOL问题。由于这些原因,流水线已经被更好的算法给代替,...
2020-12-09 12:14:38 2920 2
原创 Tcp 持久化链接的目的和优点
目的在进行持久连接之前,单独的TCP连接是 建立以获取每个URL,从而增加了HTTP服务器上的负载 并导致Internet拥塞。使用内嵌图片和 其他相关数据通常需要客户进行多次 在短时间内请求同一台服务器。分析 这些性能问题和原型产生的结果 实现可用[ 26 ] [ 30 ]。实施经验和 HTTP / 1.1(RFC 2068)实现的表明 结果[ 39 ]。还探索了替代方案,例如, T / TCP [ 27 ]。持久HTTP连接具有许多优点:-通过打开和关闭较少的TCP连接,可以节省CPU时间
2020-12-09 11:22:53 469
原创 Kafka的使用(重要的场景)与传统队列的区别
1.Kafka 作为存储系统: 任何允许发布与使用无关的消息发布的消息队列都有效地充当了运行中消息的存储系统。Kafka 的不同之处在于它是一个非常好的存储系统。写入 Kafka 的数据将写入磁盘并进行复制以实现容错功能。Kafka 允许生产者等待确认,以便直到完全复制并确保即使写入服务器失败的情况下写入也不会完成。Kafka 的磁盘结构可以很好地扩展使用-无论服务器上有 50KB 还是 50TB 的持久数据,Kafka 都将执行相同的操作。由于认真对待存储并允许客户端控制其读取...
2020-11-20 16:36:48 432
原创 windows7 java环境配置
双击安装好以后使用鼠标右击 计算机->属性->高级系统设置->环境变量系统变量里面点击新建变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_131 (这里填写你的java安装目录)点击确定。依然在系统变量里点击新建变量名:CLASSPATH 变量值:.;%JAVA_HOME%\libCLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思保存以后在系统变量里面找到Path,点编辑,在最前面加上:.;%
2020-11-20 09:38:27 174
原创 Kafka 于其他 MQ 对比
①RabbitMQ: RabbitMQ 是使用 Erlang 编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP,SMTP,STOMP,也正因如此,它非常重量级,更适合于企业级的开发同时实现了 Broker 构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持②Redis:Redis 是一个基于 Key-Value 对的 NoSQL 数据库,开发维护很活跃。虽然它是一个 Key-Value 数据库存储系统,但它本身支持 M...
2020-11-19 16:55:15 471
原创 maven 配置问件不生效(cdh下载包不完整)
第一步: 检查本地Maven环境是否配置正确:输入指令:mvn -v第二步:检查pom 文件里面是否有如下配置没有加上:<repositories> <repository> <id>cloudera</id> <name>cloudera</name> <url>https://repository.clouder
2020-11-11 16:46:52 203
转载 linux 的监控指令
inux监控CPU、磁盘IO、网络IO、磁盘容量、内存使用CPU:vmstat ,sar –u,top 磁盘IO:iostat –xd,sar –d,top 网络IO:iftop -n,ifstat,dstat –nt,sar -n DEV 2 3 磁盘容量:df –h 内存使用:free –m,top1.查看什么进程占用了这个端口: netstat -antp | fgrep <port>???2.查看进程资源:jps -ljmap -heap 21046ps au..
2020-11-06 17:01:26 72
转载 集群的优化——集群监控主要指标
集群监控 转自:http://www.cnblogs.com/xrq730/p/5171463.html大型互联网企业的背后,依靠的是成千上万台服务器日夜不停的运转,以支撑其业务的运转。宕机对于互联网企业来说,代价是沉重的,轻则影响用户体验,重则直接影响交易,导致交易下跌,并且给企业声誉造成不可挽回的损失。对于这些机器对应的开发和运维人员来说,即便是每台机器登陆一次,登陆那么多台机器也够呛,何况还需要进行系统指标的检查。因此,依靠人力是不可能完成24小时不间断监控服务器的任务的。如今,互联...
2020-11-06 16:10:38 739
原创 java_消息中间件—JMS规范
JMS介绍:JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。jMS的定义:JavaAPI。不支持跨语言,并提供了两种消息模型(p2p、pu
2020-11-05 14:10:33 431 1
原创 查看kafka的版本号
find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'kafka_2.12-2.4.1.jar结果:就可以看到kafka的具体版本了。其中,2.12为scala版本,2.4.1为kafka版本。
2020-11-03 15:13:04 13507
原创 windows7 java 环境变量配置
先在官网下载好java版本双击安装好以后使用鼠标右击 计算机->属性->高级系统设置->环境变量系统变量里面点击新建在这里插入图片描述变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_131 (这里填写你的java安装目录)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fZY543Zx-1600240979114)(https://imgblog.csdnimg.cn/20200916152135
2020-09-16 15:26:21 803 1
原创 Spark的调度模式
spark的任务调度模式spark任务调度和资源分配1、Spark调度模式 FIFO和FAIRSpark中的调度模式主要有两种:FIFO和FAIR。默认情况下Spark的调度模式是FIFO(先进先出),谁先提交谁先执行,后面的任务需要等待前面的任务执行。而FAIR(公平调度)模式支持在调度池中为任务进行分组,不同的调度池权重不同,任务可以按照权重来决定执行顺序。2、资源分配概述sp...
2020-01-17 11:27:10 1694
原创 kylin 报错 Failed to load Hive Table java.lang.RuntimeException: cannot get HiveTableMet
kylin 报错 :详细的报错的信息Failed to load Hive Tablejava.lang.RuntimeException: cannot get HiveTableMetaat org.apache.kylin.source.hive.HiveMetadataExplorer.loadTableMetadata(HiveMetadataExplorer.java:68)...
2019-11-18 14:51:39 2469 2
原创 byte[]字节数组与二进制字符串\十六进制字符串的相互转换
本文链接:https://blog.csdn.net/moxik/article/details/80535294Source:点击打开链接 点击打开链接public class ConverUtil {/**将byte数组转换为表示16进制值的字符串, 如:byte[]{8,18}转换为:0813, 和public static byte[]hexStrToByteArr(S...
2019-11-15 11:24:15 1157
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人