partition

1 入门篇!大白话带你认识 Kafka

守給你的承諾、 提交于 2020-02-21 05:51:48
前言 Kafka 是我在疫情期间在游戏之余学的。虽然之前用过 ActiveMQ 和 RabbitMQ,但是在 Kafka 这门技术面前我也算是一个初学者。文章中若有说法有点完善或者不准确的地方敬请指出。 今天我们来聊聊 Kafka ,主要是带你重新认识一下 Kafka,聊一下 Kafka 中比较重要的概念和问题。在后面的文章中我会介绍: Kafka 的一些高级特性比如工作流程。 使用 Docker 安装 Kafka 并简单使用其发送和消费消息。 Spring Boot 程序如何使用 Kafka 作为消息队列。 我们现在经常提到 Kafka 的时候就已经默认它是一个非常优秀的消息队列了,我们也会经常拿它给 RocketMQ、RabbitMQ 对比。我觉得 Kafka 相比其他消息队列主要的优势如下: 极致的性能 :基于 Scala 和 Java 语言开发,设计中大量使用了批量处理和异步的思想,最高可以每秒处理千万级别的消息。 生态系统兼容性无可匹敌 :Kafka 与周边生态系统的兼容性是最好的没有之一,尤其在大数据和流计算领域。 实际上在早期的时候 Kafka 并不是一个合格的消息队列,早期的 Kafka 在消息队列领域就像是一个衣衫褴褛的孩子一样,功能不完备并且有一些小问题比如丢失消息、不保证消息可靠性等等。当然,这也和 LinkedIn 最早开发 Kafka

Linux扩展根目录下的空间

冷暖自知 提交于 2020-02-21 03:22:09
  自己通过root创建了一个新用户,然而当我使用这个新用户时发现,/home/my中的空间只有几十M,完全不能满足我的使用,所以通过下面的方法扩展根下的空间。     我的本次操作,参考于 http://www.jb51.net/LINUXjishu/84599.html   1、切换root用户   2、#fdisk -l        //通过这个命令,查看到我仅有几十M空间   3、#fdisk /dev/sda/    //开始添加新分区      4、列出命令列表      5、添加分区(可查看命令中n表示添加一个new partition)        输入n,提示后输入p,用于创建分区编号,新建的linux虚拟机一般会有两个sda分别是sda1和sda2,所以这里应该在输入p后,输入3,表示分配新的区sda3。输入3后回车,发现提示:       First cylinder(N-M, default N): //在这里就使用default,所以直接回车就好。回车过后会看到下面提示:         Using default value N       Last cylinder, +cylinders or +size{K,M,G} (N-M, default M): //这里也使用default,所以按下回车,然后会看到信息         Using

HDFS 离线数据同步

≯℡__Kan透↙ 提交于 2020-02-20 13:02:27
1、身份认证 2、查看/user/g8bd6a3461f924456fdxe91p0 目录下文件 drwxrwx--x - backend g8bd6a3461f924456fdxe91p0 0 2020-01-06 19:02 /user/g8bd6a3461f924456fdxe91p0/9ed3572a-3cea-4ecb-a34e-d75df653d1af 发现有路径 /9ed3572a-3cea-4ecb-a34e-d75df653d1af 3、继续hdfs dfs -ls 发现下一级还有路径/tohdfs drwxrwx--x - backend g8bd6a3461f924456fdxe91p0 0 2020-01-06 19:02 /user/g8bd6a3461f924456fdxe91p0/9ed3572a-3cea-4ecb-a34e-d75df653d1af/tohdfs 4、继续hdfs dfs -ls +路径 drwxrwx--x - backend g8bd6a3461f924456fdxe91p0 0 2020-01-06 19:02 /user/g8bd6a3461f924456fdxe91p0/9ed3572a-3cea-4ecb-a34e-d75df653d1af/tohdfs/2020-01-06 5、继续hdfs dfs -ls +路径

hive数据导入导出

