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. CF734E Anton and Tree

    \(\mathtt{CF734E}\) \(\mathcal{Description}\) 给一棵\(n(n\leq200000)\)个节点的树,每个点为黑色或白色,一次操作可以使一个相同颜色的连通块 ...

  2. Final 可重入锁 安全发布

    无状态对象(既不包含任何域,也不包含任何其他类中域的引用)一定是线程安全的. Final fianl域是不能修改的(但如果final域所引用的对象是可变的,那么这些被引用的对象是可变的) 除非需要可变 ...

  3. linux IPC socket

    套接字是通讯端点的抽象 创建一个套接字 #include <sys/types.h> #include <sys/socket.h> int socket(int domain ...

  4. Tyvj 1518 CPU监控(线段树)

    题目描述: Bob需要一个程序来监视CPU使用率.这是一个很繁琐的过程,为了让问题更加简单,Bob会慢慢列出今天会在用计算机时做什么事. Bob会干很多事,除了跑暴力程序看视频之外,还会做出去玩玩和用 ...

  5. 2018.12.26 考试(哈希,二分,状压dp)

    T1 传送门 解题思路 发现有一个限制是每个字母都必须相等,那么就可以转化成首尾的差值相等,然后就可以求出\(k-1\)位的差值\(hash\)一下.\(k\)为字符集大小,时间复杂度为\(O(nk) ...

  6. AcWing 204. 表达整数的奇怪方式 (线性同余方程组)打卡

    给定2n个整数a1,a2,…,ana1,a2,…,an和m1,m2,…,mnm1,m2,…,mn,求一个最小的整数x,满足∀i∈[1,n],x≡mi(mod ai)∀i∈[1,n],x≡mi(mod  ...

  7. 关于Kerberos协议流程的总结

    Kerberos协议工作原理分析 这里面借用一下师傅们的图来说明一下    Kerberos协议的流程大致如下(假设A要获取对Server B的访问权限) 第一步(KRB_AS_REQ) 这一步客户 ...

  8. PHP导出excel word的代码

    php导出为word原理 一般,有2种方法可以导出doc文档,一种是使用com,并且作为php的一个扩展库安装到服务器上,然后创建一个com,调用它的方法.安装过office的服务器可以调用一个叫wo ...

  9. cgroup & oom-killer 简介

    cgroup内存限制 memory.failcnt memory.limit_in_bytes memory.usage_in_bytes memory.max_usage_in_bytes memo ...

  10. CSS:CSS 轮廓(outline)

    ylbtech-CSS:CSS 轮廓(outline) 1.返回顶部 1. CSS 轮廓(outline) 轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用. ...