导航:首页 > 程序命令 > linux的jps命令

linux的jps命令

发布时间:2022-05-19 19:14:12

linux命令里的jps是什么意思

jps 是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。

Ⅱ 如何在Linux下安装配置Apache Mahout

Mahout安装详细全过程
1、jdk安装 2
2、SSH无密码验证配置 2
3、 Hadoop配置 3
4、Hadop使用 6
5、Maven安装 7
6、安装mahout 7
7、hadoop集群来执行聚类算法 8
8、其他 8
————————————————————
1、jdk安装
1.1、到官网下载相关的JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

1.2、打开“终端”
输入:sh jdk-6u24-linux-i586.bin

1.3、设置JAVA_HOME环境系统变量
输入:
vi /etc/environment
在文件中添加:
export JAVA_HOME=/root/jdk1.6.0_24
export JRE_Home=/root/jdk1.6.0_24/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
同样,修改第二个文件。输入:
vi /etc/profile
在umask 022之前添加以下语句:
export JAVA_HOME=/root/jdk1.6.0_24
export JRE_Home=/root/jdk1.6.0_24/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

1.4、注销用户,检测JDK版本。
输入:
java -version

2、集群环境介绍
集群包含三个节点:1 个 namenode,2 个 datanode,节点之间局域网连接,可以相互 ping 通。节点 IP 地址分布如下:
Namenode: [email protected]
Datanode1: slave1 @192.168.1.20
Datanode2: [email protected]
三台节点上均是CentOS系统,Hadoop在/root/hadoop/目录下。
在/etc/hosts上添加主机名和相应的IP地址:
192.168.1.10 master
192.168.1.20 slave1
192.168.1.21 slave2
3、SSH无密码验证配置
2.1 Hadoop 需要使用SSH 协议,namenode 将使用SSH 协议启动 namenode和datanode 进程,伪分布式模式数据节点和名称节点均是本身,必须配置 SSH localhost无密码验证。
用root用户登录,在家目录下执行如下命令:ssh-keygen -t rsa
[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): & 按回车默认路径 &
Created directory '/root/.ssh'. &创建/root/.ssh目录&
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
c6:7e:57:59:0a:2d:85:49:23:cc:c4:58:ff:db:5b:38 root@master
通过以上命令将在/root/.ssh/ 目录下生成id_rsa私钥和id_rsa.pub公钥。进入/root/.ssh目录在namenode节点下做如下配置:
[root@master .ssh]# cat id_rsa.pub > authorized_keys
[root@master .ssh]# scp authorized_keys 192.168.1.20:/root/.ssh/
[root@master .ssh]# scp authorized_keys 192.168.1.21:/root/.ssh/
配置完毕,可通过ssh 本机IP 测试是否需要密码登录。

2.2 和namenode无密码登录所有Datanode原理一样,把Datanode的公钥复制到
Namenode的.ssh目录下。
[root@slave1 .ssh]# scp authorized_keys1 192.168.1.10:/root /.ssh
[root@ slave2.ssh]# scp authorized_keys2 192.168.1.10:/root /.ssh
将刚传过来的authorized_keys1、2加入到authorized_keys
[root@ master.ssh]# cat authorized_keys1 > authorized_keys
[root@ master.ssh]# cat authorized_keys2 > authorized_keys
这样也能在Datanode上关闭和启动Hadoop服务。
4、 Hadoop配置
下载 hadoop-0.20.2.tar.gz, 进行解压
tar zxvf hadoop-0.20.2.tar.gz
修改/etc/profile,加入如下:
# set hadoop path
export HADOOP_HOME=/root/hadoop
export PATH=$HADOOP_HOME/bin:$PATH

4.1、进入hadoop/conf, 配置Hadoop配置文件
4.1.1 配置hadoop-env.sh文件
添加 # set java environment
export JAVA_HOME=/root/jdk1.6.0_24
编辑后保存退出。

4.1.2 配置core-site.xml
# vi core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.10:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/hadooptmp</value>
</property>
</configuration>

4.1.3 配置hdfs-site.xml
# vi hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>

