topic

kafka安装配置

岁酱吖の 提交于 2020-03-11 17:54:14
Kafka主要构成: 1、Broker:集群中的每一个对应的服务器被称之为broker。 2、Topic 用于区别消息的类别,每个topic中包含多个 Partition; Partition主要可以减少每个日志的数据量,也可以增加请求的并发量。 3、Producer 消息的生产者,可通过配置partitioner.class设置消息发送到那个 Partition上。 4、Consumer 消息的消费者,可以订阅需要的topics。 其中更多的其他术语可以参考 kafka官方文档 。 Kafka配置:通过官网下载并安装,通过文件config下的相关properties进行配置; server.properties启动服务时的相关配置,可拷贝多个配置多个broker服务(单台服务器上配置多个broker服务的方式),如 server-1.properties console-xxxx .properties启动相关控制台的配置。 1、 server.properties配置文件,启动命令 kafka:bin/kafka-server-start.sh config/server.properties # broker_id,集群环境下不能重复 broker.id=0 # broker 开放的端口 port=9092 # broker 绑定的主机名 host.name

flume+kafka安装部署使用

安稳与你 提交于 2020-03-11 01:14:46
安装部署flume+kafka 关于Flume 的 一些核心概念: 组件名称 功能介绍 Agent代理 使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。 Client客户端 生产数据,运行在一个独立的线程。 Source源 从Client收集数据,传递给Channel。 Sink接收器 从Channel收集数据,进行相关操作,运行在一个独立线程。 Channel通道 连接 sources 和 sinks ,这个有点像一个队列。 Events事件 传输的基本数据负载。 1.在apache官网安装flume 入门文档 kafka入门文档 整合配置 1.新建kafka.properties在/flume/conf agent.sources = s1 agent.channels = c1 agent.sinks = k1 agent.sources.s1.type = exec agent.sources.s1.command = tail -F /tmp/flume-logs/kafka.log agent.sources.s1.channels = c1 agent.channels.c1.type = memory agent.channels.c1.capacity = 10000 agent

带你逆袭kafka之路

别说谁变了你拦得住时间么 提交于 2020-03-09 13:02:16
1. kafka概述 1.1 kafka简介 Apache Kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统, 使用 Scala 与 Java 语言编写,能够将消息从一个端点传递到另一个端点,较之传统的消息中 间件(例如 ActiveMQ、RabbitMQ),Kafka 具有高吞吐量、内置分区、支持消息副本和高容 错的特性,非常适合大规模消息处理应用程序。 Kafka 官网: http://kafka.apache.org/ Kafka主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。 同时支持离线数据处理和实时数据处理。 支持在线水平扩展 Kafka通常用于两大类应用程序: 建立实时流数据管道,以可靠地在系统或应用程序之间获取数据 构建实时流应用程序,以转换或响应数据流 要了解Kafka如何执行这些操作,让我们从头开始深入研究Kafka的功能。 首先几个概念: Kafka在一个或多个可以跨越多个数据中心的服务器上作为集群运行。 Kafka集群将 记录 流存储在称为 主题的 类别中。 每个记录由一个键

分布式消息队列Kafka学习笔记

故事扮演 提交于 2020-03-09 07:59:40
Kafka概述 a distributed streaming platform Kafka架构和核心概念 producer, 生产者,生产馒头。 consumer, 消费者,吃馒头。 broker, 篮子。 topic, 主题,给馒头带一个标签,topica的馒头是给你吃的,topicb的馒头是给你弟弟吃。 Zookeeper集群部署 安装包解压 , 1 tar -xzvf zookeeper-3.4.5.tar.gz -C / export /servers zookeeper配置文件修改 , 1 cp zoo_sample.cfg zoo.cfg 2 vi zoo.cfg 3 #数据目录. 可以是任意目录,其中的dataDir目录和dataLogDir需要提前建立好 4 #注意 应该谨慎地选择日志存放的位置,使用专用的日志存储设备能够大大地提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会在很大程度上影响系统的性能。 5 dataDir=/ export /servers/data/zookeeper 6 #log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置,其中的dataDir目录和dataLogDir需要提前建立好 7 #注意 应该谨慎地选择日志存放的位置,使用专用的日志存储设备能够大大地提高系统的性能

【Kafka】(二十二)Kafka Exactly Once 语义与事务机制原理

你离开我真会死。 提交于 2020-03-08 20:18:37
写在前面的话 本文所有Kafka原理性的描述除特殊说明外均基于Kafka 1.0.0版本。 为什么要提供事务机制 Kafka事务机制的实现主要是为了支持 Exactly Once 即正好一次语义 操作的原子性 有状态操作的可恢复性 Exactly Once 《 Kafka背景及架构介绍 》一文中有说明Kafka在0.11.0.0之前的版本中只支持 At Least Once 和 At Most Once 语义,尚不支持 Exactly Once 语义。 但是在很多要求严格的场景下,如使用Kafka处理交易数据, Exactly Once 语义是必须的。我们可以通过让下游系统具有幂等性来配合Kafka的 At Least Once 语义来间接实现 Exactly Once 。但是: 该方案要求下游系统支持幂等操作,限制了Kafka的适用场景 实现门槛相对较高,需要用户对Kafka的工作机制非常了解 对于Kafka Stream而言,Kafka本身即是自己的下游系统,但Kafka在0.11.0.0版本之前不具有幂等发送能力 因此,Kafka本身对 Exactly Once 语义的支持就非常必要。 操作原子性 操作的原子性是指,多个操作要么全部成功要么全部失败,不存在部分成功部分失败的可能。 实现原子性操作的意义在于: 操作结果更可控,有助于提升数据一致性 便于故障恢复。因为操作是原子的

