• kafka搭建


    依赖于zookeeper,先搭建好zookeeper

    集群部署

    1)解压安装包

    tar -zxvf kafka_2.11-0.11.0.0.tgz

    2)修改解压后的文件名称

    mv kafka_2.11-0.11.0.0/  /usr/local/kafka

    3)在/usr/local/kafka目录下创建logs文件夹

     mkdir logs

    4)修改配置文件

    cd config/

    vi server.properties

    #broker的全局唯一编号,不能重复

    broker.id=1

    #删除topic功能使能

    delete.topic.enable=true

    #处理网络请求线程数量

    num.network.threads=3

    #用来处理磁盘IO的现成数量

    num.io.threads=8

    #发送套接字的缓冲区大小

    socket.send.buffer.bytes=102400

    #接收套接字的缓冲区大小

    socket.receive.buffer.bytes=102400

    #请求套接字的缓冲区大小

    socket.request.max.bytes=104857600

    #kafka运行日志存放的路径

    log.dirs=/usr/local/kafka/logs

    #topic在当前broker上的分区个数

    num.partitions=1

    #用来恢复和清理data下数据的线程数量

    num.recovery.threads.per.data.dir=1

    #segment文件保留的最长时间,超时将被删除

    log.retention.hours=168

    #配置连接Zookeeper集群地址

    zookeeper.connect=zk1:2181,zk2:2181,zk3:2181

    5)配置环境变量

     vi /etc/profile

    #KAFKA_HOME

    export KAFKA_HOME=/usr/local/kafka

    export PATH=$PATH:$KAFKA_HOME/bin

    source /etc/profile

    6)其他节点部署

    scp server.properties zk2:/usr/local/kafka/config/ 

    scp /etc/profile zk2:/etc/

    其他节点的server.properties中broker.id=2、broker.id=3

    broker.id不得重复

    7)启动集群

    依次在zk1,zk2,zk3节点上启动kafka

     bin/kafka-server-start.sh -daemon config/server.properties

    8)关闭集群

     bin/kafka-server-stop.sh stop

    Kafka命令行操作

    1)查看当前服务器中的所有topic

     bin/kafka-topics.sh --zookeeper zk2:2181 --list

    2)创建topic

     bin/kafka-topics.sh --zookeeper zk2:2181

    --create --replication-factor 3 --partitions 1 --topic first

    选项说明:

    --topic 定义topic名

    --replication-factor  定义副本数

    --partitions  定义分区数,一般设置成broker的倍数

    3)删除topic

     bin/kafka-topics.sh --zookeeper zk2:2181

    --delete --topic first

    需要server.properties中设置delete.topic.enable=true否则只是标记删除。

    4)发送消息

    bin/kafka-console-producer.sh

    --broker-list zk1:9092 --topic first

    >hello world

    >atguigu  atguigu

    5)消费消息

     bin/kafka-console-consumer.sh

    --bootstrap-server zk3:9092 --from-beginning --topic first

    --from-beginning:会把主题中以往所有的数据都读取出来。

    6)查看某个Topic的详情

    bin/kafka-topics.sh --zookeeper zk3:2181

    --describe --topic first

    7)修改分区数

    bin/kafka-topics.sh --zookeeper zk3:2181 --alter --topic first --partitions 6

    Kafka Monitor

    1.上传jarKafkaOffsetMonitor-assembly-0.4.6.jar到集群

    2./usr/local/下创建kafka-offset-console文件夹

    3.将上传的jar包放入刚创建的目录下

    4./usr/local/kafka-offset-console目录下创建启动脚本start.sh,内容如下:

    #!/bin/bash

    java -cp KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar

    com.quantifind.kafka.offsetapp.OffsetGetterWeb

    --offsetStorage kafka

    --kafkaBrokers zk1:9092,zk2:9092,zk3:9092  kafka集群

    --kafkaSecurityProtocol PLAINTEXT  明文传输

    --zk zk1:2181,zk2:2181,zk3:2181  指定zk集群

    --port 8086  指定dashboard端口

    --refresh 10.seconds  10秒刷新

    --retain 2.days  数据保留2

    --dbName offsetapp_kafka &  指定db的名字 &在后台执行

    5./usr/local/kafka-offset-console目录下创建mobile-logs文件夹

    mkdir /usr/local/kafka-offset-console/mobile-logs

    6.启动KafkaMonitor

    ./start.sh

    7.登录页面zk1:8086端口查看详情

    编译kafka-manager-1.3.3.15.zip

    1. sbt安装

    curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo

    yum install -y sbt

    2. 下载 kafka-manager-1.3.3.15.zip

    https://github.com/yahoo/kafka-manager/releases 

    3.kafka-manager-1.3.3.15.zip解压并编译

    unzip kafka-manager-1.3.3.15.zip

    cd kafka-manager-1.3.3.15/

    sbt clean dist

    4.kafka-manager-1.3.3.15.zip编译结果文件目录

    kafka-manager-1.3.3.15/target/universal/kafka-manager-1.3.3.15.zip

    安装kafka-manager 每个节点都要装

    1.解压到/usr/local/

    2.修改配置文件conf/application.conf

    kafka-manager.zkhosts="kafka-manager-zookeeper:2181"

    修改为:

    kafka-manager.zkhosts="zk1:2181,zk2:2181,zk3:2181"

    3.启动kafka-manager 

    JMX_PORT=9988 bin/kafka-manager --daemon config/server.properties  先开启jmx监控

    bin/kafka-manager 开启kafka-manager

    4.登录zk1:9000页面查看详细信息

    设置集群

    cluseter zookeeper Hosts

    zk1:2181,zk2:2181,zk3:2181/NAMESPACE

    kafaka verison:0.9.0.1

    选上

    Enable JMX Polling (set JMX_PORT env variable before starting kafka server)  开启JMX监控

    Poll consumer information (Not recommended for large # of consumers)  监控消费者信息

  • 相关阅读:
    PHP 求多个数组的笛卡尔积,适用于求商品规格组合 【递归思想, 类似广度优先搜索】【原创】
    CCF推荐期刊会议
    SCI分区
    值和指针接收者的区别
    程序员练级攻略
    保险
    golang 有缓冲channel和无缓冲channel
    后台学习路线
    golang之反射
    atomic和mutex
  • 原文地址:https://www.cnblogs.com/leiwenbin627/p/11717348.html
Copyright © 2020-2023  润新知