错误如下:
Exception in thread "main" joptsimple.UnrecognizedOptionException: bootstrap-server is not a recognized option
学Java也快一年了,从基础的开始学起,磕磕绊绊的,也算不上用功,可也这样浑水摸鱼学到了Linux和kafka了。这两天,我学到了zookeeper和kafka集群这一块儿。我们跟着老师做,虽然教案历历在目,可每个人实际情况又或按图索骥之能力又参差不齐,所以我们做的还是焦头烂额的。
昨天,学到了kafka集群部署,前几天的单机版kafka就已经让我喝一壶了。这个集群部署,我也是在同学的协助下,拿两个小时把zookeeper集群和kafka集群部署完成了,也启动成功,本来好歹呼了一口长气,可哪曾想,真正折磨我的才真正开始。
虽然集群都部署成功,也有了leader和follower,可是在这创建topic这一块,却是一个大坎。我一直跟着教案和老师的录屏边看边试,前边或删或改,好不容易照猫画虎才堪堪神似,可到了创建主题,同一个命令
/opt/kafka/bin/kafka-topics.sh -create --bootstrap-server
192.168.73.200:9092,192.168.73.201:9092,192.168.73.202:9092 -replication-factor
3 --partitions 3 --topic chjy
录屏里老师三下两除二就运行出来,眼看着主题创建成功,我却瞪着我的secureCRT上的
一脸懵逼。
Exception in thread “main” joptsimple.UnrecognizedOptionException: bootstrap-server is not a recognized option。
打开有道,bootstrap-server是一个不可识别的选项???为什么老师的就行,一问同学,虽然做这个寥寥,可是做了的也还是能创建的啊。没办法,把求助的眼光投向万能的百度。
什么,百度也找不到。百度里,只看到一些说zookeeper不可被识别的,我心想,我是bootstrap-server啊(就这样,忽视了这个一个核心的线索),在百度里浅尝辄止之后,又在同学群里发问,都没碰到我这样的情况。问老师,老师看两眼没注意就眼观鼻鼻观心了。。。这时候我才知道一筹莫展的含义了。
接着,我对虚拟机和secureCRT进行了地毯式的排查,先是前段时间一直烦扰我的防火墙,我在三个虚拟机里都运行了永久关闭防火墙的命令
-- chkconfig iptables off
再重新运行创建主题命令,眼睛死盯着光标,一秒、两秒、三秒,te,一大串错,依然是老朋友那几个。
不甘心,继续看,是不是以前的配置没改对?于是再把那三个server.properties全部仔细核对一遍。还是没问题。就这样,气急败坏的我愤然把笔记本一合,打开了LOL。
第二天,把虚拟机运行起来,再一试命令,冀望有奇迹的出现,缓缓输下命令,坚定而又果决的敲下回车。一秒、两秒、三秒。得,还是哥几个。
继续百度,不断掐头去尾掉这段错的关键字,欸,终于给我找到一个英文网页。描述的错和我很一样。链接
网页链接
下面只有一个回答,可是,我只能说,说的鞭辟入里、一针见血啊!!!
哪位答主精准的看出了问题的可能性——如果使用的kafka比2.2老,那用的命令就不是–bootstrap-server,而是–zookeeper ,而且后面接的端口是2181而不是9092。太神奇了,我在昨天试错的时候也试过–zookeeper-server,但不是–zookeeper,而且后面端口也没换。
我当时瞬间就感觉这可能就是正确答案,颤抖着手打出命令,创建主题1710f,钉,还是报错。
得,我刚想放弃,可一看错,不是老伙计们了。哦,是重复创建。
于是,再换个主题名字,
创建成功!!!再试试生产者消费者,都行了!!!!
就这样,学Java以来找错最长的一次,终于解决了。
再次感谢那位外国友人Bartosz Wardziński。。。