2022.8.15 Jenkins使用war包启动,kill进程之后做法思路
打包node包正常,远程传输ssh over显示失败。查看top。cpu直接拉满。
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.io.UnixFileSystem.list(Native Method)
at java.io.File.normalizedList(File.java:1115)
at java.io.File.list(File.java:1159)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1239)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1267)
at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1267)
jenkins重启无效。一气之下,后面直接kill掉进程。于是。。。发现以前jenkins是用类似
nohup java -jar jenkins.war --httpPort=8585 > output.txt 2>&1 &
方式启动的。想了一下。完犊子了~~大家千万别学我。。。这个锅我不背。
思路1:
后面放了参数。。查看了jenkins生产环境查看参数
root 25131 1 0 Mar17 ? 02:10:32 /opt/jdk1.8/bin/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkin/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8585 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
想要逆推构建参数,发现失败。(pass)
思路2:
查看了之前构建的参数以及jenkins数据目录所在
/var/lib/jenkins/*
尽快用tomcat来构建一个新的jenkins
首先构建环境
- jdk
- apache
jdk官网:https://www.oracle.com/java/
apache官网:http://apache.org/dyn/closer.cgi
上传到服务器
tar xf apache-tomcat-9.0.7.tar.gz
tar xf jdk1.8.0_131.tar.gz
解压并移动到喜欢的目录
mv jdk1.8.0_131 /opt/jdk1.8
mv apache-tomcat-9.0.7 /usr/local/tomcat
修改环境变量---->/etc/profile
#tomcat环境变量
echo 'export CATALINA_HOME=/usr/local/tomcat' >>/etc/profile
echo 'export PATH=$CATALINA_HOME/bin:$PATH' >>/etc/profile
#jdk1.8环境变量
echo 'export JAVA_HOME=/opt/jdk1.8' >>/etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >>/etc/profile
刷新
source /etc/profile
#查看jdk环境变量
java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
#修改tomcat配置文件(修改想要的端口)
vim /usr/local/tomcat/conf/server.xml
<Connector port="8585" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
#保存退出并启动tomcat
/usr/local/tomcat/bin/startup.sh
catalina.sh daemon.sh setclasspath.sh startup.sh version.sh
configtest.sh digest.sh shutdown.sh tool-wrapper.sh
#startup.sh 启动tomcat | shutdown.sh 关闭tomcat
移动jenkins.war到tomcat目录/usr/local/tomcat/webapps,会自动生成一个jenkins文件夹,生成后移除jenkins.war包
mv /usr/lib/jenkins.war /usr/local/tomcat/webapps
等jenkins目录生成后
mv /usr/local/tomcat/webapps/jenkins.war /tmp
删除tomcat的ROOT目录并且把jenkins目录更改为ROOT
rm -rf /usr/local/tomcat/webapps/ROOT
mv /usr/local/tomcat/webapps/jenkins /usr/local/tomcat/webapps/ROOT
重启tomcat
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
登入你的网页
192.168.142.106:8585
根据窗口发现。tomcat默认启动的jenkins目录在/root/.jenkins
下
关闭tomcat,把之前的所有数据全部移动到/root/.jenkins
目录下(最好先删除)
关闭tomcat
/usr/local/tomcat/bin/shutdown.sh
rm -rf /root/.jenkin/*(最好先删除/root/.jenkin所有文件)
移动之前所有数据到此目录下
\mv /var/lib/jenkins/* /root/.jenkin/