一、概念

1、什么是kafka

Kafka是由Apache软件基金会开发的一个开源的分布式流处理平台,由LinkedIn公司开发,使用 ScalaJava编写。Kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),它可以处理消费者在网站中的所有动作流数据。

  • Kafka在一个或多个可以跨越多个数据中心的服务器上作为集群运行。

  • Kafka集群将记录流存储在称为topic的类别中。

  • 每个记录由一个键,一个值和一个时间戳组成。

2、流平台具有三个关键功能:

  • 发布和订阅记录流,类似于消息队列或企业消息传递系统。

  • 以容错的持久方式存储记录流。

  • 处理记录流。

3、解决什么问题

Kafka主要设计目标如下:

  • 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。

  • 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。

  • 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。

  • 同时支持离线数据处理和实时数据处理。

  • Scale out:支持在线水平扩展

Kafka通常用于两大类应用程序:

  • 建立实时流数据管道,以可靠地在系统或应用程序之间获取数据

  • 构建实时流应用程序以转换或响应数据流

4、在Kafka中,客户端和服务器之间的通信是通过简单,高性能,与语言无关的TCP协议完成的。该协议已版本化,并与旧版本保持向后兼容性。提供了Java客户端,但是客户端支持多种语言

二、安装部署kafka

下载地址:http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz

kafka最为重要三个配置依次为:broker.id、log.dir、zookeeper.connect,kafka server端config/server.properties参数

vim config/server.properties

·公布访问地址和端口

advertised.listeners=PLAINTEXT://192.168.3.100:9092

配置zookeeper

默认localhost:2181,如果是其他的zookeeper改为相应地址

zookeeper.connect=localhost:2181

启动kafka

[root@node1 bin]# ./kafka-server-start.sh ../config/server.properties

注:此方法为前台启动,若需要后台启动,则在上面命令的最后加上 &

检测是否启动 netstat -tunlp | egrep "(2181|9092)"

测试发送信息和消费消息

创建主题

[root@node1 bin]# ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

启动生产者

[root@node1 bin]#./kafka-console-producer.sh --broker-list localhost:9092 --topic test

启动消费者

[root@node1 bin]#./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

生产者发布消息

[root@node1 bin]# ./kafka-console-producer.sh --broker-list localhost:9092 --topic test
>is successfully
>good night
>

消费者接收到消息

[root@node1 bin]# ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
hallo
;
你好
is successfully
good night

注:消费者中会出现一些历史消息

  由于启动添加了--from-beginning参数,所以会把过往消息也显示,省略该参数,即可不显示历史消息就!



消息中间件--kafka(1)安装部署的更多相关文章

  1. kafka 的安装部署

    Kafka 的简介: Kafka 是一款分布式消息发布和订阅系统,具有高性能.高吞吐量的特点而被广泛应用与大数据传输场景.它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Ap ...

  2. 消息中间件之zookper安装部署

    消息中间件之zookper安装部署jdk可以在官网或者网上下载[root@q tools]# chmod 755 jdk-8u40-linux-x64.rpm [root@q tools]# rpm ...

  3. Kafka Manager安装部署及使用

     为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.本文对其进行部署配置,并安装配置kafkatool对k ...

  4. 【kafka】安装部署kafka集群(kafka版本:kafka_2.12-2.3.0)

    3.2.1 下载kafka并安装kafka_2.12-2.3.0.tgz tar -zxvf kafka_2.12-2.3.0.tgz 3.2.2 配置kafka集群 在config/server.p ...

  5. 4.kafka的安装部署

    为了安装过程对一些参数的理解,我先在这里提一下kafka一些重点概念,topic,broker,producer,consumer,message,partition,依赖于zookeeper, ka ...

  6. Kafka介绍及安装部署

    本节内容: 消息中间件 消息中间件特点 消息中间件的传递模型 Kafka介绍 安装部署Kafka集群 安装Yahoo kafka manager kafka-manager添加kafka cluste ...

  7. Kafka概述及安装部署

    一.Kafka概述 1.Kafka是一个分布式流媒体平台,它有三个关键功能: (1)发布和订阅记录流,类似于消息队列或企业消息传递系统: (2)以容错的持久方式存储记录流: (3)记录发送时处理流. ...

  8. Linux下单机安装部署kafka及代码实现

    技术交流群:233513714 这几天研究了kafka的安装及使用,在网上找了很多教程但是均以失败告终,直到最后想起网络方面的问题最终才安装部署成功,下面就介绍一下kafka的安装部署及代码实现 一. ...

  9. Kafka Eagle安装详情及问题解答

    1.概述 最近有很多同学给笔者留言,说在安装Kafka Eagle的时候,会遇到一些问题,请教如何解决?今天笔者就在这里总结一下安装步骤,和一些安装的注意事项,以及解决方式. 2.内容 在安装Kafk ...

随机推荐

  1. Linux内存:物理内存管理概述

    内存中的物理内存管理 概述 一般来说,linux内核一般将处理器的虚拟地址空间划分为2部分.底部比较大的部分用于用户进程,顶部则专用于内核. 在IA-32系统上,地址空间在用户进程和内核之间划分的典型 ...

  2. Nginx Server 上80,443端口。http,https共存

    server{ listen 80; listen 443 ssl; server_name www.iamle.com; index index.html index.htm index.php; ...

  3. centos v7.0解决乱码

    [root@localhost ~]# ll 鎬荤敤閲4-rw-------. 1 root root 1045 8鏈 24 21:17 anaconda-ks.cfg [root@localhost ...

  4. DSP28335 eCAP 测频

    F28335共有6组eCAP模块,每个eCAP不但具有捕获功能,而且还可用作PWM输出功能.F28335捕获模块的主要特征如下: 1. 150MHz系统时钟的情况下,32位时基的时间分辨率为6.67n ...

  5. Robots协议一定放在网站根目录下

    一.网络爬虫的尺寸 1.以爬取网页,玩转网页为目的进行小规模,数据量小对爬取速度不敏感的可以使用request库实现功能(占90%) 2.以爬取网站或爬取系列网站为目的,比如说获取一个或多个旅游网站的 ...

  6. 详解MySql的配置文件my.cnf

    1.Windows下MySQL的配置文件是my.ini,一般会在安装目录的根目录. 2.Linux下MySQL的配置文件是my.cnf,一般会放在/etc/my.cnf,/etc/mysql/my.c ...

  7. 【Linux 网络编程】TCP/IP四层模型

    应用层.传输层.网络层.链路层 链路层:常用协议 ARP(将物理地址转化为IP地址) RARP(将IP地址转换为物理地址) 网络层(IP层):重要协议ICMP IP IGMP 传输层:重要的协议TCP ...

  8. tf-图像预处理

    tensorflow 中自带了很多图像处理的方法,基本都在 tf.image 模块中,虽然不如 opencv 强大,但也比较常用,这里做个记录. 图像编解码 1. 用 tf 的方法读取图片后,都需要进 ...

  9. PostgreSQL-临时表空间与配置表

    虽然我给数据库创建了表空间,但是操作中仍遇到了些问题,需要创建临时表空间. 配置表 首先了解下 postgres 的配置表,手动修改各种配置. 打开即可看到各种配置,包括临时表空间. 临时表空间 1. ...

  10. [..net core]4.入口,Main方法 及InProcess

    通常控件台程序都有一个main方法, public class Program { public static void Main(string[] args) { CreateWebHostBuil ...