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.将zookeeper集群启动
4.在每一台节点上启动broker
bin/kafka-server-start.sh config/server.properties
#5.自带zookeeper,用于单节点,一般集群不用
#bin/zookeeper-server-start.sh config/zookeeper.proterties

开始安装
1.下载解压

[linyouyi@hadoop01 software]$ wget https://mirrors.aliyun.com/apache/kafka/2.2.0/kafka_2.11-2.2.0.tgz
[linyouyi@hadoop01 software]$ tar -zxvf kafka_2.-2.2..tgz -C /hadoop/module/

2.修改配置文件

[linyouyi@hadoop01 software]$ cd /hadoop/module/
[linyouyi@hadoop01 module]$ ll
total
drwxrwxr-x linyouyi linyouyi Aug : apache-storm-2.0.
drwxr-xr-x linyouyi linyouyi Aug : hadoop-2.7.
drwxrwxr-x linyouyi linyouyi Aug : hbase-2.0.
drwxr-xr-x linyouyi linyouyi Jul jdk1..0_144
drwxr-xr-x linyouyi linyouyi Mar : kafka_2.-2.2.
drwxr-xr-x linyouyi linyouyi Aug : zookeeper-3.4.
[linyouyi@hadoop01 kafka_2.-2.2.]$ vim config/server.properties
broker.id=
log.dirs=/hadoop/kafka_2.-2.2./log/kafka-logs
zookeeper.connect=hadoop01:,hadoop02:,hadoop03:

3.拷贝到其他节点

[linyouyi@hadoop01 kafka_2.-2.2.]$ cd ../
[linyouyi@hadoop01 module]$ scp -r kafka_2.-2.2./ linyouyi@hadoop02:/hadoop/module/
[linyouyi@hadoop01 module]$ scp -r kafka_2.-2.2./ linyouyi@hadoop03:/hadoop/module/

4.修改另外两台的broker.id

[linyouyi@hadoop02 kafka_2.-2.2.]$ vim config/server.properties
broker.id=
[linyouyi@hadoop03 kafka_2.-2.2.]$ vim config/server.properties
broker.id=

5.启动kafka

[linyouyi@hadoop01 kafka_2.-2.2.]$ bin/kafka-server-start.sh -deamon config/server.properties
[linyouyi@hadoop01 kafka_2.-2.2.]$ jps
Jps
QuorumPeerMain
Kafka
[linyouyi@hadoop02 kafka_2.-2.2.]$ bin/kafka-server-start.sh -deamon config/server.properties
[linyouyi@hadoop02 kafka_2.-2.2.]$ jps
Jps
Kafka
QuorumPeerMain
[linyouyi@hadoop03 kafka_2.-2.2.]$ bin/kafka-server-start.sh -deamon config/server.properties
[linyouyi@hadoop03 kafka_2.-2.2.]$ jps
QuorumPeerMain
Jps
Kafka

使用
1.创建话题
//hadoop01:9092,hadoop02:9092,hadoop03:9092都行

[linyouyi@hadoop03 kafka_2.-2.2.]$ bin/kafka-topics.sh --create --bootstrap-server hadoop01: --replication-factor  --partitions  --topic linyouyi
[-- ::,] INFO [ReplicaFetcherManager on broker ] Removed fetcher for partitions Set(linyouyi-) (kafka.server.ReplicaFetcherManager)
[-- ::,] INFO [Log partition=linyouyi-, dir=/tmp/kafka-logs] Loading producer state till offset with message format version (kafka.log.Log)
[-- ::,] INFO [Log partition=linyouyi-, dir=/tmp/kafka-logs] Completed load of log with segments, log start offset and log end offset in ms (kafka.log.Log)
[-- ::,] INFO Created log for partition linyouyi- in /tmp/kafka-logs with properties {compression.type -> producer, message.format.version -> 2.2-IV1, file.delete.delay.ms -> , max.message.bytes -> , min.compaction.lag.ms -> , message.timestamp.type -> CreateTime, message.downconversion.enable -> true, min.insync.replicas -> , segment.jitter.ms -> , preallocate -> false, min.cleanable.dirty.ratio -> 0.5, index.interval.bytes -> , unclean.leader.election.enable -> false, retention.bytes -> -, delete.retention.ms -> , cleanup.policy -> [delete], flush.ms -> , segment.ms -> , segment.bytes -> , retention.ms -> , message.timestamp.difference.max.ms -> , segment.index.bytes -> , flush.messages -> }. (kafka.log.LogManager)
[-- ::,] INFO [Partition linyouyi- broker=] No checkpointed highwatermark is found for partition linyouyi- (kafka.cluster.Partition)
[-- ::,] INFO Replica loaded for partition linyouyi- with initial high watermark (kafka.cluster.Replica)
[-- ::,] INFO Replica loaded for partition linyouyi- with initial high watermark (kafka.cluster.Replica)
[-- ::,] INFO Replica loaded for partition linyouyi- with initial high watermark (kafka.cluster.Replica)
[-- ::,] INFO [Partition linyouyi- broker=] linyouyi- starts at Leader Epoch from offset . Previous Leader Epoch was: - (kafka.cluster.Partition) [linyouyi@hadoop03 kafka_2.-2.2.]$ bin/kafka-topics.sh --list --bootstrap-server localhost:
linyouyi
[linyouyi@hadoop03 kafka_2.-2.2.]$ bin/kafka-topics.sh --list --bootstrap-server hadoop01:
linyouyi
[linyouyi@hadoop03 kafka_2.-2.2.]$ bin/kafka-topics.sh --list --zookeeper hadoop01:
linyouyi
[linyouyi@hadoop03 kafka_2.-2.2.]$ bin/kafka-topics.sh --create --bootstrap-server hadoop01: --replication-factor --partitions --topic youyi
[linyouyi@hadoop03 kafka_2.-2.2.]$ bin/kafka-topics.sh --list --zookeeper hadoop01:
linyouyi
youyi

