kafka安装与测试

基于linux-Centos7.0环境先进行测试学习

Producer即生产者,向Kafka集群发送消息,在发送消息之前,会对消息进行分类,即Topic,
Topic即主题,通过对消息指定主题可以将消息分类,消费者可以只关注自己需要的Topic中的消息
Consumer即消费者,消费者通过与kafka集群建立长连接的方式,不断地从集群中拉取消息,然后可以对这些消息进行处理。

下载
    kafka官网 http://kafka.apache.org/downloads 下载到最新的kafka安装包
安装
    将二进制文件解压到指定目录
     tar -zxvf kafa_2.11.tgz -C /opt/module

运行
    kafka运行依赖于zookeeper,高版本内置zookeeper环境
     a.启动zookeeper环境
      bin/zookeeper-server-start.sh   config/zookeeper.properties
         启动后不要关闭终端 新建连接执行命令
     b.启动kafka进程
      bin/kafka-server-start.sh  config/server.properties
         注意保持进程状态活跃,新建终端执行操作
     c.新建连接 ,创建Topic
         kafka_2.11-2.0.0]$ bin/kafka-topics.sh  --create --zookeeper localhost:2181
                 --replication-factor 1 --partitions 1 --topic test
             replication-factor 副本的个数
             partitions 分区数目
             topic  主题名称
            
         查看已经创建的topic
         bin/kafka-topics.sh --list --zookeeper localhost:2181
     d.创建生产者
          bin/kafka-console-producer.sh  --broker-list localhost:9092 --topic test
             broker-list 生产者的唯一标示
             topic 消息主题名称
            
             >输入内容+Enter
     e.新建连接,创建消费者
         bin/kafka-console-consumer.sh  --bootstrap-server localhost:9092 --topic  test --from-beginning
             from-beginning 从一开始就接收
             显示 输入内容
            
kafka的存储,分区partitions,创建一个topic时,同时可以指定分区数目,分区数越多,其吞吐量也越大
kafka在接收到生产者发送的消息之后,会根据均衡策略将消息存储到不同的分区中。
生产者在向kafka集群发送消息的时候,可以通过指定分区来发送到指定的分区中
也可以通过指定均衡策略来将消息发送到不同的分区中
如果不指定,就会采用默认的随机均衡策略,将消息随机的存储到不同的分区中

kafka常用命令:
1.查看topic的详细信息
./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -topic testKJ1

2、为topic增加副本
./kafka-reassign-partitions.sh -zookeeper 127.0.0.1:2181 -reassignment-json-file json/partitions-to-move.json -execute

3、创建topic
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testKJ1

4、为topic增加partition
./bin/kafka-topics.sh –zookeeper 127.0.0.1:2181 –alter –partitions 20 –topic testKJ1

5、kafka生产者客户端命令
./kafka-console-producer.sh --broker-list localhost:9092 --topic testKJ1

6、kafka消费者客户端命令
./kafka-console-consumer.sh -zookeeper localhost:2181 --from-beginning --topic testKJ1

7、kafka服务启动
./kafka-server-start.sh -daemon ../config/server.properties

8、下线broker
./kafka-run-class.sh kafka.admin.ShutdownBroker --zookeeper 127.0.0.1:2181 --broker #brokerId# --num.retries 3 --retry.interval.ms 60
shutdown broker

9、删除topic
./kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic testKJ1 --zookeeper 127.0.0.1:2181
./kafka-topics.sh --zookeeper localhost:2181 --delete --topic testKJ1

10、查看consumer组内消费的offset
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group test --topic testKJ1
  ./kafka-consumer-offset-checker.sh --zookeeper 192.168.100.1:12181 --group group1 --topic group1

原文地址:https://www.cnblogs.com/jin-nuo/p/9480414.html