topic

kafka集群安装和使用

馋奶兔 提交于 2019-11-27 15:48:45
kafka (1)kafka是一个分布式的消息缓存系统 (2)kafka集群中的服务器都叫做broker (3)kafka有两类客户端,一个叫做producer(消息生产者),一类叫做consumer(消息消费者),客户端和broker服务器之间采用TCP协议连接 (4)kafka中的消息可以通过topic进行区分,而且每一个消息topic都会被分区,以分担消息服务器的负载 (5)每一个分区都可以有多个副本,以防止数据的丢失 (6)某一个分区中的数据如果需要更新,都必须通知该分区所有副本中的leader来更新 (7)消费者可以分组,比如有两个消费者组A和B,共同消费一个topic:order_info,A和B所消费的消息不会重复,如order_info中有100个消息,每个消息都有一个id,编号从1-99,那么如果A组消费从0-49,B组消费就从50-99,当然不一定都是连续的 (8)消费者在具体消费某个topic中的消息时,可以制定起始偏移量 集群安装 官网教程 http://kafka.apache.org/22/documentation.html#introduction 1.解压 2.修改server.properties broker.id=1 zookeeper.connect=hadoop01:2182,hadoop02:2182,hadoop03:2182 3

Apache kafka 简介

人盡茶涼 提交于 2019-11-27 15:35:49
kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据 kafka名词解释 Broker:Kafka 集群包含一个或多个服务器,这种服务器被称为 broker。 Topic:每条发布到 Kafka 集群的消息都有一个类别,这个类别被称为 Topic。(物理上不同 Topic 的消息分开存储,逻辑上一个 Topic 的消息虽然保存于一个或多个 broker 上,但用户只需指定消息的 Topic 即可生产或消费数据而不必关心数据存于何处)。 Partition:Partition 是物理上的概念,每个 Topic 包含一个或多个 Partition。 Producer:负责发布消息到 Kafka broker。 Consumer:消息消费者,向 Kafka broker 读取消息的客户端。 Consumer Group:每个 Consumer 属于一个特定的 Consumer Group(可为每个 Consumer 指定 group name,若不指定 group name 则属于默认的 group)。 每个消息(也叫作record记录,也被称为消息)是由一个key,一个value和时间戳构成。 基本原理及架构 消息模型可以分为两种:队列和发布-订阅式。队列的处理方式是一组消费者从服务器读取消息,一条消息只有其中的一个消费者来处理。在发布

centos7单机安装kafka,进行生产者消费者测试

前提是你 提交于 2019-11-27 13:12:31
【转载请注明】: 原文出处 : https://www.cnblogs.com/jstarseven/p/11041729.html 作者 :jstarseven 码字挺辛苦的..... 一、kafka介绍 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。 主要应用场景是:日志收集系统和消息系统。 Kafka主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。 同时支持离线数据处理和实时数据处理。 支持在线水平扩展 二、kafka架构图 三、kafka安装与测试 1、配置JDK环境 Kafka 使用Zookeeper 来保存相关配置信息,Kafka及Zookeeper 依赖Java 运行环境,从oracle网站下载JDK 安装包,解压安装 1 tar zxvf jdk-8u171-linux-x64

centos

走远了吗. 提交于 2019-11-27 12:49:57
1. Centos 7.2 设置允许连接网络: vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 #编辑配置文件 BOOTPROTO = static ONBOOT = yes IPADDR = 172.16.40.173 NETMASK = 255.255.255.0 GATEWAY = 172.16.40.1 DNS1 = 114.114.114.114 #重启service service network restart 安装软件 yum install net-tools yum install wget yum install vim yum install ntpdate yum -y install lrzsz yum -y install gcc yum -y install gcc-c++ 卸载旧版本 换源 进入到/etc/yum.repos.d/目录: cd /etc/yum.repos.d/ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum

RabbitMQ 使用详细介绍

…衆ロ難τιáo~ 提交于 2019-11-27 12:42:33
一、RabbitMQ 消息队列介绍 二、RabbitMQ基本示例.   1、Rabbitmq 安装   2、基本示例   3、RabbitMQ 消息分发轮询 三、RabbitMQ 消息持久化(durable、properties)   1、RabbitMQ 相关命令   2、消息持久化 四、RabbitMQ 广播模式(exchange)   1、fanout 纯广播、all   2、direct 有选择的接收消息   3、topic 更细致的过滤   4、RabbitMQ RPC 实现(Remote procedure call) 上节回顾 主要讲了协程、进程、异步IO多路复用。 协程和IO多路复用都是单线程的。 epoll 在linux下通过这个模块libevent .so 实现 gevent 在底层也是用了libevent .so 1 2 gevent可以理解为一个更上层的封装。 使用select或者selectors,每接收或发送数据一次都要select一次 twisted异步网络框架,强大又庞大,不支持python3 (代码量python中排top3)。几乎把所有的网络服务都重写了一遍。 一、RabbitMQ 消息队列介绍 RabbitMQ也是消息队列,那RabbitMQ和之前python的Queue有什么区别么? py 消息队列: 线程 queue

