kafka版本0.11.0.1以上自带zookeeper,必须要求环境中有jdk,解压后进入目录
1、在kafka解压目录下下有一个config的文件夹,里面放置的是我们的配置文件
consumer.properites 消费者配置,此处我们使用默认的即可 producer.properties 生产者配置,此处我们使用默认的即可 server.properties kafka服务器的配置,此配置文件用来配置kafka服务器,目前仅介绍几个最基础的配置 broker.id 申明当前kafka服务器在集群中的唯一ID,需配置为integer,并且集群中的每一个kafka服务器的id都应是唯一的,我们这里采用默认配置即可 listeners 申明此kafka服务器需要监听的端口号,如果是在本机上跑虚拟机运行可以不用配置本项,默认会使用localhost的地址,如果是在远程服务器上运行则必须配置,例如: listeners=PLAINTEXT:// 192.168.180.128:9092。并确保服务器的9092端口能够访问,如果想外部电脑上的程序也能访问此kafka,就必须指定ip地址,不然java中会报key为null的错误 zookeeper.connect 申明kafka所连接的zookeeper的地址 ,需配置为zookeeper的地址,由于本次使用的是kafka高版本中自带zookeeper,使用默认配置即可 zookeeper.connect=localhost:2181 |
运行
启动zookeeper
cd进入kafka解压目录,输入
bin/zookeeper-server-start.sh config/zookeeper.properties
启动zookeeper成功后会看到如下的输出
2.启动kafka
cd进入kafka解压目录,输入
bin/kafka-server-start.sh config/server.properties
启动kafka成功后会看到如下的输出
kafka后台运行,进入解压目录下
启动kafka自带Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
启动kafka服务
bin/kafka-server-start.sh config/server.properties &
2.5. 第一个消息
2.5.1 创建一个topic
Kafka通过topic对同一类的数据进行管理,同一类的数据使用同一个topic可以在处理数据时更加的便捷
在kafka解压目录打开终端,输入
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic
test
创建一个名为test的topic
注意:如果server.properties中配置listeners=PLAINTEXT:// 192.168.180.128:的ip地址,那么就不能再使用localhost,必须指定为ip地址,此处改为
bin/kafka-topics.sh –create –zookeeper 192.168.180.128:2181 –replication-factor 1 –partitions 1 –topic test
下面都是一样的,localhost改为ip地址,不然外部用程序访问时会获取不到而报节点无效的错误
在创建topic后可以通过输入
bin/kafka-topics.sh --list --zookeeper localhost:2181
来查看已经创建的topic
2.4.2
创建一个消息消费者
在kafka解压目录打开终端,输入
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic
test
--from-beginning
可以创建一个用于消费topic为test的消费者,加上--from-beginning表示从开始所有的消息都显示出来
消费者创建完成之后,因为还没有发送任何数据,因此这里在执行后没有打印出任何数据
不过别着急,不要关闭这个终端,打开一个新的终端,接下来我们创建第一个消息生产者
2.4.3 创建一个消息生产者
在kafka解压目录打开一个新的终端,输入
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic
test
在执行完毕后会进入的编辑器页面
在发送完消息之后,可以回到我们的消息消费者终端中,可以看到,终端中已经打印出了我们刚才发送的消息
启动kafka命令,下面两个命令是后台运行命令,关闭交互窗口并不会退出程序
1、先启动zookeeper
nohup bin/zookeeper-server-start.sh config/zookeeper.properties >>zk.log &
然后回车 exit
2、启动kafka
nohup bin/kafka-server-start.sh config/server.properties >>kafka.log &
然后回车 exit
删除topic
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic accreditNotify
来源:https://www.cnblogs.com/hei12138/p/7805475.html