Hadoop框架基础(二)
** 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创建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框架基础(二)的更多相关文章
- Hadoop 框架基础(四)
** Hadoop 框架基础(四) 上一节虽然大概了解了一下 mapreduce,徒手抓了海胆,不对,徒手写了 mapreduce 代码,也运行了出来.但是没有做更深入的理解和探讨. 那么…… 本节目 ...
- Hadoop框架基础(五)
** Hadoop框架基础(五) 已经部署了Hadoop的完全分布式集群,我们知道NameNode节点的正常运行对于整个HDFS系统来说非常重要,如果NameNode宕掉了,那么整个HDFS就要整段垮 ...
- Hadoop框架基础(三)
** Hadoop框架基础(三) 上一节我们使用eclipse运行展示了hdfs系统中的某个文件数据,这一节我们简析一下离线计算框架MapReduce,以及通过eclipse来编写关于MapReduc ...
- Hadoop框架基础(一)
** Hadoop框架基础(一) 学习一个新的东西,传统而言呢,总喜欢漫无目的的扯来扯去,比如扯扯发展史,扯扯作者是谁,而我认为这些东西对于刚开始接触,并以开发为目的学者是没有什么帮助的,反而 ...
- TP框架基础 (二) ---空控制器和空操作
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...
- Hive框架基础(二)
* Hive框架基础(二) 我们继续讨论hive框架 * Hive的外部表与内部表 内部表:hive默认创建的是内部表 例如: create table table001 (name string , ...
- HBase框架基础(二)
* HBase框架基础(二) 上一节我们了解了HBase的架构原理和模块组成,这一节我们先来聊一聊HBase的读写数据的过程. * HBase的读写流程及3个机制 HBase的读数据流程: 1.HRe ...
- PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类
一.程序设计 1.设计功能系统——数据表设计.数据表创建语句.连接数据库的方式.编码能力 二.框架基础知识 1.MVC框架基本原理——原理.常见框架.单一入口的工作原理.模板引擎的理解 2.常见框架的 ...
- django 基础框架学习 (二)
Django框架基础-02 Django缓存cookie 1.说明 当我们服务器在响应数据的同时,希望写⼊⼀些缓存数据到客户端 我们可以选择在响应的同时,将要写⼊到客户端的 ...
随机推荐
- OS 中文斜体 Italic Font Chinese - iOS_Girl
CGAffineTransform matrix = CGAffineTransformMake(1, 0, tanf(15 * (CGFloat)M_PI / 180), 1, 0, 0); UI ...
- html屏蔽鼠标右键
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 夜· 启程
有写博客的念头,还是在去年的时候. 那天早上我非常兴奋,也非常忐忑.由于我立即要去JD面试.JD大家都知道的,对我这样的没见过世面的人来说.这就是个高高在上殿堂. 结果我的满腔热血.被一张面试题卷给浇 ...
- m_Orchestrate learning system---二十、如何写代码不容易犯错
m_Orchestrate learning system---二十.如何写代码不容易犯错 一.总结 一句话总结:能排序多排序 这次查错的启示: 1.代码数据更规整:要是取出的数据排序的话可以减少很多 ...
- systemd服务管理---systemctl命令列出所有服务
1.列出系统所有服务 #systemctl list-units --all --type=service
- VC++ LPARAMA 转换成CString
如果是SendMessage发送的CString CString s = "xxxxxx";SendMessage(hWnd,WM_XXXX,NULL,(LPARAM)&s ...
- ZOJ 3321 Circle【并查集】
解题思路:给定n个点,m条边,判断是否构成一个环 注意到构成一个环,所有点的度数为2,即一个点只有两条边与之相连,再有就是判断合并之后这n个点是否在同一个连通块 Circle Time Limit: ...
- the prblem 3n+1
题目描述计算机科学中的问题通常被归类为属于某一类问题(例如,NP,不可解,递归).在这个问题中,您将分析算法的属性,该算法的分类对于所有可能的输入都是未知的. 考虑下面的算法: 1.输入n 2.输出n ...
- mysql插入数据出现java.lang.NullPointerException
在写购物车持久层的时候,要进行测试的时候居然出现了空指针异常: 最后发现是测试类少了 @RunWith(SpringRunner.class)@SpringBootTest 如下是没改之前的测试类: ...
- iOS开发——循环遍历的比较
常用的有for in.for循环.EnumerateObjectsUsingBlock 1.小规模的数据无所谓,但是对大量数据,for in 的遍历速度非常之快,不是for循环能比的: 2.对于数组, ...