kafka详细原理总结

别说谁变了你拦得住时间么 提交于 2019-11-27 12:35:24
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。 1.前言 消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一。下面将从Kafka文件存储机制和物理结构角度,分析Kafka是如何实现高效文件存储,及实际应用效果。 1.1 Kafka的特性: - 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。 - 可扩展性:kafka集群支持热扩展 - 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失 - 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败) - 高并发:支持数千个客户端同时读写 1.2 Kafka的使用场景: - 日志收集

kafka 虚拟机环境 单机版部署

和自甴很熟 提交于 2019-11-27 11:05:29
kafka 基本介绍 概念 一个分布式流处理平台,消息订阅平台,一般有三个特性 可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。 可以储存流式的记录,并且有较好的容错性。 可以在流式记录产生时就进行处理。 适用场景 构造实时流数据管道,它可以在系统或应用之间可靠地获取数据。 (相当于message queue) 构建实时流式应用程序,对这些流数据进行转换或者影响。 (就是流处理,通过kafka stream topic和topic之间内部进行变化) 部署安装 kafka 部署安装需要依赖于 zoookper 和java 环境 安装java 环境 yum install java-1.8.0-openjdk* -y 安装zoookper 下载软件包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 解压缩到指定位置 修改配置文件 cp zoo_sample.cfg zoo.cfg 配置文件如下,创建所需要的目录 tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/local/zookeeper_data clientPort=2181 制作标准服务启动 cat

kafka 集群环境搭建与管理

孤人 提交于 2019-11-27 10:59:14
这一节主要讲kafka 集群环境部署, kafka 基础概念介绍与强化 1)Producer:消息生产者,就是向kafkabroker发消息的客户端; 2)Consumer:消息消费者,向kafkabroker取消息的客户端; 3)Topic:可以理解为一个队列; 4)Consumer Group(CG):这是kafka用来实现一个topic消息的广播(发给所有的consumer) 和单播(发给任意一个consumer)的手段。一个topic可以有多个CG。topic的消息会复制 (不是真的复制,是概念上的)到所有的CG,但每个partion只会把消息发给该CG中的一 个consumer。如果需要实现广播,只要每个consumer有一个独立的CG就可以了。要实现 单播只要所有的consumer在同一个CG。用CG还可以将consumer进行自由的分组而不需 要多次发送消息到不同的topic; 5)Broker:一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker 可以容纳多个topic; 6)Partition:为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上, 一个topic可以分为多个partition,每个partition是一个有序的队列。partition中的每条消息 都会被分配一个有序的id

mosquitto 常用命令

独自空忆成欢 提交于 2019-11-27 10:50:56
原文:https://www.cnblogs.com/smartlife/articles/10182136.html 常用命令 订阅主题 mosquitto_sub -h 192.168.0.1 -p 1883 -u root -P root -t topicname 推送消息 mosquitto_pub -h 192.168.0.1 -p 1883 -u root -P root -t topicname -m "发送的消息内容" mosquitto重启 1.1 查看mosquitto的进程 命令:ps -aux | grep mosquitto 1.2 杀掉进程# 命令:kill -9 18248 1.3 启动# 命令:mosquitto -c /etc/mosquitto/mosquitto.conf -d mosquitto 启动命令 启动命令# mosquitto [-c config file] [ -d | --daemon ] [-p port number] [-v] -c 后面跟的是启动mosquitto可以调整的参数,比如是否开启基本认证,端口是什么,SSL单向和双向的认证配置等等。 -d 表示MQTT mosquitto将在后台运行。 -p 代表当前的mosquitto服务实例启动以后,其监听端口号,这个配置的覆盖[-c config file]

Kafka学习笔记之如何永久删除Kafka的Topic

空扰寡人 提交于 2019-11-27 10:36:35
0x00 问题描述 使用kafka-topics --delete命令删除topic时并没有真正的删除,而是把topic标记为:“marked for deletion”,导致重新创建相同名称的Topic时报错“already exists”。 0x01 问题复现 1. 登录Kafka集群所在的服务器,创建一个test的topic [root@cdh1 ~]# kafka-topics --create --zookeeper 192.168.2.13:2181 --replication-factor 1 --partitions 1 --topic test 2.查看新创建的topic [root@cdh1 ~]# kafka-topics --list --zookeeper 192.168.2.13:2181 3.通过如下命令删除新建的topic [root@cdh1 ~]# kafka-topics --delete --zookeeper 192.168.2.13:2181 --topic test 此处显示“Topic test is marked for deletion” 4.尝试重新创建一个test的Topic [root@cdh1 ~]# kafka-topics --create --zookeeper 192.168.2.13:2181 -