hadoop 怎么查看集群运行情况

hadoop 怎么查看集群运行情况,第1张

使用hadoop dfsadmin -report命令查看集群运行,结果全为0结果如下:

[java] view plain copy

[hadoop@mini1 hadoop-241]$ hadoop dfsadmin -report

DEPRECATED: Use of this script to execute hdfs command is deprecated

Instead use the hdfs command for it

Configured Capacity: 0 (0 B)

Present Capacity: 0 (0 B)

DFS Remaining: 0 (0 B)

DFS Used: 0 (0 B)

DFS Used%: NaN%

Under replicated blocks: 0

Blocks with corrupt replicas: 0

Missing blocks: 0


个错误是因为多次hdfs namenode -format导致namespaceID不同,删掉datanode配置的dfsdatadir目录后然后执行以下步骤。

1 stop-dfssh

2 start-dfssh

3 hadoop dfsadmin -report

运行结果如下

[java] view plain copy

[hadoop@mini1 ~]$ hdfs dfsadmin -report

Configured Capacity: 7967756288 (742 GB)

Present Capacity: 5630824448 (524 GB)

DFS Remaining: 5630799872 (524 GB)

DFS Used: 24576 (24 KB)

DFS Used%: 000%

Under replicated blocks: 0

Blocks with corrupt replicas: 0

Missing blocks: 0

1) 优化map,reduce任务运行的数量
症状:
每个 map 或 reduce 任务都在30-40秒内结束。一个大job没有使用上所有集群中的可用槽位。在大部分mapper和reducer都订好运行计划后,1到2个仍在pending状态直到最后才单独运行。 诊断:优化map和reduce的任务是非常重要但是经常被忽视,这里介绍几个我常用的相关设置方法:
如果每个任务只执行30-40秒就结束,请减少总的task数量。Task的基本设置和计划本身会消耗几秒钟的时间。所以如果Task执行非常快的话,时间就都浪费在准备Task上了。也可以开启JVM的reuse功能来减少建立task的基本开销。如果job要处理超过1TB的数据,可以考虑增加输入数据的块Block的大小从256MB到512MB。这样也会减小需要运行的Task数。可以通过如下命令改变数据块大小:hadoop distcp -Ddfsblocksize=$[25610241024] /path/to/inputdata /path/to/inputdata-with-largeblocks执行完该命令就可以清除原来的文件了。在保证每个任务执行都超过30-40秒后,可以增加mapper task为mapper slot(可以执行mapper 机器)的整数倍,如果你有100个可以运行Map任务的节点,尽量不要运行101个Map Task,第101个Map task 会在第一批100个Map任务执行完之后才执行,这点主要针对的是小型集群和小型任务。
不要计划执行太多的Reduce任务,对于大多数任务,我们建议Reduce任务数要等于或小于集群中可运行Reduce任务的节点数。
性能测试:
我使用一个参数-Dmapredmaxsplitsize=$[1610241024] 来展示设置了过多任务的wordcount程序。这样会产生2640个而不是默认的360个任务来执行该程序。当以这种配置运行时单个的任务平均只用9秒,在JobTracker的监控页面上可以看到正在map任务数在0到24之间波动,整个Job花了17分52秒,是原来配置的2倍。
2) 在集群上使用 LZO 压缩插件
症状:
应用于中间数据LZO压缩始终是个好方法。
MapReduce 任务输出文件尺寸很大。
在任务运行时Slave节点上top和iostat中显示高iowait。
诊断:
几乎任何产生大量map输出的MapReduce任务都能从LZO压缩算法受益。虽然LZO增加了一些CPU的负载,但是shuffle阶段减少的大量磁盘IO *** 作会把时间完全节省回来。
当job要处理大量数据时,LZO压缩也可以增加输出方面的的性能。在默认的3份复制配置下,每1GB压缩省下的空间都相当于节省了3GB的IO写 *** 作。
要开启LZO压缩,请见另一篇文章,
记得要把mapredcompressmapoutput设为true。
性能对比:
禁用LZO只在测试中轻微延长了运行时间。但是文件写出量计数FILE_BYTES>读取A,B节点所在的那个xml文件,然后分别创建两个新的xml文件,把读取到的A,B节点值写入到新的xml文件
如有疑问追问,如满意记得采纳,
如果有其他问题也可点我名字向我求助
答题不易,
如果没有回答完全,请您谅解,
请采纳最快回答的正确答案!!谢谢!

环境及软件准备:
win7(64位)
cygwin 179-1
jdk-6u25-windows-x64zip
hadoop-0202targz
1安装jdk,并置java环境变量包括:JAVA_HOME,PATH,CLASSPATH
2安装Hadoop,版本为0202,我是直接放到/home目录下,并解压
tar –zxvf
hadoop-0202targz
3配置Hadoop,需要修改hadoop的配置文件,它们位于conf子目录下,分别是hadoop-envsh、core-sitexml、hdfs-sitexml
和mapred-sitexml
(1) 修改hadoop-envsh:
只需要将JAVA_HOME 修改成JDK 的安装目录即可
export
JAVA_HOME=/cygdrive/d/java/jdk160_25
(注意:路径不能是windows 风格的目录d:\java\jdk160_25,而是LINUX
风格/cygdrive/d/java/jdk160_25)
(2) 修改core-sitexml:(指定namenode)
<configuration>
<property>
<name>fsdefaultname</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(3)修改hdfs-sitexml(指定副本为1)
<configuration>
<property>
<name>dfsreplication</name>
<value>1</value>
</property>
</configuration>
(4) 修改mapred-sitexml (指定jobtracker)
<configuration>
<property>
<name>mapredjobtracker</name>
<value>localhost:9001</value>
</property>
</configuration>
4验证安装是否成功,并运行Hadoop
(1) 验证安装
$ bin/hadoop
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
namenode -format format the DFS filesystem
secondarynamenode run the DFS secondary namenode
namenode run the DFS namenode
datanode run a DFS datanode
dfsadmin run a DFS admin client
mradmin run a Map-Reduce admin client
fsck run a DFS filesystem checking utility
fs run a generic filesystem user client
balancer run a cluster balancing utility
jobtracker run the MapReduce job Tracker node
pipes run a Pipes job
tasktracker run a MapReduce task Tracker node
job manipulate MapReduce jobs
queue get information regarding JobQueues
version print the version
jar <jar> run a jar file
distcp <srcurl> <desturl> copy file or directories recursively
archive -archiveName NAME <src> <dest> create a hadoop archive
daemonlog get/set the log level for each daemon
or
CLASSNAME run the class named CLASSNAME
Most commands print help when invoked w/o parameters
(2) 格式化并启动Hadoop
bin/hadoop namenode –format
bin/start-allsh
(3) 查看Hadoop
命令行查看:
$ jps
1608 NameNode
6572 Jps
6528 JobTracker
(注意:win7下cygwin中DateNode和TaskTracker进程是无法显示的,好像是cygwin的问题)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13392905.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存