mac环境kafka启动时报No such file or directory解决办法

来源:互联网 发布:阿里云上海当面核验 编辑:程序博客网 时间:2024/06/01 22:28

1、今天尝试了一下kafka的安装与配置,因为之前一直用RocketMQ,所以没用过kafka,今天准备花点时间学一下kafka。

首先去官网下载kafka的最新版本,下载链接:

https://www.apache.org/dyn/closer.cgi?path=/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz


2、下载后,解压,如图:

跟很多中间件一下,有bin和config等文件夹,bin里存放的是一些kafka的命令,config存放的是一些配置文件。

考虑到kafka启动要用到zookeeper,所以我事先在本地打开了zookeeper的服务:


启动之后,用telnet命令测试一下2181(默认配置,在zoo.cfg里,可以自己修改)端口。

3、cd到kafka的bin文件路径,找到kafka-server-start.sh这个命令,很显然,这个是启动命令,我们执行它:

./kafka-server-start.sh start,结果发现竟然报错(找不到文件,也没说找不到什么文件):


4、这个问题百度找了很久,都没找到相关的解决办法,那看来一定是我忘记什么操作了,因为是第一次用,所以就回忆了一下以前刚开始用中间件的时候,都有哪些步骤,是不是kafka也要有这样的步骤。

然后想到了,是不是kafka也要依赖某个配置文件启动呢?接下来我就做了个以下尝试:

执行命令:./kafka-server-start.sh ../config/server.properties,且先不管这个server.properties里面什么样,单从文件名称来看,就很重要。然后如下图,启动成功了:


5、启动成功了,做个简单的例子,生产一个HelloWorld的topic:

./kafka-console-producer.sh --zookeeper localhost:2181 --topic HelloWorld


发现报异常,那么我不用zookeeper,用broker-list试试:

./kafka-console-producer.sh --broker-list localhost:9092 --topic HelloWorld

看样子是可以了,新打开一个终端,输入:

./kafka-console-consumer.sh --zookeeper localhost:2181 --topic HelloWorld --from-beginning

然后在原来终端随便输入点什么,发现可以接收到消息了:



阅读全文
0 0
原创粉丝点击