皮皮网

【尚硅谷webservic源码】【手机名片psd源码】【php c语言源码下载】hbase源码 eclipse

2024-11-23 13:23:47 来源:termux源码分析

1.java做网站用什么软件?
2.J2EE能从事什么岗位?
3.要成为一名大数据开发工程师必备哪些技能?
4.eclipse中Java程序实现对HBase操作报错:java.io.IOException: Attempt to start meta tracker failed.
5.如何在windows平台上用Eclipse调试运行HBase

hbase源码 eclipse

java做网站用什么软件?

       JAVA语言学习主要可以开发什么?

       1、Java可以做网站

       Java可以用来编写网站,现在很多大型网站都用Jsp写的,JSP全名JavaServerPages。

       å®ƒæ˜¯ä¸€ç§åŠ¨æ€ç½‘页技术,比如我们熟悉的,一些政府网站都是采用JSP编写的。

       æ‰€ä»¥å­¦ä¹ Java的同学可以找开发网站方面的工作,而且现在找这方面的岗位比较多。

       æ¯”如:网站开发,当然就是JSP+Servlet+JavaBean,一直以来都相当流行。

       2、Java可以做Android

       Android是一种基于Linux的自由及开放源代码的操作系统,其源代码是Java。

       æ‰€ä»¥å¸‚场上见到的手机系统例如MIUI,阿里云,乐蛙等,都是修改源代码再发行的。

       Java做安卓不单单是指系统,还有APP对于更多的开发人员来说,他们更多的时间是花在开发APP上面。

       3、Java可以做游戏

       æˆ–者你不知道,在以前诺基亚还很流行的时候,你玩的手机游戏有%以上都是Java开发的。

       å½“然现在已经很少人再去开发了,都转到安卓上去了。

       ç”µè„‘上也有java开发的游戏,最经典的是:《我的世界》(minecraft,简称MC)。

       4、Java可以做软件

       ä¸€èˆ¬ç¼–程语言都可以做软件的,Java也不例外,例如Eclipse,MyEclipse等知名Java开发工具.有关开发软件组件,可以了解JavaSwing编程或者awt相关知识。

       æ¯”如:企业级应用开发,这里是JAVA的天地,大到全国联网的系统,小到中小企业的应用解决方案,Java都占有极为重要的地位。

       å¦å¤–还有移动领域,典型的应用是手机游戏(国内主要是这方面),这里是J2ME的天地,其实应用范围是很广的。

       å¦‚何用Java做网站?

       java用来制作网站,一般是使用现成的框架,如下:

       java可以用来做网站

       java开发平台一般有三个版本:其中javaee用来网站开发

       *JavaSE(JavaPlatform,StandardEdition)。JavaSE以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。JavaSE包含了支持JavaWeb服务开发的类,并为JavaPlatform,EnterpriseEdition(JavaEE)提供基础。

       *JavaEE(JavaPlatform,EnterpriseEdition)。这个版本以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。JavaEE是在JavaSE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-orientedarchitecture,SOA)和Web2.0应用程序。

       *JavaME(JavaPlatform,MicroEdition)。这个版本以前称为J2ME。JavaME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。JavaME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于JavaME规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

