Linux安装kafka

中文官网:http://kafka.apachecn.org/

官网:http://kafka.apache.org/

具有可视化工具

1、下载解压
kafka官网下载:https://kafka.apache.org/downloads

>tar -zxvf kafka.tar #解压

2、配置

  Zookeeper配置 

  小内存服务器报错解决:修改bin/zookeeper-server-start.sh中的参数,来减少内存的使用,-Xmx512M -Xms512M改小。

  Kafka配置
  config下修改server.properties

broker.id=0  #broker 的全局唯一编号,不能重复 
delete.topic.enable=true #删除 topic 功能使能
log.dirs=/home/XXXXX/logs  #kafka 运行日志存放的路径
zookeeper.connect=192.168.xx.xxx:2181 #配置连接 Zookeeper 
listeners=PLAINTEXT://IP(需要填写本机IP):9092 #解开注释,添加IP

 3、启动操作命令

  启动kafka需要先启动zookeeper,最新版本的kafka已经集成了zookeeper,所以不需要单独安装zookeeper。cd到安装目录

#启动zookeeper 加-daemon参数,可以在后台启动Zookeeper,输出的信息在保存在执行目录的logs/zookeeper.out文件中。
>bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
#关闭zookeeper
>bin/zookeeper-server-stop.sh -daemon config/zookeeper.propertiesc
#开启kafka 
>bin/kafka-server-start.sh -daemon config/server.properties
#关闭kafka 
>bin/kafka-server-stop.sh -daemon config/server.properties

4、Kafka基本操作命令

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

>./bin/kafka-topics.sh --zookeeper 192.168.66.128:2181 --list

2)创建 topic

>./bin/kafka-topics.sh --zookeeper 192.168.66.128:2181 --create --replication-factor 3 --partitions 1 --topic test

参数说明:

--topic 定义 topic 名
--replication-factor 定义副本数
--partitions 定义分区数

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

>./bin/kafka-topics.sh --zookeeper 192.168.66.128:2181 --delete --topic test

4)生产消息 (开一个窗口cd到安装目录)

>./bin/kafka-console-producer.sh --broker-list 192.168.66.128:9092 --topic test
> hello
> world

5)消费消息(开另一个窗口cd到安装目录)

>./bin/kafka-console-consumer.sh --bootstrap-server 192.168.66.128:9092 --from-beginning --topic test

参数说明:

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

  此时,继续在生产者窗口生产消息,消费者窗口就会消费消息

6)查看某个 Topic 的详情

>./bin/kafka-topics.sh --zookeeper 192.168.66.128:2181 --describe --topic test

5、小结

(1)第一个行显示所有partitions的一个总结,以下每一行给出一个partition中的信息,如果我们只有一个partition,则只显示一行。
(2)leader 是在给出的所有partitons中负责读写的节点,每个节点都有可能成为leader。
(3)replicas 显示给定partiton所有副本所存储节点的节点列表,不管该节点是否是leader或者是否存活。
(4)isr 副本都已同步的的节点集合,这个集合中的所有节点都是存活状态,并且跟leader同步。

 

posted on 2020-06-18 18:47  fuanfei  阅读(250)  评论(0)    收藏  举报