4.1.4 配置mapred-site.xml
# vi mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.1.10:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/mapred/local</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>/tmp/hadoop/mapred/system</value>
</property>
</configuration>

4.1.5 配置masters
# vi masters
192.168.1.10
4.1.6 配置slaves
# vi slaves
192.168.1.20
192.168.1.21

4.2、 Hadoop启动
4.2.1 进入 /root/hadoop/bin目录下,格式化namenode
# ./hadoop namenode –format

4.2.2 启动hadoop所有进程
在/root/hadoop/bin 目录下,执行start-all.sh命令
启动完成后,可用jps命令查看hadoop进程是否启动完全。正常情况下应该有如下进程:
10910 NameNode
11431 Jps
11176 SecondaryNameNode
11053 DataNode
11254 JobTracker
11378 TaskTracker

我在搭建过程中,在此环节出现的问题最多,经常出现启动进程不完整的情况,要不是datanode无法正常启动,就是namenode或是TaskTracker启动异常。解决的方式如下:
1)在Linux下关闭防火墙:使用service iptables stop命令;
2)再次对namenode进行格式化:在/root/hadoop/bin 目录下执行hadoop namenode -format命令
3)对服务器进行重启
4)查看datanode或是namenode对应的日志文件,日志文件保存在/root/hadoop/logs目录下。
5)再次在/bin目录下用start-all.sh命令启动所有进程,通过以上的几个方法应该能解决进程启动不完全的问题了。

4.2.3 查看集群状态
在 bin目录下执行:hadoop dfsadmin -report
# hadoop dfsadmin –report

4.3 在WEB页面下查看Hadoop工作情况
打开IE浏览器输入部署Hadoop服务器的IP:
http://localhost:50070
http://localhost:50030。

5、Hadop使用
一个测试例子wordcount:
计算输入文本中词语数量的程序。WordCount在Hadoop主目录下的java程序包hadoop-0.20.2-examples.jar 中,执行步骤如下:
在/root/hadoop/bin/目录下进行如下操作:
./hadoop fs -mkdir input(新建目录名称,可任意命名)
mkdir /root/a/
vi /root/a/a.txt
写入hello world hello
# hadoop fs -FromLocal /root/a/ input
在/root/hadoop/bin下执行:
# ./hadoop jar hadoop-0.20.2-examples.jar wordcount input output (提交作业,此处需注意input与output是一组任务,下次再执行wordcount程序,还要新建目录intput1与output1不能跟input与output重名)

6、Maven安装
6.1下载Maven
解压tar vxzf apache-maven-3.0.2-bin.tar.gz
mv apache-maven-3.0.2 /root/maven

6.2 vi ~/.bashrc
添加如下两行
export M3_HOME=/root/maven
export PATH=${M3_HOME}/bin:${PATH}

6.3 先logout,之后再login
查看maven版本,看是否安装成功
mvn -version

7、安装mahout
安装方法见:
https://cwiki.apache.org/confluence/display/MAHOUT/BuildingMahout

8、hadoop集群来执行聚类算法
8.1数据准备
cd /root/hadoop
wget http://archive.ics.uci.e/ml/databases/synthetic_control/synthetic_control.data

8.2 ./hadoop fs -mkdir testdata
./hadoop fs -put synthetic_control.data testdata
./hadoop fs -lsr testdata

bin/hadoop jar /root/mahout/mahout-examples-0.4-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

8.3查看一下结果吧
bin/mahout vectormp --seqFile /user/root/output/data/part-r-00000
这个直接把结果显示在控制台上。

9、hadoop集群来执行推荐算法
分布式
bin/hadoop jar /root/trunk/mahout-distribution-0.4/mahout-core-0.4-job.jar org.apache.mahout.cf.taste.hadoop.item.RecommenderJob -Dmapred.map.tasks=3 -Dmapred.rece.tasks=3 -Dmapred.input.dir=testdata/100wan.txt -Dmapred.output.dir=output2

伪分布式
bin/hadoop jar /root/trunk/mahout-distribution-0.4/mahout-core-0.4-job.jar org.apache.mahout.cf.taste.hadoop.pseudo.RecommenderJob --recommenderClassName org.apache.mahout.cf.taste.impl.recommender.slopeone.SlopeOneRecommender -Dmapred.input.dir=testdata/10wan.dat -Dmapred.output.dir=output_w10wan
10、其他
离开安全模式:hadoop dfsadmin -safemode leave

