日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

發布時間:2025/3/19 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 問題描述
  • 問題分析
  • 解決問題

問題描述

我這邊一共4臺主機,4臺主機tomca路徑一致。我想想通過pssh命令工具直接將4臺主機的tomcat啟動,命令如下:

[root@hadoop-master pssh]# pssh -P -h hosts.text /usr/local/tomcat/apache-tomcat-8.5.57/bin/startup.sh

異常如下:

異常問題:

hadoop-master: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program

問題分析

首先檢查環境變量,發現我們已經配置了

[root@hadoop-master ~]# echo $JAVA_HOME /usr/local/jdk/jdk1.8.0_261

懷疑是通過pssh方式執行命令,不能使用全局的環境變量

解決問題

如果不能設置全局環境變量,那只需要在tomcat啟動的時候設置環境變量即可,我們使用一臺主機hadoop-slave1做測試
首先進入tomcat的bin目錄,并且編輯

[root@hadoop-slave1 bin]# cd /usr/local/tomcat/apache-tomcat-8.5.57/bin [root@hadoop-slave1 bin]# vim catalina.sh

在文件的第二行添加進我們的環境變量

#!/bin/sh export JAVA_HOME="/usr/local/jdk/jdk1.8.0_261" # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership.

然后wq保存退出。再執行我們的pssh命令:

[root@hadoop-master pssh]# pssh -P -h hosts.text /usr/local/tomcat/apache-tomcat-8.5.57/bin/startup.sh


發現執行成功了,再登錄hadoop-slave1中驗證:

[root@hadoop-slave1 bin]# ps -ef|grep tomcat|grep -v grep root 9820 1 0 18:13 ? 00:00:04 /usr/local/jdk/jdk1.8.0_261/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/apache-tomcat-8.5.57/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/apache-tomcat-8.5.57/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-8.5.57/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat/apache-tomcat-8.5.57 -Dcatalina.home=/usr/local/tomcat/apache-tomcat-8.5.57 -Djava.io.tmpdir=/usr/local/tomcat/apache-tomcat-8.5.57/temp org.apache.catalina.startup.Bootstrap start

發現tomcat已經啟動成功了。按照此方式,把其他服務器的tomcat也做同樣的修改,就可解決問題了。
最終目標:

[root@hadoop-master pssh]# pssh -h hosts.text /usr/local/tomcat/apache-tomcat-8.5.57/bin/startup.sh [1] 18:37:04 [SUCCESS] hadoop-slave2 [2] 18:37:04 [SUCCESS] hadoop-master [3] 18:37:04 [SUCCESS] hadoop-slave1 [4] 18:37:04 [SUCCESS] hadoop-slave3

總結

以上是生活随笔為你收集整理的pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。