自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(316)
  • 收藏
  • 关注

原创 kafka 拦截器

Intercetpor 的实现接口是org.apache.kafka.clients.producer.ProducerInterceptor,其定义的方法包括:(1)configure(configs)获取配置信息和初始化数据时调用。(2)onSend(ProducerRecord):该方法封装进 KafkaProducer.send 方法中,即它运行在用户主线程中。Producer 确...

2019-10-04 14:50:59 260

原创 kafka 消费者 API

offset 的维护是 Consumer 消费数据是必须考虑的问题。1、KafkaConsumer:需要创建一个消费者对象,用来消费数据ConsumerConfig:获取所需的一系列配置参数ConsuemrRecord:每条数据都要封装成一个 ConsumerRecord 对象2、自动提交 offset 的相关参数:enable.auto.commit:是否开启自动提交 offset 功...

2019-10-03 23:37:28 295

原创 kafka 生产者 API

1、消息发送流程Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka broker。b...

2019-10-03 20:10:33 305

原创 kafka 消费者

1、 消费方式consumer 采用 pull(拉)模式从 broker 中读取数据。push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成 consumer 来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而 pull 模式则可以根据 consumer 的消费能力以适当的速率消费消息。pull ...

2019-10-03 18:39:39 188

原创 数据可靠性

1)副本数据同步策略Kafka 选择了第二种方案,原因如下:1.同样为了容忍 n 台节点的故障,第一种方案需要 2n+1 个副本,而第二种方案只需要 n+1个副本,而 Kafka 的每个分区都有大量的数据,第一种方案会造成大量数据的冗余。2.虽然第二种方案的网络延迟会比较高,但网络延迟对 Kafka 的影响较小。2)ISR(broker的参数配置)Leader 维护了一个动态的 in-...

2019-10-03 17:50:23 1176

原创 kafka 生产者

1、分区策略ProducerRecord:初始化时的参数(1)指明 partition 的情况下,直接将指明的值直接作为 partiton 值;(2)没有指明 partition 值但有 key 的情况下,将 key 的 hash 值与 topic 的 partition 数进行取余得到 partition 值;(3)既没有 partition 值又没有 key 值的情况下,第一次调用时随...

2019-10-03 01:14:34 146

原创 sqoop使用

一、导入数据(1)全部导入 bin/sqoop import \ #MySQL的参数--connect jdbc:mysql://hadoop102:3306/company \--username root \--password 000000 \--table staff \ # hdfs的参数,delete-target-dir如果目录存在会把目录删除--target-di...

2019-10-02 19:49:39 230

原创 sqoop搭建

1)下载sqoop1,sqoop2不能用于生产2) 修改配置文件sqoop-env.shexport HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2export HIVE_HOME=/opt/module/hiveexport ZOOKEEPER_...

2019-10-02 19:18:55 140

原创 Pulsar

Pulsar:采取了存储计算分离的技术ZooKeeper 集群的作用和在 Kafka 中是一样的,都是被用来存储元数据。BookKeeper 集群则被用来存储消息数据。BookKeeper 有点儿类似 HDFS,是一个分布式的存储集群,存储单元是ledger,Ledger可以简单的理解为某个主题队列中的一段,包含了连续的若干条消息(entry),为了保证Ledger中entry的严格顺序,pu...

2019-10-02 18:26:40 499

原创 rockerMQ-NamingServer

NamingServer:为客户端提供寻址服务,监控每个broker的存活状态可以部署一个节点,也可以部署成集群,在集群模式下,NamingServer各个节点之间不需要通信,每个节点都可以独立提供全部服务。每个broker都需要和所有的NamingServer节点进行通信,topic信息变化,broker会主动通知所有的nameservice更新路由信息,同时,broker定时给所有的nam...

2019-10-01 22:12:17 176

原创 消息队列-消息复制

消息复制需要解决:高性能,高可用,数据一致性高性能:写的副本越多,写的性能越低,读取不影响数据一致性,必须采用主从模式的复制方式,同时需要保证在任何时刻,集群的主节点不能超过一个。高可用:在主节点宕机后,可以尽快选出新的主节点一、RocketMQ:(1)传统复制:复制的基本单位是broker,也就是服务端的进程,采用主从模式,是通过配置写死的,不支持动态切换【1】异步复制:写入主节点后...

2019-10-01 21:47:58 750

原创 ResourceBundle与Properties读取配置文件

ResourceBundle与Properties读取配置文件https://blog.csdn.net/chinoukin/article/details/81316005

2019-09-29 14:28:34 136

原创 jedis异常

https://help.aliyun.com/knowledge_detail/71967.html

2019-09-29 13:34:13 152

原创 kafka命令