Ⅲ linux系统下用jps命令查看java进程,提示process information unavailable是为什么

一般kill进程是这样的:

比如你要杀掉top进程,

ps-ef|greptop查看top进程因为显示出进程数太多使用grep过滤,

kill-9杀掉top进程,

ps-ef|greptop查看top进程有没杀掉,如图已杀掉

Ⅳ linux怎么查看jvm正在使用的哪个垃圾回收器

搜一下jps和jmap命令,是JDK提供的,jps能显示出jvm的进程号,然后用jmap显示jvm的配置和信息

Ⅳ Linux下查看一个进程占用了哪个端口的方法

时候需要在Linux下查看一个进程占用了那个端口,但是只知道进程大致的名称,比如要查看hadoop的namenode在哪个端口上运行,以便在eclipse中连接。
首先用ps命令查看进程的id:

复制代码代码如下:

$ ps -ef | grep Name

其中每一行(很长的时候会占用若干行)的第二个字段就是进程的id。
当然,对于在java虚拟机中运行的进程,比如hadoop的守护进程,可以直接用jsp命令查看:

$ jps | grep Name

或者已经知道进程的确切名称,可以用pidof查看:

$ pidof Name

查看到进程id之后,使用netstat命令查看其占用的端口:

$ netstat -nap | grep pid

Ⅵ 3台linux-centos机器的无秘钥ssh配置都完成了,都安装了jdk,但是ssh xxx jps无效!

通过SSH直接执行远程命令和脚本
这种方式会使用Bash的non-interactive + non-login shell模式,它会创建一个shell,执行完脚本之后便退出,不再需要与用户交互。
no-login shell,顾名思义就是不是在登录Linux系统时启动的(比如你在命令行提示符上输入bash启动)。它不会去执行/etc/profile文件,而会去用户的HOME目录检查.bashrc并加载。
系统执行Shell脚本的时候,就是属于这种non-interactive shell。Bash通过BASH_ENV环境变量来记录要加载的文件,默认情况下这个环境变量并没有设置。如果有指定文件,那么Shell会先去加载这个文件里面的内容,然后再开始执行Shell脚本。
解决方案:

在将要登陆的主机的用户目录下修改.bashrc文件,新增
export JAVA_HOME=/soft/ln/jdk
export PATH=$PATH:$JAVA_HOME/bin
保存退出后
source .bashrc
然后在重新使用ssh命令登陆

Ⅶ 用Linux命令怎么删除已经装好的Hadoop配置

namenode就是master。
必须要有一台启动namenode服务。
=============
如果只需要 datanode,那么jps 命令后,查看到线程ID
然后kill 掉就好了。

注意 kill掉 namenode后,整个hadoop集群就宕掉了。

Ⅷ Linux系统监控要用到哪些命令

记录一下自己常用的linux系统命令,方便以后查阅,发觉记忆越来越不行了
找到最耗CPU的java线程ps命令
命令:ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid

结果展示:

这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息。 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,也就是这里的最后一列。

比如这里找到了一个TID : 30834 ,所占用的TIME时间最高。

通过 printf "%x\n" 30834 首先转化成16进制, 继续通过jstack命令mp出当前的jvm进程的堆栈信息。 通过Grep命令即可以查到对应16进制的线程id信息,很快就可以找到对应最耗CPU的代码快在哪。

简单的解释下,jstack下这一串线程信息内容:

"DboServiceProcessor-4-thread-295" daemon prio=10 tid=0x00002aab047a9800 nid=0x7d9b waiting on condition [0x0000000046f66000]
nid : 对应的linux操作系统下的tid,就是前面转化的16进制数字

tid: 这个应该是jvm的jmm内存规范中的唯一地址定位,如果你详细分析jvm的一些内存数据时用得上,我自己还没到那种程度,所以先放下

top命令
命令:top -Hp pid

结果显示:

