問題原由
今天為了方便測(cè)試直接在筆記本W(wǎng)indows上啟動(dòng)了kafka笙瑟,結(jié)果報(bào)如下錯(cuò)誤
E:\software\kafka_2.12-1.0.0\bin\windows>kafka-server-start.bat ....\config\server.properties
錯(cuò)誤: 找不到或無法加載主類 Files\Java\jdk1.8.0_161\lib;D:\Program
問題分析
圖上可以分析出楼镐,path路徑包含空格需要使用引號(hào)癞志,而我們的kafka啟動(dòng)文件沒有正確處理路徑中的空格往枷,于是查看kakfa-server-start.bat,沒有發(fā)現(xiàn)引用path的地方凄杯,但是可以看到它調(diào)用了kafka-run-class.bat错洁,繼而發(fā)現(xiàn)kafka-run-class.bat引用了classpath變量,問題到此就可以解決了戒突。
解決辦法
將 set CLASSPATH=%CLASSPATH%;"%~1" 修改為set CLASSPATH="%CLASSPATH%";"%~1"
額外信息
我的kafak 版本信息kafka_2.12-1.0.0屯碴。 使用了默認(rèn)的server.properties, 其中數(shù)據(jù)是默認(rèn)在
log.dirs=/tmp/kafka-logs膊存, 我kafka在E盤的E:\software\kafka_2.12-1.0.0导而,我在E:\software\kafka_2.12-1.0.0\bin\windows路徑下啟動(dòng)kafak,數(shù)據(jù)目錄自動(dòng)在E:\tmp\kafka-logs創(chuàng)建隔崎。