前提是你 提交于 2020-02-20 06:40:09
Hive数据导入导出的几种方式 一,Hive数据导入的几种方式 首先列出讲述下面几种导入方式的数据和hive表。 导入: 本地文件导入到Hive表; Hive表导入到Hive表; HDFS文件导入到Hive表; 创建表的过程中从其他表导入; 通过sqoop将mysql库导入到Hive表;示例见《通过sqoop进行mysql与hive的导入导出》和《定时从大数据平台同步HIVE数据到oracle》 导出: Hive表导出到本地文件系统; Hive表导出到HDFS; 通过sqoop将Hive表导出到mysql库; Hive表: 创建testA: CREATE TABLE testA ( id INT , name string , area string ) PARTITIONED BY ( create_time string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE ; 创建testB: CREATE TABLE testB ( id INT , name string , area string , code string ) PARTITIONED BY ( create_time string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',

20200219 第 1 章 Kafka 概述

China☆狼群 提交于 2020-02-19 09:31:30
第 1 章 Kafka 概述 1.1 定义 Kafka 是一个 分布式 的基于 发布/订阅模式 的 消息队列 (Message Queue) , 主要应用于 大数据实时处理 领域。 1.2 消息队列 1.2.1 传统消息队列的应用场景 使用消息队列的好处 解耦 可恢复性 缓冲 灵活性 & 峰值处理能力 异步通信 1.2.2 消息队列的两种模式 点对点模式( 一对一 ,消费者主动拉取数据,消息收到后消息清除) 发布/订阅模式( 一对多 ,消费者消费数据之后不会清除消息) 1.3 Kafka 基础架构 Producer : 消息生产者,就是向 kafka broker 发消息的客户端; Consumer : 消息消费者,向 kafka broker 取消息的客户端; Consumer Group (CG): 消费者组,由多个 consumer 组成。 消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费;消费者组之间互不影响。 所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。 Broker : 一台 kafka 服务器就是一个 broker。一个集群由多个 broker 组成。一个 broker 可以容纳多个 topic。 Topic : 可以理解为一个队列, 生产者和消费者面向的都是一个 topic; Partition: 为了实现扩展性

ClickHouse学习笔记

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-18 09:21:09
1. 概述 ClickHouse 是一个用于联机分析 (OLAP:Online Analytical Processing) 的列式数据库管理系统 (DBMS:Database Management System) ,简称 CK 。 ClickHouse 是一个完全的列式数据库管理系统,允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器, 支持线性扩展,简单方便,高可靠性,容错 。 ClickHouse 官方文档: https://clickhouse.yandex/docs/en/ 2. 应用场景 OLAP 场景关键特征: 大多数是读请求 数据总是以相当大的批 (> 1000 rows) 进行写入 不修改已添加的数据 每次查询都从数据库中读取大量的行,但是同时又仅需要少量的列 宽表,即每个表包含着大量的列 较少的查询 ( 通常每台服务器每秒数百个查询或更少 ) 对于简单查询,允许延迟大约 50 毫秒 列中的数据相对较小: 数字和短字符串 ( 例如,每个 UR60 个字节 ) 处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行) 事务不是必须的 对数据一致性要求低 每一个查询除了一个大表外都很小 查询结果明显小于源数据,换句话说,数据被过滤或聚合后能够被盛放在单台服务器的内存中 应用场景: 用于结构良好清晰且不可变的事件或日志流分析 。 不适合的场景

Kafka Consumer

Deadly 提交于 2020-02-17 09:22:48
基本用法 topic_name = 'my_topic_name' consumer = KafkaConsumer(topic_name, bootstrap_servers=['172.16.89.80:9092']) # consumer是一个消息队列,当后台有消息时,这个消息队列就会自动增加.所以遍历也总是会有数据,当消息队列中没有数据时,就会堵塞等待消息到来 for msg in consumer: recv = "%s:%d:%d: key=%s value=%s" % (msg.topic, msg.partition, msg.offset, msg.key, msg.value) print recv 指定分区、offset、消费组 #encoding:utf8 from kafka import KafkaConsumer, TopicPartition my_topic = "my_topic_name" # 指定需要消费的主题 consumer = KafkaConsumer( bootstrap_servers = "192.168.70.221:19092,192.168.70.222:19092,192.168.70.223:19092", # kafka集群地址 group_id = "my_group_a", # 消费组id enable_auto

(转)再过半小时,你就能明白kafka的工作原理了

戏子无情 提交于 2020-02-16 09:52:19
为什么需要消息队列   周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马上有女朋友了,竟然幸福的失眠了……   第二天正常上着班,突然接到快递小哥的电话:   小哥:“你是xx吗?你的女朋友到了,我现在在你楼下,你来拿一下吧!”。   我:“这……我在上班呢,可以晚上送过来吗?“。   小哥:“晚上可不行哦,晚上我也下班了呢!”。   于是两个人僵持了很久……   最后小哥说,要不我帮你放到楼下小芳便利店吧,你晚上下班了过来拿,尴尬的局面这才得以缓解!   回到正题,如果没有小芳便利店,那快递小哥和我的交互图就应该如下:         会出现什么情况呢?   1、为了这个女朋友,我请假回去拿(老板不批)。   2、小哥一直在你楼下等(小哥还有其他的快递要送)。   3、周末再送(显然等不及)。   4、这个女朋友我不要了(绝对不可能)!   小芳便利店出现后,交互图就应如下:         在上面例子中,“快递小哥”和“买女朋友的我”就是需要交互的两个系统,小芳便利店就是我们本文要讲的-“消息中间件”。总结下来小芳便利店(消息中间件)出现后有如下好处:    1、 解耦   快递小哥手上有很多快递需要送

Flink Connectors 介绍与 Kafka Connector

时间秒杀一切 提交于 2020-02-15 08:45:32
文章目录 1. Streaming Connectors 预定义的 source 和 sink Boundled connectors Apache Bahir 中的连接器 异步 IO 2. Flink Kafka Connector 2.1 Flink Kafka Consumer 1)反序列化 2)消费起始位置设置 3)topic 和 partition 动态发现 4)commit offset 方式 5)Timestamp Extraction/Watermark 生成 2.2 Flink Kafka Producer 1)Producer 写出时的 Partition 分区 2)Producer 容错 3. Q&A 1. Streaming Connectors Connector 的作用就相当于一个连接器,连接 Flink 计算引擎跟外界存储系统。 目前常用的 Connector 有以下几种: 预定义的 source 和 sink 基于文件的 source 和 sink // 从文本文件中读取数据 env . readTextFile ( path ) ; // 以文本的形式读取该文件中的内容 env . readFile ( fileInputFormat , path ) ; // 将结果已文本格式写出到文件中 DataStream . writeAsText (