启动脚本#! /bin/bashcase $1 in "start"){for i in hadoop102 hadoop103 hadoop104doecho "========== $i ==========" ssh $i '/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config...

2019-09-24 21:17:12 171

原创 kafka配置

server.properties#broker 的全局唯一编号,不能重复broker.id=0#删除 topic 功能使能delete.topic.enable=true#处理网络请求的线程数量num.network.threads=3#用来处理磁盘 IO 的现成数量num.io.threads=8#发送套接字的缓冲区大小socket.send.buffer.bytes=10...

2019-09-24 20:55:27 345

原创 kafka zookeeper

zookeeper:leader 负责数据的读写,而follower只负责数据的读kafka 不同,只有leader 负责读写,follower只负责备份。kafka在引入Replication之后,同一个Partition可能会有多个Replica,而这时需要在这些Replication之间选出一个Leader,Producer和Consumer只与这个Leader交互,其它Replica作为...

2019-09-23 20:57:28 305

原创 zookeeper API

1、创建zkClient2181,访问集群端口号,节点和节点之间用“,”连接,不能有空格 创建zkClient时的watcher,作为监听,先走监听,再走getDataAndWatch方法,然后再走监听private String connectString="hadoop102:2181,hadoop103:2181,hadoop104:2181"; private int sessio...

2019-09-22 20:30:20 121

原创 zookeeper 命令

1、

2019-09-22 00:58:53 162

原创 zookeeper原理

1、选举机制(面试重点)1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。2)先选举自己,不够半数就选id大的,选出前是LOOKING状态,选出后,后续的id即使大也依然是follower2、节点类型(1)持久(2)短暂:和集群断开后,删除,比如维护节点是否在线的信息...

2019-09-22 00:46:32 102

原创 zookeeper配置

1、zoo.cfg1.tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)2.in...

2019-09-22 00:26:34 550

原创 redis 主从复制

主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

2019-09-20 16:06:37 125

原创 redis 事务

按顺序地串行化执行而不会被其它命令插入,不许加塞一、redis事务命令:二、multi,开启事务exec,执行所有事务discard,放弃事务redis事务,会把执行的命令加入队列,如果加入队列成功,在exec时,失败的会失败,成功的会成功;但如果加入队列时报错,事务失败...

2019-09-20 14:47:39 73

原创 redis 持久化

1、RDB(Redis DataBase)保存的是dump.rdb文件在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时是将快照文件直接读到内存里Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能...

2019-09-19 16:01:18 87

原创 redis 配置

1 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit2 对大小写不敏感1k=1000byte1kb=1024byteINCLUDES(包含)可以引入其他配置文件NETWORK(1)Port(2)tcp-backlog:设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列。在...

2019-09-19 15:06:03 200

原创 redis

Redis:REmote DIctionary Server(远程字典服务器)Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储Redis支持数据的备份,即master-slave模式的数据备份作用:内存存储和持久化:redis支持...

2019-09-19 10:27:57 95

原创 MySQL 优化方案

垂直拆分:水平拆分:主从读写分离:分库分表集群

2019-09-18 16:51:58 157

原创 flume监控指标

source:EventReceivedCount:source端成功收到的event数量EventAcceptedCount:成功写出到channel的事件总数量channel:EventPutAttemptCount:Source尝试写入Channe的事件总次数EventPutSuccessCount:成功写入channel且提交的事件总次数EventTakeAttemptCoun...

2019-09-04 09:24:52 625

原创

栈:顺序栈,用数组实现的栈,支持动态扩容的顺序栈,平时开发中并不常见;链式栈,用链表实现的栈,应用场景:(1)浏览器的前进后退功能,两个栈(2)函数调用栈:OS给每个线程分配了一块独立的内存空间,这块内存被组织成“栈”,用来存储函数调用时的临时变量,每进入一个函数,就会将临时变量作为一个栈帧入栈,当被调用的函数执行完成并将值返回后,就将这个函数对应的栈帧出栈;(3)编译器利用栈实现表达...

2019-09-02 22:33:40 133

原创 kafka 高性能IO

