[Hadoop培训笔记]03-MapReduce集群的安装与部署

原创 2013年12月05日 19:36:31

注:开源力量Hadoop Development网络培训,链接:http://new.osforce.cn/course/52  个人笔记,不具参考性。


说明:
1)实验采用的是hadoop1.x,hadoop2.x的代码做一个分析
2)学习hadoop的基础知识;java基础;Linux操作基础


MapRedcue集群环境搭建
MapReduce WordCount运行
Hadoop Eclipse插件


bin目录下执行:./start-mapred.sh,启动jobtracker和tasktracker
问题:启动后使用jps命令,看不到上述tracker在运行。
原因:通过logs目录里的hadoop-michaelchen-tasktracker-mars.clustertech.com.log,查看后发现这么一条:Can not start task tracker because java.lang.IllegalArgumentException: Does not contain a valid host:port authority: local
解决方法:没有配置 mapred-site.xml,配置如下。再次启动,使用jps可以看到jobtracker和tasktracker

<property> 
<name>mapred.job.tracker</name> 
<value>localhost:9101</value> 
</property>

bin目录下创建 vim a.txt,里面写一些单词作为输入文件。

  1 hello world
  2 hello java
  3 java c++

然后将a.txt放入一个创建的input目录里,让hadoop example中的wordcount程序执行,从input目录里获取数据,结果放到output目录里
./hadoop fs -mkdir /input
./hadoop fs -put a.txt /input
./hadoop jar ../hadoop-examples-1.2.1.jar wordcount /input /output

执行的过程比较有趣,所以也贴到这里

13/12/04 12:23:07 INFO input.FileInputFormat: Total input paths to process : 1
13/12/04 12:23:07 INFO util.NativeCodeLoader: Loaded the native-hadoop library
13/12/04 12:23:07 WARN snappy.LoadSnappy: Snappy native library not loaded
13/12/04 12:23:08 INFO mapred.JobClient: Running job: job_201312041206_0001
13/12/04 12:23:09 INFO mapred.JobClient:  map 0% reduce 0%
13/12/04 12:23:22 INFO mapred.JobClient:  map 100% reduce 0%
13/12/04 12:23:34 INFO mapred.JobClient:  map 100% reduce 100%
13/12/04 12:23:38 INFO mapred.JobClient: Job complete: job_201312041206_0001
13/12/04 12:23:38 INFO mapred.JobClient: Counters: 29
13/12/04 12:23:38 INFO mapred.JobClient:   Job Counters
13/12/04 12:23:38 INFO mapred.JobClient:     Launched reduce tasks=1
13/12/04 12:23:38 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=14199
13/12/04 12:23:38 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
13/12/04 12:23:38 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
13/12/04 12:23:38 INFO mapred.JobClient:     Launched map tasks=1
13/12/04 12:23:38 INFO mapred.JobClient:     Data-local map tasks=1
13/12/04 12:23:38 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=12168
13/12/04 12:23:38 INFO mapred.JobClient:   File Output Format Counters
13/12/04 12:23:38 INFO mapred.JobClient:     Bytes Written=29
13/12/04 12:23:38 INFO mapred.JobClient:   FileSystemCounters
13/12/04 12:23:38 INFO mapred.JobClient:     FILE_BYTES_READ=51
13/12/04 12:23:38 INFO mapred.JobClient:     HDFS_BYTES_READ=134
13/12/04 12:23:38 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=117313
13/12/04 12:23:38 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=29
13/12/04 12:23:38 INFO mapred.JobClient:   File Input Format Counters
13/12/04 12:23:38 INFO mapred.JobClient:     Bytes Read=32
13/12/04 12:23:38 INFO mapred.JobClient:   Map-Reduce Framework
13/12/04 12:23:38 INFO mapred.JobClient:     Map output materialized bytes=51
13/12/04 12:23:38 INFO mapred.JobClient:     Map input records=3
13/12/04 12:23:38 INFO mapred.JobClient:     Reduce shuffle bytes=51
13/12/04 12:23:38 INFO mapred.JobClient:     Spilled Records=8
13/12/04 12:23:38 INFO mapred.JobClient:     Map output bytes=56
13/12/04 12:23:38 INFO mapred.JobClient:     Total committed heap usage (bytes)=181141504
13/12/04 12:23:38 INFO mapred.JobClient:     CPU time spent (ms)=5400
13/12/04 12:23:38 INFO mapred.JobClient:     Combine input records=6
13/12/04 12:23:38 INFO mapred.JobClient:     SPLIT_RAW_BYTES=102
13/12/04 12:23:38 INFO mapred.JobClient:     Reduce input records=4
13/12/04 12:23:38 INFO mapred.JobClient:     Reduce input groups=4
13/12/04 12:23:38 INFO mapred.JobClient:     Combine output records=4
13/12/04 12:23:38 INFO mapred.JobClient:     Physical memory (bytes) snapshot=175915008
13/12/04 12:23:38 INFO mapred.JobClient:     Reduce output records=4
13/12/04 12:23:38 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=787206144
13/12/04 12:23:38 INFO mapred.JobClient:     Map output records=6

