美文网首页
kafka安装配置

kafka安装配置

作者: 卡门001 | 来源:发表于2021-09-01 08:47 被阅读0次

    Kafka是一个分布式数据流平台,可以运行在单台服务器上,也可以在多台服务器上部署形成集群。它提供了发布和订阅功能,使用者可以发送数据到Kafka中,也可以从Kafka中读取数据(以便进行后续的处理)。Kafka具有高吞吐、低延迟、高容错等特点。下面介绍一下Kafka中常用的基本概念:

    默认端口: zk:2181 kafka:9092

    kafka安装配置

    下载与解压

    wget https://dlcdn.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
    tar zxvf kafka_2.13-2.8.0.tgz
    

    设置环境变量
    /etc/profiles

    # 让环境变量生效 source /etc/profile
    KAFKA_HOME=/opt/kafka_2.13-2.8.0
    PATH=$PATH:$KAFKA_HOME/BIN
    

    修改config/zookeeper.properties配置

    #12181
    clientPort=12181
    

    修改配置 server.properties

    broker.id=0  
    #默认9092
    port=19093
    #log.dir: meta.properties中有ClusterId与logs/server.log提示不一致,会报错
    log.dirs=/tmp/kafka-logs
    advertised.listeners=PLAINTEXT://localhost:9092
    zookeeper.connect=localhost:12181
    

    启动

    cd kafka_2.13-2.8.0
    # 启动zk,如端口冲突,请修改
    bin/zookeeper-server-start.sh config/zookeeper.properties  1>/dev/null 2>&1 & 
    # 启动kafka
    bin/kafka-server-start.sh config/server.properties   1>/dev/null 2>&1 & 
    

    Kafka Web端管理界面Cmak安装配置

    # 下载
    wget https://github.com/yahoo/CMAK/releases/download/3.0.0.5/cmak-3.0.0.5.zip
    
    # conf/application.conf
    kafka-manager.zkhosts="localhost:12181"
    kafka-manager.zkhosts=${?ZK_HOSTS}
    cmak.zkhosts="localhost:2181"
    cmak.zkhosts=${?ZK_HOSTS}
    basicAuthentication.enabled=true #默认为false,改为true
    bin/cmak -Dconfig.file=conf/application.conf -Dhttp.port=18080
    
    # 启动,需要jdk11
    bin/cmak -Dconfig.file=conf/application.conf -Dhttp.port=18080 -java-home /opt/jdk-11.0.11
    
    浏览访问:
    http://...18080/  
    - 需要手工添加ip与端口
    

    命令操作

    创建Topic:kafka-topics.sh --create --zookeeper localhost:12181 --replication-factor 1 --partitions 1 --topic pk1
    
    # 模拟生产者发消息
    kafka-console-producer.sh --broker-list localhost:9092 --topic pk1
    #模拟消费者收消息
    kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic pk1
    

    术语

    • Broker
      消息队列中常用的概念,在Kafka中指部署了Kafka实例的服务器节点。
      broker.id申明当前kafka服务器在集群中的唯一ID

    • Topic
      用来区分不同类型信息的主题。比如应用程序A订阅了主题t1,应用程序B订阅了主题t2而没有订阅t1,那么发送到主题t1中的数据将只能被应用程序A读到,而不会被应用程序B读到。

    • Partition
      每个topic可以有一个或多个partition(分区)。分区是在物理层面上的,不同的分区对应着不同的数据文件。Kafka使用分区支持物理上的并发写入和读取,从而大大提高了吞吐量。

    • Record
      实际写入Kafka中并可以被读取的消息记录。每个record包含了key、value和timestamp。

    • Producer
      生产者,用来向Kafka中发送数据(record)。

    • Consumer
      消费者,用来读取Kafka中的数据(record)。

    • Consumer Group
      一个消费者组可以包含一个或多个消费者。使用多分区+多消费者方式可以极大提高数据下游的处理速度。

    • Partition Leader
      每个 partition 有多个副本,其中有且仅有一个作为 Leader,Leader 是当前负责消息读写的partition。即所有读写操作只能发生于 Leader 分区上。

    • Partition Follower
      所有 Follower 都需要从 Leader 同步消息,Follower 与 Leader 始终保持消息同步。partition leader 与 follower 是主备关系,而非主从。

    • offset
      偏移量。每条消息都有一个当前 Partition 下唯一的 64 字节的 offset,它是相对于当前分区第一条消息的偏移量。

    • Broker Controller
      Kafka 集群的多个 broker 中,有一个会被选举为 controller,负责管理整个集群中 partition和副本 replicas 的状态。当 partition leader 宕机后,broker controller 会从 ISR 中选举出一个 Follower 做为新的leader。所谓选举就是从 ISR 中找到第一个 Follower,直接让其当选新的 leader。Broker Controller 是由 zk 选举出来的。

    • Zookeeper

    • Coordinator

    相关文章

      网友评论

          本文标题:kafka安装配置

          本文链接:https://www.haomeiwen.com/subject/amntwltx.html