2. ROS2 节点和主题

梦想的初衷 提交于 2020-03-08 20:08:33
文章目录 1 节点 节点的理解 常用命令 2 主题 小乌龟控制demo 自带 demo运行 1 节点 节点的理解 每个节点都可以通过 topic,service,action,param 向其他节点发送和接受数据。 常用命令 ros2 node list ros2 node info 输入rqt 直接回车可以看到当前ROS系统中的节点关系图,还可以参看很多节点相关信息 2 主题 ros2 topic bw 主题名 ros2 topic bw Display bandwidth used by topic ros2 topic delay Display delay of topic from timestamp in header ros2 topic echo Output messages from a topic ros2 topic hz Print the average publishing rate to screen ros2 topic info Print information about a topic ros2 topic list Output a list of available topics ros2 topic pub Publish a message to a topic 小乌龟控制demo 安装:sudo apt install ros

NOVA源码分析——NOVA中的RabbitMQ解析

瘦欲@ 提交于 2020-03-08 18:41:47
本篇文章是由本人阅读NOVA源码过程中的心得、 RabbitMQ 的官方文档以及网上的一些资料整理总结而成的,也为了方便以后对这部分内容的复习。 NOVA是OpenStack系统的核心模块,主要负责虚拟机实例的生命周期管理、网络管理(前几个版本)、存储卷管理(前几个版本)、用户管理以及其他相关云平台管理功能,在能力上类似于Amazon EC2和Rackspace Cloud Servers。 消息队列(Queue )与数据库(Database) 作为Nova总体架构中的两个重要组成部分,二者通过系统内消息传递和信息共享的方式实现任务之间、模块之间、接口之间的异步部署,在系统层面大大简化了复杂任务的调度流程与模式,是整个OpenStack Nova系统的核心功能模块。终端用户(DevOps、Developers和其他OpenStack组件)主要通过Nova API实现与OpenStack系统的互动,同时Nova守护进程之间通过消息队列和数据库来交换信息以执行API请求,完成终端用户的云服务请求。 Nova采用无共享、基于消息的灵活架构,意味着Nova的组件有多种安装方式,可以将每个Nova-Service模块单独安装在一台服务器上,同时也可以根据业务需求将多个模块组合安装在多台服务器上。 1. RabbitMQ OpenStack Nova系统目前主要采用 RabbitMQ

Kafka如何保证消息的高可用

孤街醉人 提交于 2020-03-08 05:27:32
一、术语 1.1 Broker Kafka 集群包含一个或多个服务器,服务器节点称为broker。 broker存储topic的数据。 如果某topic有N个partition,集群有N个broker,那么每个broker存储该topic的一个partition。 如果某topic有N个partition,集群有(N+M)个broker,那么其中有N个broker存储该topic的一个partition,剩下的M个broker不存储该topic的partition数据。 如果某topic有N个partition,集群中broker数目少于N个,那么一个broker存储该topic的一个或多个partition。 在实际生产环境中,尽量避免这种情况的发生,这种情况容易导致Kafka集群数据不均衡。 1.2 Topic 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。 1.3 Partition topic中的数据分割为一个或多个partition。 partition中的数据是有序的,不同partition间的数据丢失了数据的顺序。如果topic有多个partition,消费数据时就不能保证数据的顺序。 在需要严格保证消息的消费顺序的场景下,需要将partition数目设为1。或者需要保证 按业务类型 顺序 消费 的情况,则按业务类型发到同一分区

kafka的安装及集群的搭建

徘徊边缘 提交于 2020-03-08 04:49:10
关于kafka的介绍就暂时不写了,我们根据官网来看看如何安装及搭建kafka消息中间件,首先我们去官网把kafka的安装包下载下来,地址是 https://www.apache.org/dyn/closer.cgi?path=/kafka/2.4.0/kafka_2.12-2.4.0.tgz ,因为我们大多都是用的Windows,因此需要将下载下来的安装包上传到Linux环境上面,上传上去后,我们通过以下命令操作 # tar -xzf kafka_2.12-2.4.0.tgz # cd kafka_2.12-2.4.0 进入到kafka文件夹中后,可以看到有bin、libs、config等文件夹,在bin目录里可以看到下面的目录结构 可以看到有关于connect、kafka及zookeeper的配置信息,因此我们可以使用kafka提供的zookeeper来测试使用,如果在正式环境中我们还是需要自己去创建zookeeper集群的,这样才能保证可靠性,接下来我们就需要启动zookeeper了,因为kafka是依赖于zookeeper来做一些操作的,这个将会在后面文章中介绍到,这里就不在叙述,先启动zookeeper吧,如下 ./bin/zookeeper-server-start.sh config/zookeeper.properties 完成了zookeeper的启动

Kafka学习笔记

我们两清 提交于 2020-03-08 01:03:10
zk启动 bin/zkServer.sh start 后台启动kafka bin/kafka-server-start.sh config/server.properties 1 > /dev/null 2 > & 1 & 测试生产者消费者 创建主题 bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic calvin --partitions 2 --replication-factor 1 查看所有主题 bin/kafka-topics.sh --zookeeper localhost:2181 --list 查看对应的主题 bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic calvin 指定生产者发送消息到主题 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic calvin 指定消费者订阅主题 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic calvin 单机版注意一个坑,需要 将server.properties设置advertised