学习Java可以做什么?

       å­¦ä¹ Java可以做什么?Java并不是为Internet,WWW而设计的,它也可以用来编写独立的应用程序。Java是一种面向对象语言。Java语言类似于C++语言,所以已熟练掌握C++语言的编程人员,再学习Java语言就容易得多!Java程序需要编译。实际上有两种Java程序:一种Java应用程序是一个完整的程序,如Web浏览器。一种Java小应用程序是运行于Web浏览器中的一个程序。下面具体介绍一下学习Java之后可以做什么?

       ä¸€ã€å­¦ä¹ Java可以做什么?Java可以用来做网站

       Java可以用来做网站,很多大型网站都是用JSP写的,JSP全名JavaServerPages。这是一种动态网页技术,比如我们熟悉的B站,很多政府网站都是用这个写的所以想学习Java的同学还可以负责网站方面的制作,这方面的岗位也比较多,比如:网站开发,当然就是JSP+Servlet+JavaBean,一直以来都相当流行。

       äºŒã€å­¦ä¹ Java可以做什么?Java可以做安卓软件

       å®‰å“是一个手机系统基于Linux的操作系统,其中源代码Java,市面上所有的安卓手机,包括小米,oppo,华为手机系统都是修改Java运行的,Java做安卓也不只是只能做系统,对于更多的程序开发人员来说,更多的时间是花在APP上,也就是手机上的各种软件都是用Java写的,Java做安卓不单单是指系统,还有APP对于更多的开发人员来说,他们更多的时间是花在开发APP上面。如果你还在寻找Java在哪运用,你不用东奔西走的寻找,你的身边就是。Android手机,随便打开一个App应用,他们就是用Java语言,从Google上搜索Android的API文档,你就会发现它和Java的JDK文档惊人的相似。

       ä¸‰ã€å­¦ä¹ Java可以做什么?Java可以用来做游戏

       ä»¥å‰è¯ºåŸºäºšæ‰‹æœºé£Žé¡å¤©ä¸‹çš„时候,上面的很多小游戏都是用Java写的,只是现在都多去开发安卓了,电脑上的大多数也是用Java来开发的,最经典的就是《我的世界》,当今世界最具影响力的游戏英雄联盟,吃鸡就是用Java写的

       å››ã€å­¦ä¹ Java可以做什么?Java可以用来写软件

       å¾ˆå¤šç¼–程语言都是可以来写软件的,但Java是现在最适用最广泛的,比如:企业级应用开发,这里是Java的天地。还有OA、邮箱、投票、金融、考试、物流、医疗、矿山等信息方面的系统,Java都占有极为重要的地位。现在国内的最热门的就是手机应用,学习Java去做手机应用还是比较吃香的,比如:企业级应用开发,这里是Java的天地,大到全国联网的系统,小到中小企业的应用解决方案,Java都占有极为重要的地位,另外还有移动领域,典型的应用是手机游戏(国内主要是这方面),这里是J2ME的天地,其实应用范围是很广的。

       äº”、学习Java可以做什么?Java服务器程序

       Java在金融服务业的应用非常广泛,许多跨国投资银行例如:GoldmanSachs(高盛投资),Citigroup(花旗集团),Barclays(巴克莱银行)以及其他银行,都用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。

       å¤§å¤šæ•°æƒ…况下,Java被用在服务器端开发,但多数没有任何前端,它们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)。

       å…­ã€å­¦ä¹ Java可以做什么?Java大数据技术

       Hadoop以及其他大数据处理技术都是用Java或者其他,例如Apache的基于Java的HBase和Accumulo以及ElasticSearchas。但是Java在此领域并未占太大空间,但只要Hadoop和ElasticSearchas能够成长壮大,Java依旧还有潜力去在这个市场占据一部分。

       é€šè¿‡ä¸Šé¢çš„介绍对于具体Java是做什么的由来一定的了解和认识,那么对于拥有Java技术的程序员来说,职业道路的选择十分的宽广,行业前景之广阔都是可以预见。所以,赶快抓住机遇来昆明北大青鸟Java开发培训班学Java开发吧!

J2EE能从事什么岗位?

       ä¸€ã€Android应用

       æˆ‘们的Android手机里,基本上所有的App应用,它们的开发语言就是Java。

       ç›¸å…³å²—位:Android开发工程师、Android架构师、Android驱动开发、Android逆向工程师(偏测试)等

二、软件/开发领域

       é™¤äº†å¼€å‘手机app应用,电脑上常用的软件程序也少不了用Java开发。

       ç›¸å…³å²—位:软件开发工程师、Java运维开发工程师等

四、网站领域

       åœ¨ç”µå•†é¢†åŸŸä»¥åŠç½‘站开发领域也有Java的身影。

       ç›¸å…³å²—位:web前端开发、网站后台开发工程师、高级后端开发工程师等

五、系统开发

       æ¯”如很多的交易系统,现已是金融服务产业的一个很大的部分,它们同样也是Java编写。

       ç›¸å…³å²—位:分析系统-JAVA技术专家、java系统架构师、各行业需要的后台开发等。

