• ELK安装、部署、调试(四)KAFKA消息队列的安装和部署


    1.简介

    Kafka是一种高吞吐量分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    Kafka [1]  是一种高吞吐量 [2]  的分布式发布订阅消息系统,有如下特性:

    通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

    高吞吐量 [2]  :即使是非常普通的硬件Kafka也可以支持每秒数百万 [2]  的消息。

    1.1 使用消息队列好处
    1)、提高扩展性:因为消息队列解耦了处理过程,有新增需求时只要另外增加处理过程即可。

    2)、提高峰值处理能力:在访问量剧增的情况下,应用仍然需要继续发挥作用。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷请求而完全崩溃;

    3)、提高系统的可恢复性:消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统回复后被处理
    1.2 kafka的结构

    • Producer:消息生产者,产生的消息将会被发送到某个topic
    • Consumer:消息消费者,消费的消息内容来自某个topic
    • Topic:消息根据topic进行归类,topic其本质是一个目录,即将同一主题消息归类到同一个目录
    • Broker:每一个kafka实例(或者说每台kafka服务器节点)就是一个broker,一个broker可以有多个topic

    2.下载

    获取我的baidu网盘中ELK
    kafka.apache.org 官方网址
    由于我下载的filebeat是7.9.3,与这个版本filebeat配合的kafka版本为0.11--2.2.2
    https://www.elastic.co/guide/en/beats/filebeat/7.9/kafka-output.html 这里有说明。

    1. Compatibility
    2. This output works with all Kafka versions in between 0.11 and 2.2.2. Older versions might work as well, but are
    3. not supported.

    3.安装

    tar zxvf kafka_2.11-2.0.1.tgz -C /usr/local
    ls
    cd /usr/local/
    mv kafka_2.11-2.0.1 kafka
    ./bin 执行文件
    ./config 配置文件主配置文件为 server.properties

    4.配置

    vi server.properties

    1. broker.id=0 集群内的唯一标识
    2. listeners=PLAINTEXT://ip[或者主机名]:9092          #配置监听端口  9092位kafka默认端口
    3. log.dirs=/usr/local/kafka/logs      #日志及传输的数据存放目录可以通过“,”分隔存放到多个目录,如
    4. log.dirs=/data1,/data2
    5. num.partitions=6  #定义新的topic有多少个分区
    6. num.retention.hours=60  消息日志保留的时间,单位是小时
    7. #num.retention.minutes 或者num.retention.ms,可以多个参数同时设置,时间最小生效
    8. log.segment.bytes=1073741824  每个段文件的大小,1G为默认值,topic--partition--segement
    9. zookeeper.connect=10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181
    10. auto.create.topics.enable=true  #可以自动创建topics
    11. delete.topic.enable=true  #可以自动删除空闲的topics,是逻辑的删除,非物理删除。
    12. zookeeper.connect.timeout.ms=6000

    mkdir /data1
    mkdir /data2

    5.启动kafka 

    1. cd /usr/local/kafka
    2. ./bin/kafka-server-start.sh ./config/server.properties -d      #-d 后台执行
    3. 或者nohup ./kafka-server-start.sh ../config/server.properties &

    启动时可能会报错,注意关闭服务器的防火墙

    jps查看

    1. [root@localhost kafka]# jps
    2. 23696 Kafka
    3. 9271 QuorumPeerMain
    4. 24077 Jps

    kafka提供了多个命令来查看,创建,修改,删除topic信息,也可以通过命令来测试日志消息
    命令存放路径为usr/local/kafka/bin

    [root@localhost bin]# pwd
    /usr/local/kafka/bin

    1. [root@localhost bin]# ls
    2. connect-distributed.sh        kafka-consumer-groups.sh     kafka-preferred-replica-election.sh  kafka-streams-
    3. application-reset.sh  zookeeper-server-start.sh
    4. connect-standalone.sh         kafka-consumer-perf-test.sh  kafka-producer-perf-test.sh          kafka-topics.sh  
    5.                    zookeeper-server-stop.sh
    6. kafka-acls.sh                 kafka-delegation-tokens.sh   kafka-reassign-partitions.sh         kafka-
    7. verifiable-consumer.sh        zookeeper-shell.sh
    8. kafka-broker-api-versions.sh  kafka-delete-records.sh      kafka-replica-verification.sh        kafka-
    9. verifiable-producer.sh
    10. kafka-configs.sh              kafka-dump-log.sh            kafka-run-class.sh                   trogdor.sh
    11. kafka-console-consumer.sh     kafka-log-dirs.sh            kafka-server-start.sh                windows
    12. kafka-console-producer.sh     kafka-mirror-maker.sh        kafka-server-stop.sh                 zookeeper-
    13. security-migration.sh

    例子:kafka的任何操作都需要zookeeper
    查看有多少个topic

    ./kafka-topics.sh  --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181 --list

    创建topic

    1. ./kafka-topics.sh  --create --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181 --replication-factor
    2. 1 --partitions 3 --topic mytopic

    实例:

    1. [root@localhost bin]# ./kafka-topics.sh  --create --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181
    2. --replication-factor 1 --partitions 3 --topic mytopic
    3. Created topic "mytopic".
    4. [root@localhost bin]# ./kafka-topics.sh  --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181 --list  
    5.            mytopic
    6. [root@localhost bin]#

    看看topic的具体信息

    1. ./kafka-topics.sh  --describe --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181  --topic mytopic
    2. [root@localhost bin]# ./kafka-topics.sh  --describe --zookeeper
    3. 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181  --topic mytopic
    4. Topic:mytopic   PartitionCount:3        ReplicationFactor:1     Configs:
    5.         Topic: mytopic  Partition: 0    Leader: 1       Replicas: 1     Isr: 1
    6.         Topic: mytopic  Partition: 1    Leader: 2       Replicas: 2     Isr: 2
    7.         Topic: mytopic  Partition: 2    Leader: 3       Replicas: 3     Isr: 3

    消费信息
    交互式的生成消息到topic mytopic中

    ./kafka-console-producer.sh  --broker-list 10.10.10.71:9092,10.10.10.72:9092,10.10.10.73:9092 --topic mytopic


    ctrl +c  结束查看消费消息

    1. ./kafka-console-consumer.sh  --bootstrap-server 10.10.10.71:9092,10.10.10.72:9092,10.10.10.73:9092 --topic
    2. mytopic
    3. ./kafka-console-consumer.sh  --bootstrap-server 10.10.10.71:9092,10.10.10.72:9092,10.10.10.73:9092 --topic
    4. mytopic
    5.  --from-beginning  #从头开始消费

    删除topic

    1. [root@localhost bin]# ./kafka-topics.sh  --delete --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181
    2. --topic mytopic
    3. [root@localhost bin]# ./kafka-topics.sh  --delete --zookeeper 10.10.10.71:2181,10.10.10.72:2181,10.10.10.73:2181
    4. --topic mytopic
    5. Topic mytopic is marked for deletion.
    6. Note: This will have no impact if delete.topic.enable is not set to true.


     

  • 相关阅读:
    WPF 控件专题 Menu 控件详解
    JDBC常见面试题
    .NET快速实现网页数据抓取
    java计算机毕业设计家庭安防系统MyBatis+系统+LW文档+源码+调试部署
    Simulink|用于光伏系统最大功率点跟踪(MPPT)的极值寻道控制(ESC)【采用极值寻道控制算法求解非线性函数的最大/最小点】
    11月编程排行榜来了,Python依旧占据榜首
    zabbix部署和简单使用
    (附源码)php初中历史专题教学网站 毕业设计 100623
    连接数据库
    Linux 内核(Kernel)组成分析
  • 原文地址:https://blog.csdn.net/ly4983/article/details/132584170