AIX7.1Crontab中的Kafka生产者出现JAVA错误:主版本错误
我在深入研究这个错误时遇到了一些困难,在我的设置中似乎找不到任何与这个问题相关的东西。我确实发现了一些关于错误的文章,但经过研究,它们不适用于我的设置 下面是发生的事情。。。我只是指出,如果我需要了解AIX的某些特定内容,那么在IBMAIX7.1上也会发生这种情况,但我可以想象,这个错误也可能发生在Linux机器上 目标是: 运行命令,将该命令通过管道发送到kafka-console-producer.sh,然后发送到特定的kafka主题,例如:AIX7.1Crontab中的Kafka生产者出现JAVA错误:主版本错误,java,cron,apache-kafka,aix,kafka-producer-api,Java,Cron,Apache Kafka,Aix,Kafka Producer Api,我在深入研究这个错误时遇到了一些困难,在我的设置中似乎找不到任何与这个问题相关的东西。我确实发现了一些关于错误的文章,但经过研究,它们不适用于我的设置 下面是发生的事情。。。我只是指出,如果我需要了解AIX的某些特定内容,那么在IBMAIX7.1上也会发生这种情况,但我可以想象,这个错误也可能发生在Linux机器上 目标是: 运行命令,将该命令通过管道发送到kafka-console-producer.sh,然后发送到特定的kafka主题,例如: ps -ef | /kafka/bin/
ps -ef | /kafka/bin/kafka-console-producer.sh --broker-list <IP>:9092 --topic running_processes
我的第一个猜测是没有为crontab的上下文设置JAVA_HOME环境变量,因此我在脚本中手动添加了该环境变量,以确保保存JAVA_HOME
此外,我还查看了kafka/bin/kafka-run-class.sh文件,并查看了其他可能的变量,因为毕竟kafka-console-producer.sh引用了该文件。例如,我手动将该文件中引用的JAVA_MAJOR_版本设置为脚本的一部分
还是不走运。同样,让我绞尽脑汁的是,作为一个登录到shell的普通用户,如果我运行脚本,它就会工作。只有在使用crontab以一定间隔计划脚本时,它才起作用
所有的东西都指向一些在crontab上下文中不可用的环境变量,但我无法理解它
有什么想法吗?正如@Lorinczyzigmond所说,在设置JAVA_HOME之后,然后路径导出路径=$JAVA_HOME/bin:$path工作。谢谢大家! 在设置JAVA_HOME set PATH之后:export PATH=$JAVA_HOME/bin:$PATH
0,5,10,15,20,25,30,35,40,45,50,55 <path of script> >> <path of log> 2>&1
...
Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=org/apache/kafka/clients/producer/Callback, offset=6
...