kafka_1 安装以及基本操作

kafka1

标签(空格分隔): java kafka


简介

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

主要应用场景是:日志收集系统和消息系统。

Kafka主要设计目标如下:

  • 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。
  • 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。
  • 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。
  • 同时支持离线数据处理和实时数据处理。
  • Scale out:支持在线水平扩展

安装

http://kafka.apache.org/downloads

mkdir -p /server/
解压 tar -xf kafka -C /server/

kafka 配置

kafka的主配置文件

server.properties

集群的唯一标识

broker.id=0

kafka 监听端口

listeners=PLAINTEXT://10.0.0.58:9092

log 日志存放 存放数据

log.dirs=/server/kafka_2.12-2.2.2/data

topic的分区 最好根据消费者数量<=

num.partitions=6

日志保存时间 消息的保存时间 单位可以是 log.retention.ms log.retention.minutes

log.retention.hours=168

每个partitions 的最大大小

log.segment.bytes=1073741824

zookeeper的链接

zookeeper.connect=10.0.0.58:2181,10.0.0.59:2181,10.0.0.60:2181

自动创建topics 没有就创建

auto.create.topics.enable=true

是否打开 自动 删除topic的功能

delete.topic.enable=true

kafka zookeeper的主配置文件

zookeeper.properties

启动

前端启动
./kafka-server-start.sh ../config/server.properties

后端启动 直接使用nohup
nohup ./kafka-server-start.sh ../config/server.properties &

查看启动状态

jps

可以查看到kafka的java进程

常用的操作

查看话题 topic

./kafka-topics.sh --zookeeper 10.0.0.58:2181,10.0.0.59:2181,10.0.0.60:2181 --list

创建话题 topic

./kafka-topics.sh --create --zookeeper 10.0.0.58:2181,10.0.0.59:2181,10.0.0.60:2181 --replication-factor 1 --partitions 3 --topic mytopic1

查看话题 topic的详情

./kafka-topics.sh --describe --zookeeper 10.0.0.58:2181,10.0.0.59:2181,10.0.0.60:2181 --topic mytopic1

paplicas 副本
isr 活动状态的broker

producer 放入 数据

./kafka-console-producer.sh --broker-list 10.0.0.58:9092,10.0.0.59:9092,10.0.0.60:9092 --topic mytopic1

consumer 取出 数据

  • 从头获取

./kafka-console-consumer.sh --bootstrap-server 10.0.0.58:9092,10.0.0.59:9092,10.0.0.60:9092 --topic mytopic1 --from-beginning

./kafka-console-consumer.sh --bootstrap-server 10.0.0.58:9092,10.0.0.59:9092,10.0.0.60:9092 --topic 10.0.0.58-nginx-log --from-beginning

  • 继续获取

./kafka-console-consumer.sh --bootstrap-server 10.0.0.58:9092,10.0.0.59:9092,10.0.0.60:9092 --topic mytopic1

删除topic

./kafka-topics.sh --zookeeper 10.0.0.58:2181,10.0.0.59:2181,10.0.0.60:2181 --delete -topic mytipic1

原文地址:https://www.cnblogs.com/hywhyme/p/14597812.html