分享

传统开发人员如何利用hadoop架构开发项目入门分析

pig2 2014-2-6 18:56:47 发表于 介绍解说 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 8954
本帖最后由 pig2 于 2014-2-6 19:03 编辑

此篇文章适合具有开发经历的IT人士,并且知道hadoop,但是对于hadoop了解不深的传统开发人员。也适合hr等懂一些开发知识,但是并不深入。
对于传统开发,(这里的传统开发是指通过php,.net,java来实现项目,这里面没有参杂云技术)我们都有一定的了解。
传统开发入门
首先我们需要懂一门语言,学习一门语言,我们要懂得语法,数据库结构等,这些明白了,我们就是尝试尝试,然后输出一个语句。

Java语句
  1. System.out.println("hello word");
复制代码
C#语句
  1.   Console.Write("hello word");
复制代码
php语句
  1. echo (“hello word");
复制代码
上面语句,输出了,当我们看到结果的时候,会很兴奋。因为这说明我们已经会某一种语句了。

传统开发项目

我们入门了,想在上升一个台阶。该如何操作数据库。

那么这个也不难,引入包
Java语言
  1. package dbconnection //java 中不存在没有包的类(讲解详细因为项目需要)
复制代码
.net语言
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Text;
  4. using System.Data;
  5. 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程序,我们该如何使用它来开发

记得上面我们是如何使用数据库类,来操作数据库的
  1. package dbconnection //java 中不存在没有包的类(讲解详细因为项目需要)
  2. import java.sql.Connection; import java.sql.DriverManager;
  3. import java.sql.SQLException; import java.sql.Statement;//引入sql数据库包
复制代码
那么我们,该如何使用hadoop来开发项目
是的,首先我们需要引用包,因开发环境不同,有的是用Maven,Eclipse等,并且做不同的开发需要引入不同的包。

总结:hadoop开发其实是java开发的延续,对于传统开发人员,特别Java开发人员,所作的只是了解hadoop各个包的作用和类库。



来自群组: Hadoop技术组

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条