2012-07-31 36 views
13

Vấn đề làHadoop: Không thể sử dụng JPS lệnh

[email protected]:/usr/local/hadoop$ jps 
    The program 'jps' can be found in the following packages: 
    * openjdk-6-jdk 
    * openjdk-7-jdk 
Try: sudo apt-get install <selected package> 

cấu hình của tôi là

[email protected]:/usr/local/hadoop$ java -version 
java version "1.6.0_33" 
Java(TM) SE Runtime Environment (build 1.6.0_33-b04) 
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode) 

lập conf/hadoop-env.sh

[email protected]:/usr/local/hadoop$ cat conf/hadoop-env.sh | grep JAVA_HOME 
# The only required environment variable is JAVA_HOME. All others are 
# set JAVA_HOME in this file, so that it is correctly defined on 
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_33/ 

Tôi biết có được một câu hỏi (http://stackoverflow.com/questions/7843422/hadoop-jps-can-not-find-java-installed) tương tự như câu hỏi này. Nhưng tôi đã cài đặt Sun jdk ở đây. Vì vậy, mọi trợ giúp sẽ được đánh giá cao ..

Trả lời

19

Đó thực sự không phải là vấn đề của Hadoop. Hadoop không sử dụng JPS.

Nếu không tìm thấy JPS, bạn phải đặt nó vào đường dẫn của bạn hoặc tạo bí danh. Thực thi JPS có thể được tìm thấy theo số $JAVA_HOME/bin/jps.

Bí danh của ví dụ có thể là:

alias jps='/usr/lib/jvm/jdk1.6.0_33/bin/jps' 

Hoặc nếu bạn không quan tâm về việc sử dụng JPS, bạn thay vì có thể làm một

ps aux | grep java 

mà sẽ xấp xỉ. cung cấp cho bạn kết quả tương tự;)

6

Vấn đề này là do bạn đã cài đặt JDK từ Oracle (có thể). Bạn có thể khắc phục sự cố này bằng cách sử dụng chương trình update-alternatives để liên kết jps với thư mục đường dẫn chuẩn. Sử dụng lệnh này để sửa lỗi này trong một thiết bị đầu cuối

sudo update-alternatives --install /usr/bin/jps jps /usr/lib/jvm/jdk1.6/bin/jps 1 

Sử dụng đường dẫn thực tế chương trình jps trong jdk thích hợp (các phiên bản của jdk) thay vì jdk1.6 đó là cụ thể đối với tôi. Hy vọng điều này sẽ giúp.

9

bạn đã cài đặt gói java-1.6.0-openjdk-devel có cung cấp công cụ jps không?

$ sudo yum provides /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jps 
Loaded plugins: product-id, subscription-manager 
Updating certificate-based repositories. 
Unable to read consumer identity 
1:java-1.6.0-openjdk-devel-1.6.0.0-1.45.1.11.1.el6.x86_64 : OpenJDK Development Environment 
Repo  : installed 
Matched from: 
Other  : Provides-match: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jps 
+0

Có, bạn cần phải làm yum install java-1.8.0-openjdk-devel.x86_64 để có được JPS (yum install java-1.8.0-openjdk.x86_64 không cung cấp nó) –

1

Sử dụng lệnh này nếu bạn không thể sử dụng JPS

ps -aux | grep java | awk '{print $ 12}'

nó sẽ hiển thị các tập tin như

shows file like this in the picture

2

JPS dường như (trên AMX linux 64/centos ít nhất) sẽ có sẵn thông qua kiến.

sudo yum install ant 

và bạn có thể chạy JPS

+0

Nó hoạt động cho jdk 1.8 Cảm ơn – Ravi

0

Nếu bạn đang sử dụng openjdk sau đó bạn phải cài đặt thêm không đầu jre thử:

sudo apt-get install java-1,8.0-openjdk-không đầu

Nó làm việc cho tôi, bạn có thể phải từ bỏ đúng openjdk tôi phiên bản là 1.8

+0

Tôi nghĩ rằng op không sử dụng openjdk, họ nói rằng họ đang sử dụng "Sun jdk". – navicore

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