• 消息中间件--kafka(1)安装部署


    一、概念

    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参数,所以会把过往消息也显示,省略该参数,即可不显示历史消息就!



  • 相关阅读:
    洛谷 1850 NOIP2016提高组 换教室
    2018牛客多校第三场 C.Shuffle Cards
    2018牛客多校第一场 B.Symmetric Matrix
    2018牛客多校第一场 A.Monotonic Matrix
    2018牛客多校第一场 D.Two Graphs
    2018宁夏邀请赛L Continuous Intervals
    2018宁夏邀请赛K Vertex Covers
    BZOJ
    HDU
    ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (ECPC 2015)
  • 原文地址:https://www.cnblogs.com/lfhappy/p/11675155.html
Copyright © 2020-2023  润新知