六、大数据领域

       æ²¡é”™ï¼Œå¤§æ•°æ®é¢†åŸŸä¸­ä¹Ÿä¼šåº”用到java。

       Hadoop以及其他大数据处理技术中会有java的参与,例如Apache的基于Java的HBase和Accumulo以及ElasticSearchas。

       ç›¸å…³å²—位:大数据开发(java)、Java大数据后台开发、大数据高级JAVA工程师、Java 研发工程师 - 大数据方向等。

       Java零基础的小伙伴,我建议看Java的在线教程去学习。

       ç¬¬ä¸€ï¼šå…ˆå­¦ä¹ Java的核心库(JavaSE)

       JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程……..

       ç¬¬äºŒï¼šMySQL数据库

       æžå®šä¸€é—¨æ•°æ®åº“相关的课程,例如:MySQL、Oracle,搞定一个就可以了,目前互联网公司,例如:京东、阿里等,他们都在使用MySQL,所以建议大家学习MySQL数据库,小巧轻盈,免费。

       ç”±äºŽäº’联网公司的项目访问量比较大,所以一般会搭建数据库的集群,可以一个数据库不够,所以需要搭建数据库集群,为了应付高并发。(搭建的比较多的时候,免费就很重要了。)

       ç¬¬ä¸‰ï¼šWEB前端

       ä»¥åŽä»Žäº‹Java开发,从事JavaEE开发,主要开发的系统结构是B/S结构的,B指的是Browser,S指的是Server。要开发这种系统,B端要会,S端也要精通。WEB前端的学习就是学习B端技术。

       åŒ…括:HTML 、CSS、JavaScript(JS)、jQuery框架(底层对JS进行了封装)…

       ç¬¬å››ï¼šJavaWEB

       WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java,他们都可以进行WEB后端的开发,我们既然选择了比较火爆的Java,那么我们学习的后端一定是基于Java语言实现的。

       åŒ…括:Servlet、Filter、Jsp、EL、JSTL、MVC架构模式、数据库连接池(阿里巴巴的Druid连接池)、代理模式(动态代理)。另外后端学习了之后,还要学习一个异步编程技术AJAX。(完成网页的局部刷新,AJAX其实不属于后端,是前端浏览器上的程序。)

       å­¦ä¹ åˆ°è¿™é‡Œä¸ºæ­¢ï¼Œè¡¨ç¤ºJava基本/基础的技术已经学完了。但是这些最基层的技术在实际的开发中不会使用的,一般为了开发效率,都会使用大量的提前封装好的框架。

       ç¬¬äº”:最好能够停留下来,做一个项目。

       è¿™ä¸ªé¡¹ç›®æœ€å¥½èƒ½å°†ä¹‹å‰æ‰€å­¦å…¨éƒ¨ä¸²èµ·æ¥ã€‚(对以前的知识点进行巩固。)

       è¿™ä¸ªé¡¹ç›®æœ€å¥½æ˜¯åŸºäºŽï¼šServlet + Jsp+AJAX+jQuery+MySQL….

       åœ¨è¿™ä¸ªé¡¹ç›®çš„开发过程中:大家一定要记住,目前比较好的项目自动构建工具:Maven是一定要精通的。还有一个就是团队协作开发:Git/SVN是一定要会用的。(目前使用Git比较多一些。)

       ç¬¬å…­ï¼šå­¦ä¹ é«˜çº§æ¡†æž¶

       Spring、SpringMVC、MyBatis(持久层框架,这个框架互联网公司使用比较多,因为互联网项目需要进行SQL优化,MyBatis的SQL优化很方便,所以大部分都是使用MyBatis)

       Struts2(很少使用了,使用这个的肯定是很老的项目)、Hibernate(传统企业,还有政府等可能会使用Hibernate。)

       SpringBoot(新项目大部分使用的都是boot了。所以在项目中遇到还在使用SSM的一般都是遗留项目。)

       å½“你走到这里之后,基本上你可以出山了。(去找工作应该问题不大,但前提是你学得好。学习的深度够了,广度够了。)

       ç¬¬ä¸ƒï¼šæœ€å¥½èƒ½æœ‰ä¸€ä¸ªå¤§åž‹é¡¹ç›®æ˜¯ä½¿ç”¨æ¡†æž¶æ¥å®Œæˆçš„。

       SpringBoot做一个项目。

       Spring SpringMVC MyBatis做一个项目。

       è¿™ä¸ªé¡¹ç›®æœ€å¥½æ˜¯æ‰¾å‡ ä¸ªäººæ­ä¼™åšä¸€ä¸‹ã€‚体验一下团队协作。(尤其是使用一些协作的工具。怎么沟通,怎么写日报,怎么开会,怎么使用Git,等等….)

       ç¬¬å…«ï¼šå¦‚果你的薪资想达到K的话,你可能需要还要学习一些分布式相关的一些技术。

       èƒ½å¤Ÿåº”付高并发的一些技术,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..

       æœ€åŽåœ¨å•°å—¦ä¸€ä¸‹ï¼Œä¸€å®šè¦å½¢æˆè‡ªå·±çš„编程思想。

       ç¼–程思想的形成很难。需要大量代码的堆积才可以。怎么形成编程思想呢?

       åƒä¸‡åˆ«æ­»æŠ„代码。不要像行尸走肉般的抄代码,没有用。只能提高指法速度,无法形成编程思路。

       1、打好基础是重中之重

       åŸºç¡€éƒ¨åˆ†å¯èƒ½å¾ˆæž¯ç‡¥ï¼Œä½†æ˜¯ä¸€å®šè¦è€å¿ƒåšæŒä¸‹åŽ»ã€‚因为打基础好比是在造轮子造汽车,没有打好基础在后面的学习就好比走路,可以说后面遇到的百分之七八十的问题都是基础没学好造成的。

       2、多看官方文档多读源码

       ä¸€å®šè¦çœ‹JDK相关类库、常用框架各种功能的源码,去了解其底层实现的原理。总的来说这个也是在打基础的部分,Java基础非常扎实才能看懂,在我们学习一个类的源码时,肯定会衍生出其他各种各样的问题,供我们来了解和学习,这也就是我们下一步学习的目标和方向。慢慢的,我们就会学习更多的知识,并积累更多的经验。

       3、系统性学习,循序渐进

       ä¸è¦æ€¥äºŽæ±‚成,每个知识点都要看,并且每个知识点都要勤加练习。有的同学在学习过程中觉得这个知识点简单,就跳着学习,其实这是个很大的问题,知识点细节必须要了解。我们学习Java需要循序渐进,一步一步来,不能操之过急。

       4、遇到问题

       é‡åˆ°ä¸ä¼šåšçš„问题,当然不能置之不理。先在网上查,目前网络上针对很多问题都有完美的解决方案,如果网上没有类似的问题,那可能是你犯了什么小错误。也不要在这个问题上花费太多时间,这需要一定的学习技巧。Java中的知识有很强的相关性,有不懂的地方,可以用其他周边相关知识再回过头来理解,这样既不会耽误学习进度,又能理解自己不懂的地方

       1)jvm有很多种,其实jvm是一个标准,sun做的那个叫hotspot,作者就是后来v8的作者lars bak,其他公司也做过jvm,其中做得比较好的有bea的jrockit,其他的包括ibm的r9,apple的jvm等在内,都做得不行,所以jvm主要是整合淘汰掉这些做得不好的jvm(s),整合成一个统一的openjdk。

       2)java是典型的oop语言,其执行效率的优化,最早就是lars bak等人从smalltalk等长期优化的经验中总结出来并apply到hotspot上去滴,而smalltalk在早期apple机上搞出了那种拖拖拽拽就开发出app的做法,后来vc,delphi之类的其实都是抄袭或者说借鉴apple的smalltalk的做法,jobs说微软从头到尾都在抄袭apple是空穴来风,这里空穴来风跟王垠使用的空穴来风是一个意思,有趣的是,java的gui并没有继承这种搞法,反而对这种拖拖拽拽就作出app的做法批判有加,到今天,其实java的gui都还不能真正做到拖拖拽拽就作出来,问题很多,个人建议对于纯java的gui开发,还是以写代码为主。

       3)jee也是一个或者说是一堆标准,知乎上有些人把maven,jenkins都算做jee是不对滴,jee的标准核心是ejb,其实就是一个xml配置化的java文件,这个标准在4的时候,达到了顶峰状态,几乎所有的挨踢大厂都主动支持该标准,之后开始走下坡路,支持的厂越来越少。

       4)java和javascript的关系比很多人认为的要密切,javascript里面的java这四个字母可不是白叫的,比如js的版权和商标都控制在oracle手里,oracle对于js的支持甚至超过其对java的支持,并且喜欢捆绑销售,比如jvm里面就有一个js引擎。

       5)jvm里面除了js engine以外还有一个浏览器排版引擎webkit,就是apple safari和google chrome用的那个那个。

       6)java支持绝大多数脚本语言,你能叫得上名字的脚本语言,几乎都可以在jvm上执行,比如常见的js,ruby,python,甚至php,lua,只不过除了js以外你需要找到相关的脚本引擎。

       7)spring的版权被控制在vmware手里,其实spring的那一大堆东西,本质上是一个非标准的jee实现,比如在jee里面用的inject,在spring里面就是autowire,当然spring曾经深刻滴影响了jee,所以有些东西比如di标准,是spring影响下制定出来的,所以spring的做法会比较特例一点。

       8)maven上的jars数量前两天突破万,其他语言的类库,排名第二的是npm,大概数量是maven的十分之一,也就是几十万,不知道现在突破万没有,然后是gem,也就是ruby那个,大概是十几万,下来是python的module,大概数量级是几万,没突破十万。

       9)java的标准是由一个叫做jcp的组织制定的,所有标准需要经过jcp的执行委员会通过方可执行,jcp几乎包括了你所知道的绝大多数知名挨踢公司和组织,比如google,apple,ibm,intel,arm,red hat,twitter等,还有一些教育机构,比如我国的北京大学,阿里最近一次申请jcp执行委员会成员资格,似乎投票不通过,最近一次执行委员会新增两个成员是arm和jetbrains。

       ï¼‰å¾®è½¯ä¹Ÿæ›¾ç»æ˜¯jcp甚至是java的主要贡献者,但是利益驱使下,想扩展java,从而破坏java跨平台的特性,所以跟sun闹翻,其本质原因就是想让客户写的java代码跟windows绑定,sun坚决不同意,闹翻,今天回头看这个结果,只能说:双输,sun挂了,微软的ria也离挂不太远了,silverlight已经放弃了,比起当年ie自带有jvm的支持来说,那完全就是两回事。

       ï¼‰é™¤äº†å¾®è½¯ä»¥å¤–,jcp还缺少一个重要组织apache,因为apache跟oracle也闹翻了,oracle似乎并不在乎开源组织,而更在意商业公司的支持。

       ï¼‰java曾经有一个内置的数据库,9之后被剥离。

       ï¼‰j2me是j2se的子集。

       ï¼‰vert.x作者tim fox最早在vmware做spring时候看到了node.js,萌生出了制作支持多核的node.x的想法,并在离开vmware后加入red hat将其实现,vmware看到后开始耍无赖,claim node.x后来改叫vert.x的版权,不惜跟red hat打官司,后来各方妥协,将其交给eclipse foundation。

       ï¼‰oracle在收购bea之前,一开始的目标并不是bea和bea的weblogic,而是jboss,但是jboss表现出了极为有种的一面,在oracle收购成功之前,投入了red hat的怀抱,因为都是开源组织,从此jboss成了red hat的一个子部门,oracle收购jboss失败之后,转向bea,庄思浩气死了,但是没用,最后还是被恶意收购。

       ï¼‰sun在玩不下去之前最早尝试接触的目标是ibm,ibm嫌太贵,放弃之后,被转手给了oracle。(Java学习交流QQ群: 我们一起学Java!)

       ï¼‰vert.x的作者tim fox在离开red hat之前曾经发过twitter抱怨,外人比如我们,猜测是因为red hat内部已经有了一个jboss,所以跟vert.x在应用上有了重叠,所以导致tim fox的出走,但是出走之后,red hat答应对vert.x做持续性的战略投入,所以vert.x core的几个developers,其实拿的是red hat的工资,但是vert.x的版权并不在red hat手里,而在eclipse foundation手里。

       ï¼‰vert.x的几个核心开发人员都是google summer of code的导师,每年年初时候会招收在校大学生搞项目。

       ï¼‰æ•™è‚²æœºæž„相关:scala的作者马丁是德国人,eth的博导,groovy的主要领导人是法国人,jruby背后是东京大学,jboss的作者是法国大学校x的校友,x就是伽罗瓦考不进去的那所大学,伽罗瓦进不了x,所以改读巴黎高师,tim fox毕业于帝国理工,主席去的那个,netty作者trustin lee是acm银牌,现在line工作,毕业于sky里面的延世大学,kotlin是毛子公司jetbrains的作品,看linkedin,很多人毕业自圣彼得堡大学,spring作者rod johnson是悉尼大学的音乐博士,hibernate作者gavin king是澳洲莫那什大学的数学本科毕业生,james gosling这种cmu和calgory的估计烂大街了,sun是斯坦福大学网络的意思,夹带两个私货,aspectj有一个维护小组在mcgill,hbase跟waterloo关系密切。

       ï¼‰java早期被人认为慢,跟java坚持不用硬件加速渲染有关,死活就是不肯接入directx和opengl,7之后总算开窍,搞了一个图形引擎接入了directx/opengl。

       ï¼‰casssandra是facebook做失败的项目,被贡献给了apache之后老树开花。

       ï¼‰groovy被贡献给了apache,现在叫做apache groovy,ceylon被贡献给了eclipse,现在叫做eclipse ceylon。

       ï¼‰netflix现在是java shop,之前是用.net的。

       å…ˆæƒ³åˆ°è¿™ä¹ˆå¤šï¼Œæœ‰ç©ºå†å†™ã€‚

