kafka命令

Kafka Consumer底层原理分析【Kafka系列】

孤街浪徒 提交于 2019-11-30 14:19:42
虽然目前Kafka0.10版本已经重写了其API,但底层原理是类似的,所以我们可以先了解kafka0.8.x里面的提供的Consumer的实现原理与交互流程 Kafka提供了两套API给Consumer The SimpleConsumer API The high-level Consumer API 1. 低阶API 本质上是提供了一种与broker交互信息的API 剩下的处理全靠用户自己的程序,功能比较简单,但用户扩展性比较强 1) API结构 低阶API的consumer,指定查找topic某个partition的指定offset去消费 首先与broker通信,寻找到leader(不与zookeeper通信,不存在groupid), 然后直接和 leader 通信,指定 offset 去消费。消费多少,从哪里开始消费,都可控 (我们的例子是从 0 开始消费) findLeader方法中会去调用findPartitionMetadata方法 程序运行结果: 运行过程中一直卡住没有成功消费,加入如下错误信息判断,发现error code为1 说明我们从offset 0消费offsetoutofrange了 (我们发送请求topic1 partition0的offset 0 broker回复我们offset out of range,因为kafka中已经没有offset 0

使用kafka-eagle监控Kafka

左心房为你撑大大i 提交于 2019-11-30 07:57:43
# 监控kafka集群,开启监控趋势图使用 # 有一个问题,需要在kafka-server-start.sh文件中配置端口,有如下三种办法 # 第一种:复制并修改kafka目录,比如kafka-1,kafka-2,kafka-3,然后再每个目录下修改kafka-server-start.sh文件 # 第二种:在启动脚本start.sh中添加指定端口 # 第三种:多复制几个kafka-server-start.sh文件,然后进行修改,最后在start.sh中修改一下 # 以下三种方法任选其一即可 # 第一种方式办法,相应行修改成如下形式,注意端口号不同 # 使用的是不同目录下的不同kafka-server-start.sh文件 # start.sh文件也需要做相应的修改 # kafka-1/bin/kafka-server-start.sh if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then # export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5

Redis Persistent Replication Sentinel Cluster的一些理解

北慕城南 提交于 2019-11-30 06:19:10
Redis Persistent Replication Sentinel Cluster的一些理解 我喜欢把工作中接触到的各种数据库叫做存储系统,笼统地说:Redis、Mysql、Kafka、ElasticSearch 都可以视为存储系统。各个存储系统在持久化刷盘策略、checkpoint机制、事务机制、数据的可靠性保证、高可用性保证的一些实现细节是深入理解背后存储原理的基础,把它们对比起来看,也能更好地理解。在写代码的时候,也许只需要了解它们提供的API就能完成大部分任务了,再加上强大的运维,也许也不用去关注什么安装、配置、维护这些"锁事"了, 但这样当数据量大,出现性能问题的时候,也常常一筹莫展。 由于在工作中使用到Redis的地方也比较简单,心血来潮的时候,看看某个具体的数据结构的底层实现原理,比如REDIS_ZSET,但是对存储原理、键过期机制、集群了解得少。读了《Redis 设计与实现》和官方Documentation后,感觉它背后处处体现着优化:Redis是单线程的(需要放到特定的场景下的讨论)、Redis数据类型的底层实现(object encoding)在数据量少的时候采用一种物理存储结构,在数据量大的时候自动转换成另一种存储结构、还有一些地方用到了为了效率而取近似的思想,这些都让Redis很美好。 Redis Persistent 先从Redis持久化说起

kafka集群使用遇到的问题

瘦欲@ 提交于 2019-11-30 00:15:48
1、kafka集群上通过kafka-console-producer.sh发送消息,使用kafka-console-consumer.sh接收不到消息,一直卡住没动静 发送: ./kafka-console-producer.sh --broker-list zk1:9092,zk2:9092,zk3:9092 --topic xyz 接收: ./kafka-console-consumer.sh --bootstrap-server zk1:9092,zk2:9092,zk3:9092 --topic xyz 解决办法: 打开kafka的日志,config/log4j.properties文件中日志级别全改为DEBUG; 在执行上面的接收命令时候,在一个broker的日志中看到如下错误日志, Error while fetching metadata for __consumer_offsets-26: listener ListenerName(PLAINTEXT) not found on leader -1 进入zookeeper/bin目录,执行zkCli.sh, rmr /brokers rmr /config/brokers rmr /config/topics 而后重启kafka集群即可。 来源: https://www.cnblogs.com

kafka控制台基本操作命令

断了今生、忘了曾经 提交于 2019-11-29 19:32:27
#创建topic /usr/SFT/kafka-0.11/bin/kafka-topics.sh --zookeeper chdp11:2181 --create --replication-factor 3 --partitions 1 --topic mytp #列出已经创建的topic,实际上就是去zk集群查询数据 /usr/SFT/kafka-0.11/bin/kafka-topics.sh --zookeeper chdp11:2181 --list #删除topic,若未设置delete.topic.enable=true将不会真正删除,而是将对应topic打上deletion标识(mark of deletion) /usr/SFT/kafka-0.11/bin/kafka-topics.sh --zookeeper chdp11:2181 --delete --topic mytp #在控制台启动生产者,将数据写入mytp /usr/SFT/kafka-0.11/bin/kafka-console-producer.sh --broker-list chdp11:9092 --topic mytp #在控制台启动消费者,从mytp消费数据,其会创建一个单独的组。 /usr/SFT/kafka-0.11/bin/kafka-console-consumer.sh -

个推基于 Apache Pulsar 的优先级队列方案

你离开我真会死。 提交于 2019-11-29 18:52:41
作者:个推平台研发工程师 祥子 一、业务背景 在个推的推送场景中,消息队列在整个系统中占有非常重要的位置。 当 APP 有推送需求的时候, 会向个推发送一条推送命令,接到推送需求后,我们会把APP要求推送消息的用户放入下发队列中,进行消息下发;当同时有多个APP进行消息下发时,难免会出现资源竞争的情况, 因此就产生了优先级队列的需求,在下发资源固定的情况下, 高优先级的用户需要有更多的下发资源。 二、基于 Kafka 的优先级队列方案 针对以上场景,个推基于 Kafka 设计了第一版的优先级队列方案。Kafka 是 LinkedIn 开发的一个高性能、分布式消息系统;Kafka 在个推有非常广泛的应用,如日志收集、在线和离线消息分发等。 架构 在该方案中,个推将优先级统一设定为高、中、低三个级别。具体操作方案如下: 对某个优先级根据 task (单次推送任务)维度,存入不同的 Topic,一个 task 只写入一个 Topic,一个 Topic 可存多个 task; 消费模块根据优先级配额(如 6:3:1),获取不同优先级的消息数,同一优先级轮询获取消息;这样既保证了高优先级用户可以更快地发送消息,又避免了低优先级用户出现没有下发的情况。 Kafka 方案遇到的问题 随着个推业务的不断发展,接入的 APP 数量逐渐增多,第一版的优先级方案也逐渐暴露出一些问题: 当相同优先级的

Kafka Eagle 安装

被刻印的时光 ゝ 提交于 2019-11-29 14:10:22
Kafka Eagle 是一款开源的 Kafka 集群监控系统。 一、下载 https://download.kafka-eagle.org/ 二、安装 # 解压 tar -zxf /opt/kafka-eagle-bin-1.3.9.tar.gz -C /opt/ tar -zxf /opt/kafka-eagle-bin-1.3.9/kafka-eagle-web-1.3.9-bin.tar.gz -C /opt/ # 配置 vim /opt/kafka-eagle-web-1.3.9/conf/system-config.properties system-config.properties 原文件 ###################################### # multi zookeeper&kafka cluster list ###################################### kafka.eagle.zk.cluster.alias=cluster1,cluster2 cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181 cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181 ##################################

kafka笔记

一笑奈何 提交于 2019-11-29 08:56:41
什么是Kafka Kafka是一款分布式消息发布和订阅系统,它的特点是高性能、高吞吐量。 最早设计的目的是作为LinkedIn的活动流和运营数据的处理管道。这些数据主要是用来对用户做用户画像分析以及服务器性能数据的一些监控所以kafka一开始设计的目标就是作为一个分布式、高吞吐量的消息系统,所以适合运用在大数据传输场景。 Kafka的应用场景 由于kafka具有更好的吞吐量、内置分区、冗余及容错性的优点(kafka每秒可以处理几十万消息),让kafka成为了一个很好的大规模消息处理应用的解决方案。所以在企业级应用长,主要会应用于如下几个方面 行为跟踪: kafka可以用于跟踪用户浏览页面、搜索及其他行为。通过发布-订阅模式实时记录到对应的topic中,通过后端大数据平台接入处理分析,并做更进一步的实时处理和监控 日志收集: 日志收集方面,有很多比较优秀的产品,比如Apache Flume,很多公司使用kafka代理日志聚合。日志聚合表示从服务器上收集日志文件,然后放到一个集中的平台(文件服务器)进行处理。在实际应用开发中,我们应用程序的log都会输出到本地的磁盘上,排查问题的话通过linux命令来搞定, 如果应用程序组成了负载均衡集群,并且集群的机器有几十台以上,那么想通过日志快速定位到问题,就是很麻烦的事情了

kafka集群搭建

て烟熏妆下的殇ゞ 提交于 2019-11-29 08:19:44
环境: 三台机器vm1,vm2,vm3 zookeeper版本:apache-zookeeper-3.5.5 kafka版本:kafka_2.11-2.3.0 (2.11是scala版本,2.3.0是kafka版本) 安装zookeeper集群 前往 下载 , 解压拷贝三份到目标机器相同目录下, 配置, mv zoo_sample.cfg zoo.cfg zoo.cfg具体配置如下 # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/var/lib/zookeeper/ # the port at which

Linux——CentOS7没有ifconfig命令

孤人 提交于 2019-11-29 06:24:09
前言 今天新安装的centos7,使用 ifconfig 命令却提示没有,直接安装也没有~ 正文 直接安装直接告诉我这个包不是一个有效的 [root@kafka ~]# yum install -y ifconfig Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com No package ifconfig available. Error: Nothing to do 正确操作 [root@kafka ~]# yum install -y net-tools.x86_64 来源: https://www.cnblogs.com/wangyang0210/p/11459058.html