2015-07-22 3 views
5

Я успешно установил Hadoop CDH5.2 на CentOS с JDK 1.7.0_80.jps процесс недоступен как пользователь root

Процессы запускаются и работают успешно. Однако, когда я пытаюсь отобразить список ява процессов, как корень, используя jps, он возвращает только идентификаторы и не описание:

[[email protected] ~]# jps 
11478 Jps 
2871 -- process information unavailable 
2972 -- process information unavailable 
3146 -- process information unavailable 
3611 -- process information unavailable 
2796 -- process information unavailable 
3445 -- process information unavailable 

Если я Судо в HDFS, я могу увидеть его описание процессов:

[[email protected] ~]# sudo -u hdfs jps 
2871 SecondaryNameNode 
11495 Jps 
2972 DataNode 
2796 NameNode 

Что может привести к тому, что root не сможет получить описания процессов?

+0

Добро пожаловать в StackOverflow. Просто посетите нашу страницу [tour] (http://stackoverflow.com/tour) для получения дополнительной информации для использования этого сайта. –

ответ

4

Все эти pid хранятся в каталоге/tmp. Процессы, запущенные отдельными пользователями, будут храниться в каталоге/tmp/hsperfdata_ {username}. Похоже, пользователь root не может прочитать этот файл. Остановите все процессы, очистите каталог/tmp и запустите все процессы снова. После этого повторите попытку команды jps.

Update:

Если вы используете OpenJDK, вы будете сталкиваться с этой проблемой. Для просмотра все HDFS связанного процесса, вы должны использовать команду ниже

sudo -u hdfs jps 

Аналогична для процессов пряжи, вы должны использовать следующую команду

sudo -u yarn jps 

Если вы используете оракул JDK, команду JPS из корневого пользователя будут перечислены все процессы, при условии, что JAVA_HOME будет правильно определен, а $ JAVA_HOME/bin - в вашем PATH.

+1

Привет, Амал, я устал, но безрезультатно. Он по-прежнему не может отображать описания процессов. –

+0

У меня возникла такая же проблема, и я понял решение и, соответственно, обновил ответ. –

+1

Спасибо Amal. На самом деле я использую Oracle JDK. Я действительно смог увидеть процессы, если я su с соответствующими пользователями, но я пытаюсь увидеть все процессы сразу через root. –

0

Я думаю, вам нужно запустить команду как пользователь, который ее запустил. Возможно, вы запускаете приложения под другим пользователем, поэтому вы не можете просматривать их, когда вы вошли в систему с правами root. Попробуйте начать процессы как корень, так [[email protected] ~]# jps должны работать

+0

Я выполнил команду как root, и я до сих пор вижу этот msg: информация о процессе недоступна. – mdivk

0

я столкнулся с аналогичной проблемой после того, как я обновил свою версию Java от 1,7 до 1,8, так что я следовал выше и попытался следующие команды, и она работала:
Надеюсь, что это помогает.
$ sudo su
затем я попытался
$ jps
Тхи дал мне следующее:
18353 Main 11411 AlertPublisher 20998 NodeManager 20855 ResourceManager 29585 21275 ThriftServer 5302 Main 29637 18446 Main 22339 Bootstrap 11254 EventCatcherService 21082 JobHistoryServer 25685 Bootstrap 22246 HistoryServer 23637 RunJar 20288 QuorumPeerMain 23561 RunJar 21182 HRegionServer 20372 DataNode 20810 Bootstrap 22201 Main 20511 NameNode 31730 Jps 20440 SecondaryNameNode 21355 HMaster

Смежные вопросы