北京尚学堂提供
问题导读:
1.hadoop编程需要哪些基础?
2.hadoop编程需要注意哪些问题?
3.如何创建mapreduce程序及其包含几部分?
4.如何远程连接eclipse,可能会遇到什么问题?
5.如何编译hadoop源码?

 

阅读此篇文章,需要些基础下面两篇文章
尚学堂_肖斌_hadoop经典视频教程
www.bjsxt/2015/down_0526/41.html
尚学堂云计算极限班-mysql教程郑阿奇云计算培训
www.bjsxt/html/cloud/
如果看过的话,看这篇不成问题,此篇讲hadoop编程篇。

hadoop编程,hadoop是一个Java框架,同时也是编程的一次革命,使得传统开发运行程序由单台客户端(单台电脑)转换为可以由多个客户端运行(多台机器)运行,使得任务得以分解,这大大提高了效率。
hadoop既然是一个Java框架,因为我们必须要懂Java,网上有大量的资料,所以学习Java不是件难事。但是学到什么程度,可能是我们零基础同学所关心的。
语言很多情况下都是相通的,如果你是学生,还处于打基础的阶段,那么难度对于你来说还是不小的。

1.初学者要求必须有理论基础,并且能够完成一个小项目,最起码能够完成几个小例子,例如图书馆里等。
初学者基本的要求:
1)懂什么是对象、接口、继续、多态
2)必须熟悉Java语法
pressured翻译3)掌握一定的常用包
4)会使用maven下载代码
5)会使用eclipse,包括里面的快捷键,如何打开项目

传统程序员,因为具有丰富的编程经验,因此只要能够掌握开发工具:
1)会使用maven下载代码
2)会使用eclipse,包括里面的快捷键,如何打开项目
3)简单熟悉Java语法

上面的只是基础,如果想开发hadoop,还需要懂得下面内容
1)会编译hadoop
2)会使用hadoop-eclipse-plugin插件,远程连接集
3)会运行hadoop程序。

上面列出大概的内容,下面我们具体说一些需要学习的内容。
无论是传统开发人员还是学生,零基础下面都是需要掌握的:

我们就需要进入开发了。开发零基础,该如何,咱们提供了相关的内容分别介绍下面文章
尚学堂_肖斌_hadoop经典视频教程
www.bjsxt/2015/down_0526/41.html
这一篇我们使用什么开发工具,甚至考虑使用什么操作系统。然后就是Java基础知识篇,包括变量、函数等。

一、考虑开发环境
上面是我们打基础,有了这些基础,我们就开始学习开发hadoop了,但是我们该怎么搭建环境,我们知道Windows3264位之分,jdk也有,那么该如何解决,我们在window32位上需要使用32jdk64位则使用64jdk,同样如果Linux则使用Linux32位于64位。
更详细,可以参考
零基础利用Java开发hadoop需要考虑的问题
www.aboutyun/thread-6824-1-1.html

二、使用J2SEJ2EE
使用Java我们需要整体了解Java语言,Java包含下面三种
J2EE java企业版,主要用于web开发
J2SE java 标准版,主要用于WEB开发,但是缺少企业版的一些特性,一般情况下java下的应用都是指J2SE的开发。
J2ME java 微小版,主要用于手机等的开发
因此如果我们想处理、并展示数据,可以使用J2EE,更详细参考
hadoop开发--Java零基础之J2EEJ2SEJ2ME的区别
www.aboutyun/thread-6904-1-1.html
三、对Java有了一定的认识,我们开始使用Java
1.环境变量配置
对于惯用集成环境的开发者来讲,这有点不适应,比如,安装开发环境vs,直接开发就好了,为啥还需要配置环境变量。
环境变量可以让我们到jdk的命令,这个或许的一点好处,就是都封装起来了。别的不用关心了。对于环境变量,我们
需要配置java_home,path路径,更详细参考:
hadoop开发--Java零基础之开发工具环境变量配置


2.开发工具选择
开发工具有很多种,不同的人习惯不同,开发工具也不一样,这里列出个人认为比较常用
1.eclipse
2.MyEclipse
3.maven
更多工具参考hadoop开发—Java零基础,开发选择什么开发工具比较合适
www.aboutyun/thread-6892-1-1.html

