本帖最后由 pig2 于 2014-2-6 19:03 编辑
此篇文章适合具有开发经历的IT人士,并且知道hadoop,但是对于hadoop了解不深的传统开发人员。也适合hr等懂一些开发知识,但是并不深入。
对于传统开发,(这里的传统开发是指通过php,.net,java来实现项目,这里面没有参杂云技术)我们都有一定的了解。
传统开发入门
首先我们需要懂一门语言,学习一门语言,我们要懂得语法,数据库结构等,这些明白了,我们就是尝试尝试,然后输出一个语句。
Java语句
- System.out.println("hello word");
复制代码
C#语句- Console.Write("hello word");
复制代码
php语句复制代码 上面语句,输出了,当我们看到结果的时候,会很兴奋。因为这说明我们已经会某一种语句了。
传统开发项目
我们入门了,想在上升一个台阶。该如何操作数据库。
那么这个也不难,引入包
Java语言- package dbconnection //java 中不存在没有包的类(讲解详细因为项目需要)
复制代码
.net语言- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using System.Data.SqlClient;
复制代码
引入之后,我们可以调用Java包里面,或则.net的dll里面的操作类了。
通过这些类,我们就可以在项目中实现增加,修改,删除,查询。
hadoop入门
咱们可以类比,那么如何才能利用hadoop来开发项目。
我们对hadoop了解多少。hadoop我们知道,包含
NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode
那么这些都是什么,都是进程,而且是Java进程。从程序的角度来讲,也就是5个main()入门。我们也知道
--------------------------------------------------------------------------------------------------------------------------------------------------------------
1. NameNode
它是Hadoop 中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问。
2. SecondaryNameNode
它不是 namenode 的冗余守护进程,而是提供周期检查点和清理任务。
3. DataNode
它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个 datanode 守护进程。
4. JobTracker和TaskTracker
JobTracker负责调度 DataNode上的工作。每个 DataNode有一个TaskTracker,它们执行实际工作。
JobTracker和 TaskTracker采用主-从形式,JobTracker跨DataNode分发工作,而 TaskTracker执行任务。
JobTracker还检查请求的工作,如果一个 DataNode由于某种原因失败,JobTracker会重新调度以前的任务。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
hadoop开发与传统开发类似
上面这些其实迷惑了我们开发的视野。因为这些都是从功能的角度对它们介绍的,从我们开发的角度来讲,它就是java程序。
既然是Java程序,我们该如何使用它来开发
记得上面我们是如何使用数据库类,来操作数据库的- package dbconnection //java 中不存在没有包的类(讲解详细因为项目需要)
- import java.sql.Connection; import java.sql.DriverManager;
- import java.sql.SQLException; import java.sql.Statement;//引入sql数据库包
复制代码
那么我们,该如何使用hadoop来开发项目
是的,首先我们需要引用包,因开发环境不同,有的是用Maven,Eclipse等,并且做不同的开发需要引入不同的包。
总结:hadoop开发其实是java开发的延续,对于传统开发人员,特别Java开发人员,所作的只是了解hadoop各个包的作用和类库。
来自群组: Hadoop技术组 |