要成为一名大数据开发工程师必备哪些技能?

       首先我们要了解Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。

       大数据

       Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据基础。尚硅谷webservic源码

       Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。

       Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、手机名片psd源码MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。

       Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的php c语言源码下载信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。

       Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,摩拜单车app源码会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。

       Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的网站授权码系统源码压力。

       Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。

       Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。

       Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。

       Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。

       Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。

eclipse中Java程序实现对HBase操作报错:java.io.IOException: Attempt to start meta tracker failed.

       我hadoop和Hbase都是采用伪分布式的

       代码如下:

       public class HbaseTest {

       private static Configuration conf;

       static{

       conf = HBaseConfiguration.create();

       conf.set("hbase.rootdir", "hdfs://...2:/hbase");

       //使用eclipse时必须添加这个,否则无法定位

       conf.set("hbase.zookeeper.quorum", "...2");

       conf.set("hbase.zookeeper.property.clientPort", "");

       }

       public static void createTable(String tableName){

       System.out.println("start create table ......");

       try {

       HBaseAdmin hbAdmin = new HBaseAdmin(conf);

       if(hbAdmin.tableExists(tableName)){

       hbAdmin.disableTable(tableName);

       hbAdmin.deleteTable(tableName);

       System.out.println(tableName + " is exist,detele ....");

       }

       // HTableDescriptor htd = new HTableDescriptor(tableName);

       HTableDescriptor htd = new HTableDescriptor(tableName);

       htd.addFamily(new HColumnDescriptor("cf1"));

       htd.addFamily(new HColumnDescriptor("cf2"));

       htd.addFamily(new HColumnDescriptor("cf3"));

       htd.addFamily(new HColumnDescriptor("cf4"));

       hbAdmin.createTable(htd);

       } catch (MasterNotRunningException e) {

       // TODO Auto-generated catch block

       e.printStackTrace();

       } catch (ZooKeeperConnectionException e) {

       // TODO Auto-generated catch block

       e.printStackTrace();

       } catch (IOException e) {

       // TODO Auto-generated catch block

       e.printStackTrace();

       }

       System.out.println("end create table ......");

       }

       public static void main(String[] args) {

       createTable("testTable");

       }

       更多0

如何在windows平台上用Eclipse调试运行HBase

       ã€€ã€€æ“ä½œæ­¥éª¤å¦‚下:

       ã€€ã€€1.下载和安装cygwin;

       ã€€ã€€2.下载新的Zookeeper包和HBase包,这里ZooKeeper版本为3.3.1,HBase版本为0..4

       ã€€ã€€3.把利用它们的源码包在Eclipse下生成2个独立的Project,注意:zookeeper工程,要把那个conf目录加入到工程的src中去

       ã€€ã€€4.修改zookeeper工程下的conf目录中的zoo.cfg文件,例子如下:

       ã€€ã€€# The number of milliseconds of each tick

       ã€€ã€€tickTime=

       ã€€ã€€# the directory where the snapshot is stored.

       ã€€ã€€dataDir=D:/zookeeper-3.3.1/data

       ã€€ã€€# the port at which the clients will connect

       ã€€ã€€clientPort=

       ã€€ã€€å°±æ˜¯ç»™zookeeper指定文件存放的地方以及端口

       ã€€ã€€5.启动zookeeper

       ã€€ã€€åœ¨Eclipse中新建一个Run config,main class为:org.apache.zookeeper.server.quorum.QuorumPeerMain

       ã€€ã€€å¯åŠ¨çš„程序参数为:D:/workspace/zookeeper3.3.1/conf/zoo.cfg

       ã€€ã€€å¯åŠ¨çš„虚拟机参数为:

       ã€€ã€€-Dzookeeper.log.dir=D:/workspace/zookeeper3.3.1/log

       ã€€ã€€-Dzookeeper.root.logger=INFO,CONSOLE

       ã€€ã€€å¦‚图所示:

       ã€€ã€€å¥½äº†ï¼Œè¿™æ ·å°±å¯ä»¥åœ¨Eclipse中把ZooKeeper启动起来了。

       ã€€ã€€6.修改HBase project中的一个类

       ã€€ã€€org.apache.hadoop.hbase.LocalHBaseCluster

       ã€€ã€€æ‰¾åˆ°å®ƒçš„main函数,把main函数改成下

       ã€€ã€€public static void main(String[] args) throws IOException {

       ã€€ã€€HBaseConfiguration conf = new HBaseConfiguration();

       ã€€ã€€conf.set("hbase.zookeeper.quorum", "localhost");

       ã€€ã€€conf.set("hbase.zookeeper.property.clientPort", "");

       ã€€ã€€LocalHBaseCluster cluster = new LocalHBaseCluster(conf,1);

       ã€€ã€€cluster.startup();

       ã€€ã€€}  

       ã€€ã€€æ³¨æ„è¡Œï¼šLocalHBaseCluster cluster = new LocalHBaseCluster(conf,1); 构造函数中的1是代表Region server的个数,在这里只想起一个region server.

       ã€€ã€€7.修改HBase的配置文件

       ã€€ã€€åœ¨HBase project下的src中可以看到hbase-default.xml和hbase-site.xml两个文件,改哪个都可以。直接在hbase-default.xml改的,重要的是下面3个属性hbase.rootdir,hbase.cluster.distributed,hbase.tmp.dir,

       ã€€ã€€æŠŠhbase.rootdir,hbase.tmp.dir都指向了本地的目录,当然可以根据自己的需要调整,当然格式一定一样写。

       ã€€ã€€<property>

       ã€€ã€€<name>hbase.rootdir</name>

       ã€€ã€€<value>file:///D:/hbase-0..3/data </value>

       ã€€ã€€<description>The directory shared by region servers.

       ã€€ã€€Should be fully-qualified to include the filesystem to use.

       ã€€ã€€E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR

       ã€€ã€€</description>

       ã€€ã€€</property>

       ã€€ã€€<property>

       ã€€ã€€<name>hbase.cluster.distributed</name>

       ã€€ã€€<value>false </value>

       ã€€ã€€<description>The mode the cluster will be in. Possible values are

       ã€€ã€€false: standalone and pseudo-distributed setups with managed Zookeeper

       ã€€ã€€true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)

       ã€€ã€€</description>

       ã€€ã€€</property>

       ã€€ã€€<property>

       ã€€ã€€<name>hbase.tmp.dir</name>

       ã€€ã€€<value>D:/hbase-0..3/tmp </value>

       ã€€ã€€<description>Temporary directory on the local filesystem.</description>

       ã€€ã€€</property>

       ã€€ã€€<property>  

       ã€€ã€€8.启动HBase,直接run org.apache.hadoop.hbase.LocalHBaseCluster就可以,run config不需要没有什么别的配置。当然就也可以debug了。