2.生产者往话题里面写消息

[linyouyi@hadoop03 kafka_2.-2.2.]$ bin/kafka-console-producer.sh --broker-list localhost: --topic linyouyi>This is a message
>This is another message

3.消费者立马消费消息

[linyouyi@hadoop02 kafka_2.-2.2.]$ bin/kafka-console-consumer.sh --bootstrap-server localhost: --topic linyouyi --from-beginning
This is a message
This is another message

4.接着在生产者继续写话题,消费者立马就消费了

5.查看topic linyouyi总体情况

[linyouyi@hadoop01 kafka_2.-2.2.]$ bin/kafka-topics.sh --describe --bootstrap-server localhost: --topic linyouyi
Topic:linyouyi PartitionCount: ReplicationFactor: Configs:segment.bytes=
Topic: linyouyi Partition: Leader: Replicas: ,, Isr: ,,
[linyouyi@hadoop01 kafka_2.-2.2.]$ bin/kafka-topics.sh --describe --bootstrap-server localhost: --topic youyi
Topic:youyi PartitionCount: ReplicationFactor: Configs:segment.bytes=
Topic: youyi Partition: Leader: Replicas: ,, Isr: ,,

kafka集群安装和使用的更多相关文章

  1. kafka集群安装部署

    kafka集群安装 使用的版本 系统:centos6.5 centos6.7 jdk:1.7.0_79 zookeeper:3.4.9 kafka:2.10-0.10.1.0 一.环境准备[只列,不具 ...

  2. zookeeper+kafka集群安装之二

    zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...

  3. zookeeper+kafka集群安装之一

    zookeeper+kafka集群安装之一 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置如下: $ cat /etc/hosts ... # zookeeper hostnames ...

  4. zookeeper+kafka集群安装之中的一个

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/cheungmine/article/details/26678877 zookeeper+kafka ...

  5. KafKa集群安装详细步骤

    最近在使用Spring Cloud进行分布式微服务搭建,顺便对集成KafKa的方案做了一些总结,今天详细介绍一下KafKa集群安装过程: 1. 在根目录创建kafka文件夹(service1.serv ...

  6. Kafka 集群安装

    Kafka 集群安装 环境: Linux 7.X kafka_2.x 在linux操作系统中,kafka安装在 /u04/app目录中 1. 下载 # wget https://mirrors.cnn ...

  7. KafKa集群安装、配置

    一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...

  8. Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装

    Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...

  9. (Linux环境Kafka集群安装配置及常用命令

    Linux环境Kafka集群安装配置及常用命令 Kafka 消息队列内部实现原理 Kafka架构 一.下载Kafka安装包 二.Kafka安装包的解压 三.设置环境变量 四.配置kafka文件 4.1 ...

  10. Kafka集群安装Version1.0.1(自带Zookeeper)

    1.说明 Kafka集群安装,基于版本1.0.1, 使用kafka_2.12-1.0.1.tgz安装包, 其中2.12是编译工具Scala的版本. 而且不需要另外安装Zookeeper服务, 使用Ka ...

随机推荐

  1. HashMap的hash分析

    哈希 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空 ...

  2. IT类影视

    1.爱奇艺 代码(The Code) 2.爱奇艺 操作系统革命(Revolution OS) 3.爱奇艺 互联网之子 4.爱奇艺 深网

  3. nodejs的桌面应用(electron)

    最近发现nodejs可以做桌面应用,主要是之前的同事在搞,我也要稍微研究下不能落后啊,基于nodejs的桌面应用,常用的就是nw.js和electron,nw出的比较早,资料比较多,bug也很多,它的 ...

  4. Delphi获取指定文件的版本号

    获取指定文件的版本号 方式一: function GetFileVersion(FileName: string): string; type PVerInfo = ^TVS_FIXEDFILEINF ...

  5. Yii2的一些问题

    Yii2中删除能不能串着用 Yii2中find.findAll有什么区别 Yii2中User::findOne($id)和User::find->where(['id'=>1])-> ...

  6. 思维+贪心——cf1042D

    /* 首先考虑从后往前计算lis,显然0的在很多情况下的贡献要大于1 如果遇上0,那么lis++,如果遇上1,那么cnt1++,并且用cnt1更新lis 这样的贪心保证正确,因为从[i,j]这一段的l ...

  7. delphi 下载

    获取网络文件大小 //delphi 获取网络文件大小 function GetUrlFileSize(aURL: string): integer; var FileSize: integer; va ...

  8. Codeforces ~ 1009C ~ Annoying Present (贪心)

    题意 一个长度为n的数组(初始全为0),进行m次操作. 操作:给你x,d,你任意挑选一个 i (1~n),每个数字加上 x+|i-j|*d( j 表示对应数字的下标) 问m次操作后的最大算术平均值为多 ...

  9. 牛客Another Distinct Values

    题目 我一开始试了一下n=3,发现不行,于是就猜测只有2可以,交了一发,通过了50%.所以我猜测只有偶数可以,奇数都不行. 中间空白部分放n=2的情况就行.因为n=2的情况时,最大只有2,所以我们可以 ...

  10. linux浏览器,邮件客户端,输入法,双屏设置,应用软件,gnome-screenshot/scrot -s截图,office

    搜狗输入法linux版:http://pinyin.sogou.com/linux/help.php win/linux同时支持比较好用的浏览器:maxthon,firefox,maxthon,ope ...