和前面的效果一下,你可以实时的跟踪并获取指定进程中最耗cpu的线程。 再用前面的方法提取到对应的线程堆栈信息。

判断I/O瓶颈

mpstat命令
命令:mpstat -P ALL 1 1000

结果显示:

注意一下这里面的%iowait列,CPU等待I/O操作所花费的时间。这个值持续很高通常可能是I/O瓶颈所导致的。

通过这个参数可以比较直观的看出当前的I/O操作是否存在瓶颈

iostat命令
命令: iostat -m -x 1 1000

同样你可以观察对应的CPU中的%iowait数据,除此之外iostat还提供了一些更详细的I/O状态数据,比如比较重要的有:

avgqu-sz : The average queue length of the requests that were issued to the device. (磁盘队列的请求长度,正常的话2,3比较好。可以和cpu的load一样的理解)

await : The average time (in milliseconds) for I/O requests issued to the device to be served. (代表一个I/O操作从wait到完成的总时间)

svctm和%util都是代表处理该I/O请求花费的时间和CPU的时间比例。 判断是否瓶颈时,这两个参数不是主要的

r/s w/s 和 rMB/s wMB/s 都是代表当前系统处理的I/O的一些状态,前者是我们常说的tps,后者就是吞吐量。这也是评价一个系统的性能指标

pid命令
命令: pidstat -p pid -u -d -t -w -h 1 1000

结果显示:

相当实用的一个命令,可以基于当个进程分析对应的性能数据,包括CPU,I/O,IR , CS等,可以方便开发者更加精细化的观察系统的运行状态。不过pidstat貌似是在2.6内核的一些较新的版本才有,需要安装sysstat包。

ubuntu下,可以通过sudo apt-get install sysstat进行安装。

sar命令
命令:sar -x pid 1 1000

sar也可以指定对应的pid,关注固定的几个参数,没有pidstat那么强大。 看不到对应的I/O, IR等信息。

sar的功能可以覆盖mpstat , iostat的相关功能。

dstat命令
命令:dstat -y --tcp 1 1000

通过dstat --tcp可以比较方便的看到当前的tcp的各种状态,不需要每次netstat -nat去看

其他命令
netstat -natp : 查看对应的网络链接,关注下Recv-Q , Send-Q , State。

lsof -p pid : 查找对应pid的文件句柄

lsof -i : 80 : 查找对应端口被哪个进程占用

lsof /tmp/1.txt :查找对应文件被哪个进程占用

tcpmp / wireshark :抓包分析工具

jstat / jmap / jstack / jps 等一系列的java监控命令

最后
如果你想做一些性能调优的工作,一定要善于利用一些工具进行关注相应的状态。通过linux命令你可以比较方便的观测到CPU , I/O , network等一些比较外围的状态, 很多时候就已经可以解决大部分的问题。jvm内部的一些运行状态监控,得需要借助一些特有的工具进行细粒度的观测。

Ⅸ linux怎么查看tomcat是否启动

  1. #jps 命令查看本机运行的java进程,看看有没有tomcat

  2. ps命令 #ps aux | grep tomcat 查看系统中的运行进程里有没有tomcat进程

  3. 端口查看,如果你的tomcat没有修改默认的端口(8080)可以使用端口检查命令

    #netstat -anop | grep 8080

阅读全文

与linux的jps命令相关的资料

热点内容
手机加密日记本苹果版下载 浏览:63
命令行括号 浏览:176
java程序升级 浏览:490
排序算法之插入类 浏览:227
gcccreate命令 浏览:73
海尔监控用什么app 浏览:64
系统盘被压缩开不了机 浏览:984
linuxredis30 浏览:541
狸窝pdf转换器 浏览:696
ajax调用java后台 浏览:904
活塞式压缩机常见故障 浏览:614
break算法 浏览:731
换电池的app是什么 浏览:771
单片机ad采样快速发送电脑 浏览:22
第五人格服务器错误是什么回事儿 浏览:467
查看手机谷歌服务器地址 浏览:191
python操作zookeeper 浏览:706
苹果手机dcim文件夹显示不出来 浏览:430
如何压缩文件夹联想电脑 浏览:586
程序员的学习之旅 浏览:443