问题:
linux 在 /etc/rc.d/rc.local 文件中添加启动java程序命令,无法启动java程序(包括zookeeper、kafka),但是手动执行启动java程序命令可以正常启动java程序;/etc/rc.d/rc.local 里面添加的其它shell命令可以正常启动。
原因:
java 程序运行依赖jre环境,jre环境一般在 /etc/profile 文件中配置,在系统刚开始启动的时候,并没有配置好jre环境,所以无法在开机自启动中正常启动java程序。
解决:
方法1.:
在 /etc/rc.d/rc.local 文件中先添加 source /etc/profile(系统安装了jre环境,并在该文件中配置了jre环境)
方法2:
在 /etc/rc.d/rc.local 文件中先添加 下面命令
export JAVA_HOME=/usr/java/jdk1.8.0_212
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin注意:/usr/java/jdk1.8.0_212 为java环境根目录
当在/etc/rc.d/rc.local中添加启动Java程序如zookeeper、kafka的命令时,由于系统启动时未配置好JRE环境,导致启动失败。解决方案包括在rc.local中先source/etc/profile以加载JRE环境,或者直接在rc.local中设置JAVA_HOME,CLASSPATH和PATH环境变量。
938

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