看看创建了什么文件,使用命令 ./hadoop fs -lsr /

drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:20 /input
-rw-r--r--   1 michaelchen supergroup         32 2013-12-04 12:20 /input/a.txt
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:23 /output
-rw-r--r--   1 michaelchen supergroup          0 2013-12-04 12:23 /output/_SUCCESS
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:23 /output/_logs
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:23 /output/_logs/history
-rw-r--r--   1 michaelchen supergroup      13815 2013-12-04 12:23 /output/_logs/history/job_201312041206_0001_1386130987951_michaelchen_word+count
-rw-r--r--   1 michaelchen supergroup      49533 2013-12-04 12:23 /output/_logs/history/job_201312041206_0001_conf.xml
-rw-r--r--   1 michaelchen supergroup         29 2013-12-04 12:23 /output/part-r-00000
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 10:26 /system
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:17 /tmp
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:17 /tmp/hadoop-michaelchen
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:23 /tmp/hadoop-michaelchen/mapred
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:23 /tmp/hadoop-michaelchen/mapred/staging
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 12:23 /tmp/hadoop-michaelchen/mapred/staging/michaelchen
drwx------   - michaelchen supergroup          0 2013-12-04 12:23 /tmp/hadoop-michaelchen/mapred/staging/michaelchen/.staging
drwx------   - michaelchen supergroup          0 2013-12-04 12:23 /tmp/hadoop-michaelchen/mapred/system
-rw-------   1 michaelchen supergroup          4 2013-12-04 12:17 /tmp/hadoop-michaelchen/mapred/system/jobtracker.info
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 10:33 /user
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 10:33 /user/michaelchen
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 10:33 /user/michaelchen/archiveDir
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 10:33 /user/michaelchen/archiveDir/pack.har
-rw-r--r--   1 michaelchen supergroup          0 2013-12-04 10:33 /user/michaelchen/archiveDir/pack.har/_SUCCESS
-rw-r--r--   5 michaelchen supergroup         72 2013-12-04 10:33 /user/michaelchen/archiveDir/pack.har/_index
-rw-r--r--   5 michaelchen supergroup         22 2013-12-04 10:33 /user/michaelchen/archiveDir/pack.har/_masterindex
-rw-r--r--   1 michaelchen supergroup      15147 2013-12-04 10:33 /user/michaelchen/archiveDir/pack.har/part-0
drwxr-xr-x   - michaelchen supergroup          0 2013-12-04 10:31 /xwchen
-rw-r--r--   1 michaelchen supergroup      15147 2013-12-04 10:31 /xwchen/hadoop

分析后的结果放在这里,使用命令查看:./hadoop fs -cat /output/part-r-00000

c++     1
hello   2
java    2
world   1


Hadoop Eclipse插件

1)hadoop自0.20.x版本后不再提供现成的hadoop-eclipse插件,而是给出了源码自行编译
2)编译采用的是ant+ivy
3)URL:http://wiki.apache.org/hadoop/EclipsePlugin

编译的整个过程很是容易出问题,建议参考此链接:http://www.srccodes.com/p/article/30/build-hadoop-eclipse-plugin-jar-from-source-code-and-install-that-plugin-in-eclipse-ide

链接中注意版本号可能会有更改。


不过我编译的hadoop plugin的插件还是在eclipse中无法使用,最后用的网上下载的。。。
无法使用是出现在eclipse菜单里,show-others里编辑mapreduce路径,点new,弹不出窗口,泪奔啊~~


WordCount里用的相关Jar包依赖如下:


输入参数:hdfs://192.168.56.101:9100/input /output

注意output之前不能存在,否则报错。

其他参考视频。在1.2.1中编译成功,运行成功。



试题中的一些笔记:

  • hadoop对于小文件的处理方式:Archive、CombinedInputFormat、SequenceFile、MapFile
  • Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks.
  • Borg(来自Google),YARN(来自Apache,属于Hadoop下面的一个分支,开源),Mesos(来自Twitter,开源),Torca(来自腾讯搜搜),Corona(来自Facebook,开源)一类系统被称为资源统一管理系统或者资源统一调度系统,它们是大数据时代的必然产物。
  • SecondaryNamenode的作用是合并fsimage和editlogs
  • Apache Tez由Hortonworks开发
  • 关系型数据库与HDFS之间相互数据迁移的工具是sqoop
  • hadoop2.x采用maven构建源代码


Ambari部署hadoop完全分布式集群

Ambari部署hadoop完全分布式集群
  • Dopamy_BusyMonkey
  • Dopamy_BusyMonkey
  • 2016年02月18日 18:38
  • 6109

hadoop2.6.0分布式集群搭建(详细),搭建es-hadoop

hadoop分布式集群的搭建,es-hadoop的搭建
  • shakalaka1
  • shakalaka1
  • 2017年09月25日 11:24
  • 664

[Hadoop培训笔记]02-HDFS集群的安装与部署

注:开源力量Hadoop Development网络培训,链接:http://new.osforce.cn/course/52  个人笔记,不具参考性。...
  • babyfacer
  • babyfacer
  • 2013年12月04日 11:13
  • 1935

hadoop系列:zookeeper(1)——zookeeper单点和集群安装

8月份的第一周,忙得晕头转向,为了解决OSGI-Felix 下 hibernate JPA的ClassLoader问题,就耽误了至少两天时间,还好在周五系统成功在servicemix上运行了。已经几天...
  • yinwenjie
  • yinwenjie
  • 2015年08月08日 23:33
  • 12240

Cloudera Hadoop 集群安装(三台机器)

简述:Hadoop的安装对环境有比较高的要求,需要比较大的内存,一般的机器很难满足,一个人也很难有两三台独立的主机,所以只能选择使用安装虚拟机的方式安装,但是主机的内存需要在8G以上。如果小于8G可以...
  • zpf336
  • zpf336
  • 2016年11月21日 20:11
  • 2218

Hadoop集群之Hive安装配置

Hadoop集群之Hive安装配置转自:Hadoop集群之Hive安装配置Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的...
  • blue_jjw
  • blue_jjw
  • 2016年01月07日 21:59
  • 16227

Hadoop教程(五)Hadoop分布式集群部署安装

在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供...
  • yuan_xw
  • yuan_xw
  • 2016年04月17日 21:32
  • 8966

CentOS7.0基于hadoop集群安装配置Hive

前言安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可(需要再有的namenode上安装),可以不在datanode节点的机...
  • jssg_tzw
  • jssg_tzw
  • 2017年06月07日 13:18
  • 1755

生产环境下部署hadoop集群(包括dns配置,nfs共享,awk资源分发)

生产环境中部署hadoop集群与测试环境中部署的区别主要是: 1.使用DNS而不是hosts来解析主机名 2.使用NFS共享秘钥文件,而不是手工拷贝配置 3.复制hadoop时使用脚本批量操作,而不是...
  • KNIFE_PAN
  • KNIFE_PAN
  • 2014年10月29日 15:06
  • 1496

kerberos集群安装配置(十)

Kerberos集群规划 Kerberos安装配置 一、安装KDC server 二、修改配置文件 1)/etc/krb5.conf 2)/var/kerberos/krb5kdc/kdc.co...
  • forever19870418
  • forever19870418
  • 2017年03月31日 10:52
  • 638
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Hadoop培训笔记]03-MapReduce集群的安装与部署
举报原因:
原因补充:

(最多只允许输入30个字)