2015-05-24 26 views
11

Tôi đã tải xuống Logstash-1.5.0 trên Windows 8.1 và cố gắng chạy nó trong dấu nhắc lệnh.Không thể xác định lỗi cài đặt java cho logstash

Đầu tiên tôi đã kiểm tra phiên bản java. Sau đó, thay đổi thư mục để logstash-1.5.0/bin sau đó bước vào lệnh logstash -e 'input { stdin { } } output { elasticsearch { host => localhost } stdout { } }' nó đã cho các lỗi sau:

Cannot locate java installation, specified by JAVA_HOME

Thư mục Logstash là C: và phiên bản của Java là 1.7.0_25. Tôi đã đặt các biến môi trường JAVA_HOME vào thư mục jdk/bin, nhưng nó vẫn không hoạt động.

Tôi mới đến Logstash. Ai đó có thể cho tôi biết chi tiết tại sao điều này xảy ra và giúp tôi sửa chữa nó?

+0

'JAVA_HOME' sẽ trỏ đến thư mục phía trên' bin/'. – Qix

+0

thể trùng lặp của [Làm thế nào để thiết lập java \ _home trên Windows 7?] (Http://stackoverflow.com/questions/2619584/how-to-set-java-home-on-windows-7) – Qix

Trả lời

12

Đặt JAVA_HOMEPATH biến môi trường như thế này:

JAVA_HOME = C:\Program Files\Java\jdk1.7.0_25 
PATH = C:\Program Files\Java\jdk1.7.0_25\bin 
+0

Cảm ơn bạn @Razib. –

+1

Bạn thậm chí có thể khai báo JAVA_HOME theo cách tương tự trong Cygwin. Không cần sử dụng đường dẫn/cygdrive. – klimpergeist

+0

Tôi ngạc nhiên rằng nó cần * cả hai biến môi trường (cả hai 'JAVA_HOME' và' PATH'?). Nhưng, logstash không nói: 'Sử dụng JAVA_HOME = C: \ ProgramData \ Oracle \ Java \ javapath \ java.exe lấy từ PATH' - vì vậy tôi đoán PATH là quan trọng! Vậy tại sao 'JAVA_HOME' lại cần thiết? –

1

Trên Windows khi bạn thay đổi môi trường trên các thiết lập hệ thống, bạn phải đóng và mở lại vỏ lệnh, trước khi các thay đổi có hiệu lực.

Từng bước:

  1. Xác định vị trí thư mục cài đặt JRE java của bạn, bạn muốn sử dụng. Ví dụ: "C: \ Program Files \ Java \ jre7"
  2. mở menu Start bấm phải vào máy tính và chọn Cài đặt. Trong cửa sổ Cài đặt hệ thống ở bên phải, nhấp vào "Extended Systemsettings".
  3. Mở Tab mở rộng lựa chọn các biến môi trường, thêm biến JAVA_HOME của bạn để đường dẫn của bạn và nhấn OK.
  4. Mở lệnh shell và kiểm tra môi trường bằng cách nhập "set" và nhấn enter. Hãy xem nếu JAVA_HOME được đặt.

Nếu JAVA_HOME của bạn hiện được đặt chính xác, hãy đăng nhập.

+0

Trên Windows, chỉ cần bằng cách sử dụng SET trong một tập tin thực thi sẽ làm cho mọi thứ dễ dàng hơn cần phải thay đổi cấu hình hệ thống –

+0

Điểm tốt về việc khởi động lại dấu nhắc lệnh! Điều này đã khắc phục được sự cố của tôi. –

2

Trong trường hợp của tôi vấn đề là tôi đặt biến JAVA_HOME với một không gian cuối cùng:

"set JAVA_HOME=c:\Programs\Java " 

thay vì

"set JAVA_HOME=c:\Programs\Java" 

Và logstash c ouldn't con số đó ra :) Loại bỏ các không gian cố định vấn đề.

Các vấn đề liên quan