Kafka核心概念以及监控的选择

1.核心概念:

bin/kafka-topics.sh --create \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka \

--replication-factor 3 --partitions 3 --topic ruozedata

 

Topic: ruozedata 主题  1----10

partitions:  3个分区  下标是从0开始的   物理上的分区

replication: 3个副本 指的是一个分区被复制3份

3台机器:

        hadoop001    hadoop002   hadoop003

0分区: ruozedata-0  ruozedata-0 ruozedata-0

1分区: ruozedata-1  ruozedata-1 ruozedata-1

2分区: ruozedata-2  ruozedata-2 ruozedata-2

 

HDFS 一个文件比如130M  BLOCKSIZE:128M 两个块,每个块复制3份

 

[root@hadoop001 bin]# kafka-topics.sh --describe \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181 \

> --zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181 \

> --topic ruozedata

 

Topic:ruozedata PartitionCount:3        ReplicationFactor:3     Configs:

第一行列举这个topic的名称,分区数,副本数

 

        Topic: ruozedata        Partition: 0    Leader: 1       Replicas: 1,3,2 Isr: 1,3,2

        Topic: ruozedata        Partition: 1    Leader: 2       Replicas: 2,1,3 Isr: 2,1,3

        Topic: ruozedata        Partition: 2    Leader: 3       Replicas: 3,2,1 Isr: 3,2,1

 

kill hadoop003的kafka

 

        Topic: ruozedata        Partition: 0    Leader: 1       Replicas: 1,3,2 Isr: 1,2

        Topic: ruozedata        Partition: 1    Leader: 2       Replicas: 2,1,3 Isr: 2,1

        Topic: ruozedata        Partition: 2    Leader: 2       Replicas: 3,2,1 Isr: 2,1

 

[root@hadoop001 bin]#

Partition: 0

Leader: 1  指的是broker.id=1  读写

Replicas: 复制该分区数据的节点列表,第一位代表leader  静态表述

Isr: in-sync Replicas 正在复制的副本节点列表          动态表述

     当leader挂了,会从这个列表选举出leader

 

broker:Kafka实例的节点

 

producer: 生产者  flume/maxwell

consumer: 消费者  spark streaming/flink

 

producer ---> broker ---> consumer

 

一般生产上:

--replication-factor 3 --partitions 3

--partitions 取决于你的broker数量

 

--replication-factor 3 --partitions 3

kafka机器8个

 

It provides simple parallelism, 1:1 correspondence between Kafka partitions

and Spark partitions, and access to offsets and metadata.

 

虽然我们增加了分区数,提高kafka的写和读的吞吐量,但是假如一个集群多个topic,多个分区,

必然一台机器上有多个 ruozedata-0  test-0 jepson-0 ,就需要更多的文件数(进程数),那就要调优

 

consumer group:

一个消费组可以包含一个或多个消费者,分区只能被一个消费组的其中一个消费者去消费

正常在企业开发使用多分区方式去提高计算的能力

 

offset:偏移量

        消费时读取一个分区的文件的数据,数据所在的下标

 

分区: 有序

多个分区: 无序 (困扰) 无序改怎样解决? 生产上没有解决 坑

0: 1,2,3                                      

1: 7,8,9

3: 4,5,6

 

    1,2,3 7,8,9  4,5,6

record:key、 value(业务数据cretime字段)、 timestamp(生产者向broker的插入时间) ,offset   json格式

1.按timestamp(生产者向broker的插入时间) 排序

2.业务数据cretime字段  排序

 

spark不支持 DF排序会丢失一些信息offset 会导致一连串的无法做到 断点还原

apache jira

 

2.常用命令

2.1创建

bin/kafka-topics.sh --create \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka \

--replication-factor 3 --partitions 3 --topic test

 

2.2查看

bin/kafka-topics.sh --list \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka

 

2.3查看某个具体的topic

kafka-topics.sh --describe \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka \

--topic test

 

2.4删除topic

[root@hadoop002 kafka]# bin/kafka-topics.sh  --delete \

> --zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181 \

> --topic ruozedata

Topic ruozedata is marked for deletion.

Note: This will have no impact if delete.topic.enable is not set to true.

 

1.发送和接受数据的实验是否成功?  能

假删除:  

2.delete.topic.enable=true

  不生效

 

2.5 调大

bin/kafka-topics.sh --alter \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181 \

--partitions 2 --topic zp

 

bin/kafka-topics.sh --alter \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181 \

--partitions 4 --topic zp

 

kafka-topics.sh --describe \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181 \

--topic zp

 

3.监控

1.kafka eagle

https://github.com/smartloli/kafka-eagle

Version 1.2.1

*******************************************************************

* Kafka Eagle Service has started success!

* Welcome, Now you can visit 'http://<your_host_or_ip>:port/ke'

* Account:admin ,Password:123456

*******************************************************************

* <Usage> ke.sh [start|status|stop|restart|stats] </Usage>

* <Usage> http://ke.smartloli.org/ </Usage>

*******************************************************************

 

2.Grafana  kafka0.10不成功的  kafka0.8

prometheus kubernetes

           kafka

 

采集--》存储--》可视化

       ES/INFLUXDB

数据采集: Metricbeat  

数据存储: ES/INFLUXDB

数据可视化 Grafana: web dashborad

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值