一次logstash 啟動,linux分析解決問題


 

 

 

1.官網上下載logstash 6.5.4.npm包之后,添加到yum倉庫;

2.使用yum install logstash 安裝npm包,包安裝成功,查看systemctl status logstash 任務啟動失敗

[root@worker1 ~]# service logstash status
Redirecting to /bin/systemctl status  logstash.service
● logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Thu 2019-01-17 11:03:03 CST; 1 day 23h ago
  Process: 5848 ExecStart=/usr/share/logstash/bin/logstash --path.settings /etc/logstash (code=exited, status=1/FAILURE)
 Main PID: 5848 (code=exited, status=1/FAILURE)

Jan 17 11:03:03 worker1.n1 systemd[1]: Unit logstash.service entered failed state.
Jan 17 11:03:03 worker1.n1 systemd[1]: logstash.service failed.
Jan 17 11:03:03 worker1.n1 systemd[1]: logstash.service holdoff time over, scheduling restart.
Jan 17 11:03:03 worker1.n1 systemd[1]: start request repeated too quickly for logstash.service
Jan 17 11:03:03 worker1.n1 systemd[1]: Failed to start logstash.
Jan 17 11:03:03 worker1.n1 systemd[1]: Unit logstash.service entered failed state.
Jan 17 11:03:03 worker1.n1 systemd[1]: logstash.service failed.

3. 單獨啟動logstash,/usr/share/logstash/bin/logstash --path.settings /etc/logstash ,logstash可以正常啟動,所以判斷為啟動項的問題,

查看systemctl的啟動項,/etc/systemd/system/logstash.service

 

[root@worker1 ~]# vi /etc/systemd/system/logstash.service

[Unit]
Description=logstash

[Service]
Type=simple
User=logstash
Group=logstash
# Load env vars from /etc/default/ and /etc/sysconfig/ if they exist.
# Prefixing the path with '-' makes it try to load, but if the file doesn't
# exist, it continues onward.
EnvironmentFile=-/etc/default/logstash
EnvironmentFile=-/etc/sysconfig/logstash
ExecStart=/usr/share/logstash/bin/logstash "--path.settings" "/etc/logstash"
Restart=always
WorkingDirectory=/
Nice=19
LimitNOFILE=16384

[Install]
WantedBy=multi-user.target

 

以為是權限問題,更改user,group為root, 執行 systemctl daemon-reload 讓配置生效

重新啟動logstash, 

systemctl start logstash 查看 systemctl status logstash,

依舊不能以服務的方式啟動

 

4.使用journalctl -ex 查看,發現沒有指定JAVA_HOME,

Jan 19 10:17:15 worker1.n1 logstash[28297]: could not find java; set JAVA_HOME or ensure java is in PATH
Jan 19 10:17:15 worker1.n1 systemd[1]: logstash.service: main process exited, code=exited, status=1/FAILURE
Jan 19 10:17:15 worker1.n1 systemd[1]: Unit logstash.service entered failed state.
Jan 19 10:17:15 worker1.n1 systemd[1]: logstash.service failed.
Jan 19 10:17:15 worker1.n1 systemd[1]: logstash.service holdoff time over, scheduling restart.
Jan 19 10:17:15 worker1.n1 systemd[1]: start request repeated too quickly for logstash.service
Jan 19 10:17:15 worker1.n1 systemd[1]: Failed to start logstash.
-- Subject: Unit logstash.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit logstash.service has failed

echo $JAVA_HOME, 查看本地env都有配置,可能是logstash啟動的時候沒有讀取到系統的JAVA_HOME環境;

 

5.在logstash 以server啟動的時候加入啟動項JAVA_HOME

vi /etc/sysconfig/logstash

增加JAVA_HOME路徑

 

6.改回vi /etc/sysconfig/logstash的權限為初始的logstash,重啟logstash,服務可以正常啟動了

● logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-01-19 10:21:24 CST; 4s ago
 Main PID: 26014 (java)
   CGroup: /system.slice/logstash.service
           └─26014 /usr/local/jdk/latest/bin/java -Xms1g -Xmx1g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.compi...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM