Hadoop 专题理论学习与技术实践

来源:互联网 发布:社交网络图 软件 编辑:程序博客网 时间:2024/06/05 14:33

Hadoop 是什么?业界人士喜欢称它为一款优秀的开源数据处理框架,的确,谈它就不能不谈“数据”,就不能不谈开源。Hadoop 通俗点讲,它就两个主要功能:存储数据和分析数据。存储数据,核心代表:HDFS ,即分布式文件系统;分析数据,核心代表Map/Reduce;而连接两者的,正是数据,促进这项技术成长的,正是开源;Hadoop 是把牛刀,区别于普通的能够以数据结构定义的数据,它主要针对的对象是大数据;那什么是“大数据”?大数据主要有四个特点:数据量大,数据种类丰富,数据处理速度快,数据背后的潜藏价值,且大数据一般都没有固定的数据结构。

Hadoop 诞生于google ,后随开宗人流传与雅虎,现在则是apache 的一个优秀的开源项目,在这一路的学习过程中,感觉不但有幸遇到了一群有见地的良师,结识了一堆朋友,还没来得及播种就收获了一大片知识庄稼,而且还遇到了一批令人钦佩,值得赞赏的公司,比如google , 雅虎,facebook ,apache ,他们都是开源项目的重要参与者。 

HDFS:分布式文件系统,核心理论:数据文件分块存贮,冗余数据备份存储块。Map Reduce像是数据接口,分别负责读入待处理数据和输出已处理结果数据。

Hadoop 五大核心进程: Namenode 进程:HDFS文件系统管理者,记录数据块位置信息;Datanode 进程:数据存储结点;Secondary Namenode:HDFS 容错,Namenode 数据备份;JobTracker 进程,生成job ,接收job ,统管map/reduce;TaskTracker 进程,执行JobTracker分配的单个map/reduce 任务。

2. 技术实践内容:

Hadoop bin 目录各个启动脚本和关闭脚本的使用方法,主要的三个脚本,start-all.sh,stop-all.sh,hadoop-daemons.sh; 

Hadoop bin 目录中hadoop 脚本的使用方法,重要的参数项 fs  [-cat ,-ls ,-put,-get,-mkdir,-rmr,-rm-dus];  jar  [hadoop 目录自带包或自己生成包名]  [包中类名]  [作业hdfs 路径]  [作业处理完成hdfs路径]

Hadoop conf目录中hadoop-env.sh(jdk),core-site.xml(hdfs 9000),mapred-site.xml(job tracker),hdfs-site.xml(republication),masters,slavers

Hadoop logs 目录中出错信息的查找与读取。

Hadoop 运行实例 WordCount:

hadoop@ubuntu:/usr/local/hadoop/bin$ ./hadoop fs -put ../readme.txt ../input/

hadoop@ubuntu:/usr/local/hadoop/bin$ ./hadoop jar ../wordcount.jar  com.felix.WordCount ../input/ ../output/

hadoop@ubuntu:/usr/local/hadoop/bin$ ./hadoop dfs -cat ../output/part-00000 

Hadoop 1

Hello 1

3. Hadoop专题中主要遇到的技术难题:

以伪随机分布模式(Pseudo-Distributed Mode)配置架构Hadoop 时,先后分别出现namenode难以启动,关机重启后文件系统毁坏状况,先后尝试解决方法,小姜老师提供的删除dfs data 目录的方法,最终解决方法:core-site.xml中添加hadoop.tmp.dir配置项,并将value 值制定为linux  /home/账户中的自定义目录。


0 0
原创粉丝点击