centeros 安装kafka
1、官网 http://kafka.apache.org/downloads
找到 Scala 2.13 - kafka_2.13-2.7.0.tgz (asc, sha512)
点击下载、上传至 /usr/local/kafka 下
2、解压:tar -zxvf kafka_2.13-2.7.0.tgz
3、创建两个文件夹分别存放 kafka数据 和zookeeper数据
4、修改配置文件
①zookeeper 配置文件
dataDir :改为保存数据的路径
②kafka配置文件 server.properties
继续编辑server.properties,添加对外暴露端口
#允许外部端口连接
listeners = PLAINTEXT://0.0.0.0:9092
#外部代理地址
advertised.listeners=PLAINTEXT://123.57.75.17:9092
5、守护线程启动 zookeeper
启动:
./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
关闭:
./bin/zookeeper-server-stop.sh ./config/zookeeper.properties
6、启动kafka
启动:
./bin/kafka-server-start.sh -daemon ./config/server.properties
关闭:
./bin/kafka-server-stop.sh ./config/server.properties
7、测试 创建topic
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
解释:
所有和主题相关的操作基本./bin/kafka-topics.sh这个脚本,--create创建操作,--zookeeper localhost:2181指定zookeeper,--replication-factor指定主题副本数,--partitions 1指定主题分区数,--topic指定主题名称
8、
窗口1 生产者发消息:
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
解释:
./bin/kafka-console-producer.sh生产者相关的操作由此脚本执行,--broker-list参数指定了所使用的broker,--topic指定要往哪个主题发送消息
窗口2 消费者接收:
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
解释:
./bin/kafka-console-consumer.sh消费者相关的操作由此脚本执行,新版本的kafka使用--bootstrap-server参数,0.8版本以前消费进度是直接写到 zookeeper 的,consumer 必须知道 zookeeper 的地址。这个方案有性能问题,0.9 的时候整体大改了一次,brokers 接管了消费进度,consumer 不再需要和 zookeeper 通信了。--topic指定消费的主题,--from-beginning表示从分区开头进行消费,即重新消费全部消息
查看topic
./bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test
删除topic
./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test