topic

kafka用户认证与权限管理(SASL/PLAIN+ACL)

浪子不回头ぞ 提交于 2019-11-27 08:35:17
Kafka 目前支持SSL、SASL/Kerberos、SASL/PLAIN三种认证机制 kafka的认证范围 kafka client 与 kafka server(broker) broker与broker之间 broker与zookeeper之间 zookpeer认证 在zookeeper安装根目录的conf目录下,创建zk_server_jaas.conf文件 Server { org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="123456" user_admin="123456" user_zk001="123456" user_zk002="123456" user_zk003="123456" user_zk004="123456" user_zk005="123456"; };#其中username和password用于brokers和zk进行认证,user_*用于zk client与zk server进行认证#user_zk001="123456" 表示 zk001为用户名,123456为密码 zoo.cfg添加以下配置 authProvider.1=org.apache.zookeeper.server.auth

Flink的kafka的source操作

喜你入骨 提交于 2019-11-27 06:13:43
1.环境准备:   1.搭建zookeeper和kafka   2.向kafka中创建topic,并添加数据   ./kafka-topics.sh --create --zookeeper 192.168.1.204:2181 --replication-factor 1 --partitions 3 --topic t1   ./kafka-console-producer.sh --broker-list 192.168.1.204:9092 --topic t1 2.需求分析   从kafka中读取数据并将数据打印到控制台 3. 实例代码:    flink-kafka-example 来源: https://www.cnblogs.com/glblog/p/11936892.html

阿里云kafka安装

我只是一个虾纸丫 提交于 2019-11-27 05:12:25
阿里云kafka安装 本案例使用的是kafka的版本是kafka_2.11-0.9.0.1,zookeeper的版本是zookeeper-3.4.6,jdk1.7.0_79 来安装一个简单测试环境。 一、安装启动zookeeper 1 . 去官网下载zookeeper-3.4.6.tar.gz 2 . 解压文件,设置zookeeper环境变量(ZOOKEEPER_HOME) 设置完后的etc/profile文件部分内容如下: JAVA_HOME=/usr/java/jdk1. 7.0 _79 JRE_HOME=/usr/java/jdk1. 7.0 _79/jre CLASS_PATH=.: $JAVA_HOME /lib/dt.jar: $JAVA_HOME /lib/tools.jar: $JRE_HOME /lib export JAVA_HOME JRE_HOME PATH CLASSPATH export MAVEN_HOME=/usr/maven/apache-maven- 3.5 . 0 export PATH= ${MAVEN_HOME} /bin: ${PATH} export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper- 3.4 . 6 export PATH= ${ZOOKEEPER_HOME} /bin: ${PATH}

Kafka的安装配置与测试

女生的网名这么多〃 提交于 2019-11-27 05:11:52
(一)安装与配置 安装列表 kafka_2.10-0.8.1.1.tar jdk1.7.0_51.tar 1 安装jdk 如果jdk已安装,可以跳过;没有安装的可以参照: http://blog.csdn.net/ouyang111222/article/details/50344135 2 安装kafka 1.2.1 解压kafka 我的集群有3台机器,ip分别为ip1、ip2、ip3,将kafka_2.10-0.8.1.1.tar分别拷贝至每个机器的/apps/svr/目录下,进行解压 tar -xf kafk a_2 . 10 - 0.8 . 1.1 .tar 1.2.2 配置/config/server.properties (1) broker.id # The id of the broker. This must be set to a unique integer for each broker. broker.id= broker.id为依次增长的:0、1、2、3、4,集群中唯一id;本文3台机器的对应关系设置如下: ip1 - - - - > 0 ip2 - - - - > 1 ip3 - - - - > 2 (2) port # The port the socket server listens on port = 9092 默认设置为9092 (3)

Kafka单机环境安装与测试

北战南征 提交于 2019-11-27 05:10:53
一、Linux虚拟机下的安装与测试 1、环境准备 使用的是vm虚拟机,安装ubuntu18.04.2的镜像文件 2、安装步骤与测试 1)首先在Kafka官网上下载kafka版本,本次下载的是Scala 2.11 - kafka_2.11-1.1.1.tgz 。将其下载到/usr/local/目录下。 2)使用tar -zxvf kafka_2.11-1.1.1.tgz 对压缩包进行解压,并使用mv kafka_2.11-1.1.1 kafka对其压缩后的文件夹重命名。 3)由于kafka的启动是需要zookeeper支持的,但是压缩包中给提供了zookeeper的环境供测试使用,所以再单机的环境下我们不需要在重新下载zookeeper。单机环境下,可以直接启动zookeeper服务。 进入到kafka的bin/目录下,使用./zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties启动zookeeper,注意,zookeeper的配置文件在kafka/config/目录下。 4)zookeeper启动成功后,就可以kafka服务了。重新开一个终端,进入到kafka的安装目录,使用 ./kafka-server-start.sh /usr/local/kafka/config/server

