您的位置:首页 > 运维架构

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

2014-06-08 15:31 239 查看
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/账户中的自定义目录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: