** Hadoop框架基础(二)

上一节我们讨论了如何对hadoop进行基础配置已经运行一个简单的实例,接下来我们尝试使用eclipse开发。

** maven安装

简单介绍:maven是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理。

1、maven下载地址

链接:http://pan.baidu.com/s/1c2AD9cc 密码:1pvo

2、普通用户权限下解压maven到modules目录,如图:

 
 

3、配置maven环境变量

切换到root用户下,使用命令:# vi /etc/profile,添加如图内容:

 
 

保存退出后,使用source /etc/profile命令使之生效

4、创建maven依赖包位置

使用命令:

$ mkdir /home/z/.m2/

解释:maven的默认依赖包会在该目录下,手动创建一个,一会便于把已经下载好的离线包放进去

离线包下载地址:

链接:http://pan.baidu.com/s/1kUXjEYz 密码:typ7

将该包上传到虚拟机系统后,使用命令:

$ tar -zxf /opt/softwares/repository.tar.gz -C /home/z/.m2,解压后如图:

 
 

** eclipse 安装

简单介绍:微笑:)

1、eclipse下载地址

链接:http://pan.baidu.com/s/1kVBLgKR 密码:0ypf

2、普通用户权限下解压eclipse到modules目录,如图:

 
 

3、打开eclipse

注意,此时打开eclipse必须在虚拟机系统中的终端打开(或手动双击图标打开),不可使使用SecureCRT打开。

打开方式:进入到eclipse的安装目录,使用命令:

./eclipse,如图:

 
 

回车后,即可打开,工作空间你随便选个位置即可。我这边默认使用:

/home/z/workspace该位置作为我默认的工作空间。

4、eclipse简单配置

eclipse界面中依次点击--Window--Preferences,如图:

 
 

指定maven路径,通过点击add按钮,选择你的maven安装目录,如图:

 
eclipse的其他设置,如字体大小,行号等等,不在本节讲解,请自行查阅

** 使用eclipse创建maven项目

进行如图操作:

 
 

下一步

 
 

下一步

 
 

完成如图

 
 

修改pom.xml配置

1、修改junit的版本号,从3.8.1改为4.10

2、添加hadoop依赖

修改后如图:

 
 

创建src/main/resource目录

解释:

1、用于存放core-site.xml、hbase-site.xml等,以便于开发,创建后如图:

(因为开发时有时需要读取这些xml文件的配置)

 
 
 
 

2、拷贝core-site.xml到该目录下,使用命令:

$ cp /opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml /home/z/workspace/hdfs/src/main/resource/

之后在eclipse中刷新该目录,如图:

 
 
 
 

3、创建一个PutHdfs类

编写如下代码,便可以通过控制台展示出上一节的words.txt文档中的内容,后面会稍微解释代码内容

 
 
 
 

解释:

1、Configuration是一个配置对象,可以用来动态设置类似core-site.xml中的属性,通过查看源码,看到它默认加载的配置文件为:

 
 

2、FileSystem是一个文件系统管理对象,它可以用来操作hdfs文件系统中的文件,比如删除hdfs中的某个文件,读取,写入,等等。

3、剩下的内容只要有点Java基础,基本都能够看懂了,方法中都有对应的注释,读者可以点进去查看理解。

尖叫提示:

相关API文档:http://hadoop.apache.org/docs/r2.5.2/api/index.html

** 总结

这一节主要讲解如何通过eclipse来运行一个简单的操作文件系统中文件的demo,请熟练其配置方式。


个人微博:http://weibo.com/seal13

QQ大数据技术交流群(广告勿入):476966007


作者:Z尽际
链接:https://www.jianshu.com/p/5265216ef648
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Hadoop框架基础(二)的更多相关文章

  1. Hadoop 框架基础(四)

    ** Hadoop 框架基础(四) 上一节虽然大概了解了一下 mapreduce,徒手抓了海胆,不对,徒手写了 mapreduce 代码,也运行了出来.但是没有做更深入的理解和探讨. 那么…… 本节目 ...

  2. Hadoop框架基础(五)

    ** Hadoop框架基础(五) 已经部署了Hadoop的完全分布式集群,我们知道NameNode节点的正常运行对于整个HDFS系统来说非常重要,如果NameNode宕掉了,那么整个HDFS就要整段垮 ...

  3. Hadoop框架基础(三)

    ** Hadoop框架基础(三) 上一节我们使用eclipse运行展示了hdfs系统中的某个文件数据,这一节我们简析一下离线计算框架MapReduce,以及通过eclipse来编写关于MapReduc ...

  4. Hadoop框架基础(一)

    ** Hadoop框架基础(一)     学习一个新的东西,传统而言呢,总喜欢漫无目的的扯来扯去,比如扯扯发展史,扯扯作者是谁,而我认为这些东西对于刚开始接触,并以开发为目的学者是没有什么帮助的,反而 ...

  5. TP框架基础 (二) ---空控制器和空操作

    通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...

  6. Hive框架基础(二)

    * Hive框架基础(二) 我们继续讨论hive框架 * Hive的外部表与内部表 内部表:hive默认创建的是内部表 例如: create table table001 (name string , ...

  7. HBase框架基础(二)

    * HBase框架基础(二) 上一节我们了解了HBase的架构原理和模块组成,这一节我们先来聊一聊HBase的读写数据的过程. * HBase的读写流程及3个机制 HBase的读数据流程: 1.HRe ...

  8. PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类

    一.程序设计 1.设计功能系统——数据表设计.数据表创建语句.连接数据库的方式.编码能力 二.框架基础知识 1.MVC框架基本原理——原理.常见框架.单一入口的工作原理.模板引擎的理解 2.常见框架的 ...

  9. django 基础框架学习 (二)

    Django框架基础-02 Django缓存cookie 1.说明        当我们服务器在响应数据的同时,希望写⼊⼀些缓存数据到客户端        我们可以选择在响应的同时,将要写⼊到客户端的 ...

随机推荐

  1. OS 中文斜体 Italic Font Chinese - iOS_Girl

    CGAffineTransform matrix =  CGAffineTransformMake(1, 0, tanf(15 * (CGFloat)M_PI / 180), 1, 0, 0); UI ...

  2. html屏蔽鼠标右键

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 夜&#183; 启程

    有写博客的念头,还是在去年的时候. 那天早上我非常兴奋,也非常忐忑.由于我立即要去JD面试.JD大家都知道的,对我这样的没见过世面的人来说.这就是个高高在上殿堂. 结果我的满腔热血.被一张面试题卷给浇 ...

  4. m_Orchestrate learning system---二十、如何写代码不容易犯错

    m_Orchestrate learning system---二十.如何写代码不容易犯错 一.总结 一句话总结:能排序多排序 这次查错的启示: 1.代码数据更规整:要是取出的数据排序的话可以减少很多 ...

  5. systemd服务管理---systemctl命令列出所有服务

    1.列出系统所有服务 #systemctl list-units --all --type=service

  6. VC++ LPARAMA 转换成CString

    如果是SendMessage发送的CString CString s = "xxxxxx";SendMessage(hWnd,WM_XXXX,NULL,(LPARAM)&s ...

  7. ZOJ 3321 Circle【并查集】

    解题思路:给定n个点,m条边,判断是否构成一个环 注意到构成一个环,所有点的度数为2,即一个点只有两条边与之相连,再有就是判断合并之后这n个点是否在同一个连通块 Circle Time Limit: ...

  8. the prblem 3n+1

    题目描述计算机科学中的问题通常被归类为属于某一类问题(例如,NP,不可解,递归).在这个问题中,您将分析算法的属性,该算法的分类对于所有可能的输入都是未知的. 考虑下面的算法: 1.输入n 2.输出n ...

  9. mysql插入数据出现java.lang.NullPointerException

    在写购物车持久层的时候,要进行测试的时候居然出现了空指针异常: 最后发现是测试类少了 @RunWith(SpringRunner.class)@SpringBootTest 如下是没改之前的测试类: ...

  10. iOS开发——循环遍历的比较

    常用的有for in.for循环.EnumerateObjectsUsingBlock 1.小规模的数据无所谓,但是对大量数据,for in 的遍历速度非常之快,不是for循环能比的: 2.对于数组, ...