而其中maven可以和eclipse一起使用,也可以单独使用,后面开发中它还是比较常用的,比如我们下载hadoop源码,编译hadoop,都是需要maven来完成的。
maven的学习可以参考
源码编译maven系列视频教程汇总
www.aboutyun/thread-7972-1-1.html


3.Java编译
Java可以一处编译处处运行,原因是因为jvm。编译后的效果,可以查看:
Java零基础,学习hadoop:为什么要编译Java源代码,编译后会有什么效果
www.aboutyun/thread-7620-1-1.html
4.如何打开Java项目
Java项目的开发,还是比较特别的,是通过导入的方式,折合其它比如项目,直接点击图标就能打开,Java项目,例如通过eclipseimport导入,详细参考下面帖子:
零基础教你如何导入Java项目到eclipse
www.aboutyun/thread-8213-1-1.html
5.Java资源下载:

上面补充了一些基本的知识,可能还不够全面,如果缺少这方面的知识,有两种办法:
1.百度,查看视频,缺什么看什么视频
2.如果想自己什么时候,都能看,可以下载下面的资源
javaWeb图书馆管理系统源码mysql版本
www.aboutyun/thread-7269-1-1.html
Java使用hadoop开发基础:Javaweb视频共享
www.aboutyun/thread-7117-1-1.html
几百GJava文件共享
www.aboutyun/thread-7955-1-1.html
javaG内容下载:包含自学,入门,高级应用,案例等
www.aboutyun/thread-6195-1-1.html

Java基础完毕,我们终于可以开发了,其实开发也并不怎么困难,经常遇到的问题如下:
1.使用插件连接不上集
windows下连接集有两个原因
1.用户名不一致
解决办法:
1、如果是测试环境,可以取消hadoop hdfs的用户权限检查。打开l,到dfs.permissions属性修改为false(默认为truescope词根OK了。(1.2.1 版本只有这个方法可行),如何操作可以参考第一个问题。
 
2、修改hadoop location参数,在advanced parameter选项卡中,到hadoop.job.ugi项,将此项改为启动hadoop的用户名即可
3 修改window 机器的用户名为 hadoop 用户名。
4mysql入门基础教程.运行mapreduce程序的时候,会检查权限
根据hadoop开发方式总结及操作指导
www.aboutyun/thread-6950-1-1.html
我们知道hadoop开发可以使用插件,也可以不使用插件,如果不使用插件开发可能会遇到下面问题
解决办法修改下权限就好了
windows eclipse运行mapreduce遇到权限问题该如何解决
www.aboutyun/thread-7660-1-1.html
3.缺少hadoop.dll,以及
1)缺少回报如下错误:
Could not locate executable null \ in the hadoop binaries
 
windows通过hadoop-eclipse-plugin插件远程开发hadoop运行mapreduce遇到问题及解决
www.aboutyun/thread-8311-1-1.html
2)缺少hadoop.dll
错误如下:
Unable to load native-hadoop library for using builtin-java classes where applicable
解决办法:
1.首先将hadoop.dll放到hadoopbin目录下,如下图所示
2.配置hadoo
p homepath
path,这里使用的是绝对路径,path里面配置的是hadoopbin路径。配置完毕,切忌重启机器
如下图所示

 
存储过程 oracle
包及插件的下载,可以在这里面
hadoop家族、stromsparkLinuxflumejar包、安装包汇总下载(持续更新)
www.aboutyun/thread-8178-1-1.html
上面总结了我们开发环境中经常遇到的问题,上面问题打了预防针,我们后面在连接的时候,就会顺利多了。

开发hadoop,可以在Linux下,也可以在window下面
这里主要讲的是window下面:

该如何远程连接hadoop
对于不同版本不同的配置,远程连接的配置有所不同,特别是端口的配置,但是总体的步骤是差不多的,下面分别是hadoop1.Xhadoop2.X

mysql数据库编程题1.插件远程连接
hadoop1.X 
hadoop开发方式之一:利用插件开发指导
www.aboutyun/thread-6947-1-1.html
hadoop2.X
新手指导:Windows上使用Eclipse远程连接Hadoop进行程序开发
www.aboutyun/thread-6001-1-1.html
hadoop2.2 eclipse链接hdfs(hadoop)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。