zoukankan      html  css  js  c++  java
  • kafka单机部署、集群部署、命令实操

    单机部署

    安装配置zookeeper

    tar zxf zookeeper-3.4.10.tar.gz -C /usr
    cp zoo-sample.cfg zoo.cfg
    vi zoo.cfg
    	dataDir=/root/zkdata
    #启动
    ./bin/zkServer.sh start zoo.cfg
    #状态
    ./bin/zkServer.sh status
    #关闭
    ./bin/zkServer.sh stop
    

    安装配置kafka

    tar zxf kafka_2.11-2.2.0.tgz -C /usr
    vi config/server.properties
    	listeners=PLAINTEXT://node01:9092
    	log.dirs=/usr/kafka-logs
    	zookeeper.connect=node01:2181
    

    启动

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

    关闭

    ./bin/kafka-server-stop.sh 
    

    创建topic及相应分区和备份因子

    ./bin/kafka-topics.sh --bootstrap-server node01:9092 --create --topic topic01 --partitions 3 --replication-factor 1
    

    创建消费者(阻塞)

    ./bin/kafka-console-consumer.sh --bootstrap-server node01:9092 --topic topic01 --group group1
    

    创建生产者-进入交互

    ./bin/kafka-console-producer.sh --broker-list node01:9092 --topic topic01
    

    启动两个同组消费者,在生产者创建消息,可以发现消息被同组消费者瓜分消费

    启动两个不同组消费者,在生产者创建消息,可以发现消息被广播至不同组消费者

    集群部署

    创建另外两个节点node02,node03

    配置启动zookeeper

    vi zoo.cfg
    	server.1=node01:2888:3888
    	server.2=node02:2888:3888
    	server.3=node03:2888:3888
    
    

    配置zkid

    #node01
    echo 1 > /root/zkdata/myid
    #node02
    echo 2 > /root/zkdata/myid
    #node03
    echo 3 > /root/zkdata/myid
    

    启动zk集群

    ./bin/zkServer.sh start zoo.cfg
    

    配置启动kafka

    vi ./config/server.properties
            zookeeper.connect=node01:2181,node02:2181,node03:2181
    #start
    ./bin/kafka-server-start.sh -daemon config/server.properties
    

    创建topic及相应分区和备份因子(使用集群服务,创建备份2)

    ./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --create --topic topic01 --partitions 3 --replication-factor 2
    

    查看list

    ./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --list
    

    查看分区互相备份情况

    ./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --describe --topic topic01
    

    修改分区数(只能增、不能减)

    ./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --alter --topic topic01 --partitions 4
    

    删除topic

    ./bin/kafka-topics.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --delete --topic topic02
    

    创建消费者(阻塞)

    ./bin/kafka-console-consumer.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --topic topic01 --group group1
    
    #添加打印属性
    ./bin/kafka-console-consumer.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --topic topic01 --group group1 --property print.key=true --property print.value=true --property key.separator=.
    
    #查看组列表
    ./bin/kafka-consumer-groups.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --list
    
    #查看组详细
    ./bin/kafka-consumer-groups.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --describe --group group1
    

    创建生产者-进入交互

    ./bin/kafka-console-producer.sh --broker-list node01:9092,node02:9092,node03:9092 --topic topic01
    
  • 相关阅读:
    Linux 3.2中回写机制的变革
    Linux字符设备与块设备的区别与比较
    分布式文件系统:原理、问题与方法
    为什么说B+-tree比B 树更适合实际应用中操作系统的文件索引和数据库索引?
    Linux IO barrier
    磁盘IO:缓存IO与直接IO
    【珍藏】高性能IO模型浅析
    souretree+上面提交代码和gerrit上面出现Cannot+merge的时候的解决方法
    vscode快速生成自定义HTML模板
    在jq里面设置样式的高度height、设置隐藏和显示的小功能
  • 原文地址:https://www.cnblogs.com/wod-Y/p/13456026.html
Copyright © 2011-2022 走看看