Linux/Ubuntu服务器数据盘挂载及扩容

青春壹個敷衍的年華 提交于 2020-02-15 01:53:45
服务器部署: 运行 fdisk -l 命令查看实例上的数据盘: fdisk -l 查看磁盘使用情况: df -lh 可参考: https://help.aliyun.com/document_detail/108501.html ① 分区: 依次执行以下命令以创建一个单分区数据盘: 1. 运行 fdisk -u /dev/vdb :分区数据盘。 2. 输入 p :查看数据盘的分区情况。本示例中,数据盘没有分区。 3. 输入 n :创建一个新分区。 4. 输入 p :选择分区类型为主分区。 说明 本示例中创建一个单分区数据盘,所以只需要创建主分区。如果要创建 4 个以上分区,您应该创建至少一个扩展分区,即选择 e(extended)。 5. 输入分区编号并按 回车键 。本示例中,仅创建一个分区,输入 1。 6. 输入第一个可用的扇区编号:按 回车键 采用默认值 2048。 7. 输入最后一个扇区编号:本示例仅创建一个分区,按 回车键 采用默认值。 8. 输入 p :查看该数据盘的规划分区情况。 9. 输入 w :开始分区,并在分区后退出。 ② 运行命令 fdisk -lu /dev/vdb 查看新分区。 ③ 写系统文件: mkfs.ext4 /dev/vdb1 ④ 挂载: 1.(建议)运行命令 cp /etc/fstab /etc/fstab.bak 备份 etc/fstab。 2.