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.说明 当我们服务器在响应数据的同时,希望写⼊⼀些缓存数据到客户端 我们可以选择在响应的同时,将要写⼊到客户端的 ...
随机推荐
- Spring中@Transactional事务回滚(含实例具体解说,附源代码)
一.使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用. 以下举个栗子:比方一个部门里面有非常多成员,这两者分别保存在部门表和成员表里面,在 ...
- nova shelve 的使用
对于云中的资源我们常有例如以下需求 1,用户对临时不使用的VM进行停止操作.以节省费用. 2.对于长时间未使用的VM.管理员想要从hypervisor层面上清除它们从而节省主机资源. 3.但之前的停止 ...
- m_Orchestrate learning system---十六、如何快速在一堆字符图标中找到所需
m_Orchestrate learning system---十六.如何快速在一堆字符图标中找到所需 一.总结 一句话总结:find查找字符 比如说找teacher feedback 的图标,可以多 ...
- transient修饰符的作用
transient修饰符的作用: entity实体类: package com.baidu.entity; import com.fasterxml.jackson.annotation.JsonIg ...
- 简易Servlet计算器1.0
编写一个简易的Servlet计算器,暂时仅能实现 + - * / % 五种运算 jsp界面: <%@ page language="java" contentType=&qu ...
- Java8新特性 利用流和Lambda表达式对List集合进行处理
Lambda表达式处理List 最近在做项目的过程中经常会接触到 lambda 表达式,随后发现它基本上可以替代所有 for 循环,包括增强for循环.也就是我认为,绝大部分的for循环都可以用 la ...
- html5+css3+javascript 自定义弹出窗口
效果图: 源码: 1.demo.jsp <%@ page contentType="text/html;charset=UTF-8" language="java& ...
- hiho160周 - 字符串压缩,经典dp
题目链接 小Hi希望压缩一个只包含大写字母'A'-'Z'的字符串.他使用的方法是:如果某个子串 S 连续出现了 X 次,就用'X(S)'来表示.例如AAAAAAAAAABABABCCD可以用10(A) ...
- 数字游戏(string的sort的应用)
题目描述 牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减顺序排列,得到新的数,新数的 ...
- 路飞学城Python-Day18
[1.编程范式] 1.面向过程编程 2.面向对象编程 [2.面向过程编程] 面向过程:核心就是过程 什么是过程? 过程指的是解决问题的步骤,先做什么,在作什么,面向过程就像是设计一个流水线,是一种 ...