问题1:错误: 找不到或无法加载主类
问题描述:

在部署kafka后通过
./kafka-server-start.sh ../config/server.properties
命令启动报错,提示找不到主类,一般这种情况肯定是启动过程中的问题,多半是 -cp 参数出了问题,于是我顺着脚本找到了bin目录下的kafka-run-class.sh,在该脚本中我们发现最后通过这样一段代码来拉起kafka服务
# Launch mode
if [ "x$DAEMON_MODE" = "xtrue" ]; then
nohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null &
else
exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@

在部署Kafka过程中遇到启动问题,包括找不到主类的错误和jar包冲突。问题1是由于使用hadoop classpath命令导致CLASSPATH中含有空格,解决方法是在脚本中用双引号包裹$CLASSPATH。问题2是由于引用hadoop的classpath引起zookeeper jar包冲突,临时解决方案是移除环境变量中的hadoop classpath。
最低0.47元/天 解锁文章
172万+

被折叠的 条评论
为什么被折叠?