1、批量消息提升服务端broker处理能力,减少了broker处理请求的次数(1)发送端Kafka 的 Producer 只提供了单条发送的 send() 方法,并没有提供任何批量发送的接口。原因是,Kafka 根本就没有提供单条发送的功能,Kafka 的客户端 SDK 在实现消息发送逻辑的时候,采用了异步批量发送的机制。当你调用 send() 方法发送一条消息之后,无论你是同步发送send(...

2019-08-27 21:07:41 596

原创 数组

数组支持随机访问,根据下标随机访问的时间复杂度是O(1),但是“数组的查找时间复杂度是O(1)”,这种说法是不正确的,即使是对于排序好的数组,用二分查找,时间复杂度也是O(logn)...

2019-08-24 20:23:07 119

原创 算法复杂度

时间复杂度可以把所有对数阶的时间复杂度都记为 O(logn)。O(log3n) = O(C * log2n),其中 C=log32 是一个常量。在采用大 O 标记复杂度的时候,可以忽略系数,即 O(Cf(n)) = O(f(n))。如果一段代码的时间复杂度是 O(logn),我们循环执行 n遍,时间复杂度就是 O(nlogn) 了空间复杂度常见的空间复杂度就是 O(1)、O(n)、O(n2 ...

2019-08-24 20:19:42 352

原创 Storm

分布式计算引擎,具有高度可扩展、可靠性和容错性且具备保障处理机制,能够处理无界流媒体数据、提供扩展性的计算以及小微批处理工具。可以作为警报、实时业务分析、机器学习和ETL用例概念:流(Stream):元组(tuple)或数据的无尽序列,符合模式规范元组(tuple):包括键值对的数据模式:OutputFieldsDeclarer,用于定义模式并声明响应的流拓扑:整个storm程序被一起打...

2019-08-23 15:14:21 113

原创 Java实现http、udp

https://www.baidu.com/link?url=AbFiDHGJ-Ps8Dk67vQfJdexteRYx7vkjC2DrS8kllsApCB7hjHBOg27CUeQI-s-f&wd=&eqid=82af823c0011f1a2000000035d5f5cb4

2019-08-23 13:03:56 404

原创 消息队列-高性能进程间通信

高性能进程间通信(消息队列、RPC框架等的应用层传输协议)“断句”:预置长度,03 下雨天 03 留客天 02 天留 03 我不留双工通信:使用 ID 来标识请求与响应对应关系。一般不关心顺序,只要需要确保请求和响应能够正确对应上就可以了...

2019-08-22 16:45:29 206

转载 内存管理

垃圾回收:大多采用“标记-清除”标记阶段:从GC ROOT开始,可以简单地把 GC Root 理解为程序入口的那个对象,标记所有可达的对象,因为程序中所有在用的对象一定都会被这个GC Root 对象直接或者间接引用。清除阶段:遍历所有对象,找出所有没有标记的对象。这些没有标记的对象都是可以被回收的,清除这些对象,释放对应的内存即可。问题:在执行标记和清除过程中,必须把进程暂停,否则计算的结果...

2019-08-22 16:43:48 97

原创 Spark Streaming状态管理函数—updateStateByKey和mapWithState

https://blog.csdn.net/zangdaiyang1991/article/details/84099722https://blog.csdn.net/qq_21383435/article/details/80573699https://blog.csdn.net/m0_37914799/article/details/84702378#mapWithStatehttps:...

2019-08-22 16:07:47 257

转载 beam transform

和rdd不同,beam的transform可能是多个输入,多个输出,所有transform是节点,PCollection是边Beam 中的 PCollection 有一个抽象的成员函数Apply。使用任何一个 Transform 时候,你都需要调用这个 apply 方法。pcollection1 = pcollection2.apply(Transform)final_collectio...

2019-08-22 11:47:42 181

转载 Beam

Apache Beam不是一个数据处理平台,本身也无法对数据进行处理。Beam 所提供的是一个统一的编程模型思想,Beam 编程模型会涉及到的 4 个概念,窗口、水印、触发器和累加模式窗口(Window):窗口将无边界数据根据事件时间分成了一个个有限的数据集。水印(Watermark):水印是用来表示与数据事件时间相关联的输入完整性的概念。对于事件时间为 X 的水印是指:数据处理逻辑已经得到...

2019-08-22 11:32:57 407

转载 flink

Apache Flink 采用了基于操作符(Operator)的连续流模型,可以做到微秒级别的延迟Flink 中最核心的数据结构是 Stream,它代表一个运行在多个分区上的并行流。Stream 代表一个数据流而不是静态数据的集合。所以,它包含的数据是随着时间增长而变化的。在 Stream 上同样可以进行各种转换操作,而且 Stream 上的转换操作都是逐条进行的,即每当有新的数据进来,整个流...

2019-08-22 11:00:47 180

原创 Structured Streaming

Structured Streaming:基于spark sql引擎实现实时数据分析在structured Streaming模型中,把数据看成无边界的关系型的数据表,每个数据都是表中的一行。将输入的数据流按照时间间隔(以一秒为例)划分成数据段,每秒都会把新输入的数据添加到表中,输出的结果也是表的形式,可以将表写入硬盘或者HDFS三种输出模式:1、完全模式:将整个更新过的输出表都写入外部存储...

2019-08-21 16:59:52 178

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除