mysql拆分逗号一列变多行

断了今生、忘了曾经 提交于 2019-11-27 05:01:46
需求: SELECT DISTINCT substring_index(substring_index(a.value, ',', b.help_topic_id + 1), ',', - 1) FROM TABLE a INNER JOIN mysql.help_topic b ON b.help_topic_id < (length(a.value) - length(replace(a.value, ',', '')) + 1) 来源: https://www.cnblogs.com/gered/p/11345202.html

126 Kafka名词解释和工作方式

天涯浪子 提交于 2019-11-27 04:56:51
Producer : 消息生产者,就是向kafka broker发消息的客户端。 Consumer : 消息消费者,向kafka broker取消息的客户端 Topic : 可以理解为一个队列。 Consumer Group (CG): 这是kafka用来实现一个topic消息的广播(发给所有的consumer)和单播(发给任意一个consumer)的手段。一个topic可以有多个CG。topic的消息会复制(不是真的复制,是概念上的)到所有的CG,但每个partion只会把消息发给该CG中的一个consumer。如果需要实现广播,只要每个consumer有一个独立的CG就可以了。要实现单播只要所有的consumer在同一个CG。用CG还可以将consumer进行自由的分组而不需要多次发送消息到不同的topic。 Broker : 一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic。 Partition: 为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,一个topic可以分为多个partition,每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset)。kafka只保证按一个partition中的顺序将消息发给consumer

127 Kafka Consumer与topic关系

爷,独闯天下 提交于 2019-11-27 04:56:22
本质上kafka只支持Topic; 每个group中可以有多个consumer,每个consumer属于一个consumer group; 通常情况下,一个group中会包含多个consumer,这样不仅可以提高topic中消息的并发消费能力,而且还能提高"故障容错"性,如果group中的某个consumer失效那么其消费的partitions将会有其他consumer自动接管。 对于Topic中的一条特定的消息,只会被订阅此Topic的每个group中的其中一个consumer消费,此消息不会发送给一个group的多个consumer; 那么一个group中所有的consumer将会交错的消费整个Topic,每个group中consumer消息消费互相独立,我们可以认为一个group是一个"订阅"者。 在kafka中,一个partition中的消息只会被group中的一个consumer消费(同一时刻); 一个Topic中的每个partions,只会被一个"订阅者"中的一个consumer消费,不过一个consumer可以同时消费多个partitions中的消息。 kafka的设计原理决定,对于一个topic,同一个group中不能有多于partitions个数的consumer同时消费,否则将意味着某些consumer将无法得到消息。

kafka学习笔记:知识点整理

心已入冬 提交于 2019-11-27 03:43:54
一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。 3.扩展性 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可。 4.灵活性 & 峰值处理能力 在访问量剧增的情况下,应用仍然需要继续发挥作用,但是这样的突发流量并不常见。如果为以能处理这类峰值访问为标准来投入资源随时待命无疑是巨大的浪费。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。 5.可恢复性 系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。 6.顺序保证 在大多使用场景下,数据处理的顺序都很重要。大部分消息队列本来就是排序的,并且能保证数据会按照特定的顺序来处理。(Kafka 保证一个 Partition 内的消息的有序性) 7.缓冲 有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。 8

Python探路-Kafka

一曲冷凌霜 提交于 2019-11-27 03:37:08
之前主要介绍和学习了一些服务端和业务强相关的技术组件和框架,随着业务量的大幅度增加,单一的部署形式越来越不能满足服务的请求,那么业务的扩展就需要服务的增加,但是单纯的水平扩展是不能满足业务需求的,因此微服务就成了大家关注的对象,下面首先介绍下常用的协调系统Kafka: 一、Kafka设计的目的在于: 1、以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能 2、高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输 3、支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。 4、同时支持离线数据处理和实时数据处理。 5、Scale out:支持在线水平扩展 二、Kafka的工作方式: Kafka就是一种发布-订阅模式(这个和celery有点像) 三、优点: 1、解耦: 2、冗余:可靠性------副本 3、扩展性: 4、灵活性: 5、可恢复性 6、顺序保证: 7、缓冲: 8、异步通信: 四:下面看下Kafka的整体结构图: 首先了解下Kafka组件中的基本概念: 1、Producer: 生产者即数据的发布者,该角色将消息发布到Kafka的topic中。broker接收到生产者发送的消息后,broker将该消息 追加 到当前用于追加数据的segment文件中