** 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. C++链接和执行相关错误

    http://blog.csdn.net/pipisorry/article/details/37610401 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文 ...

  2. java Semaphore信号亮-同意多个任务同一时候訪问这个资源--thinking in java21.7.6

    package org.rui.thread.newc.semaphore; import java.util.ArrayList; import java.util.List; import jav ...

  3. UnrealEngine4初始化流程

    自古以来全部的游戏引擎都分为三个大阶段:Init,Loop,Exit.UE4也不例外. 首先找到带有入口函数的文件:Runtime/Launch/Private/XXXX/LaunchXXXX.cpp ...

  4. python 3.x 学习笔记13 (网络编程socket)

    1.协议http.smtp.dns.ftp.ssh.snmp.icmp.dhcp....等具体自查 2.OSI七层应用.表示.会话.传输.网络.数据链路.物理 3.socket: 对所有上层协议的封装 ...

  5. NEC芯片特别说明

    NEC芯片注意点: 1.堆栈和RAM共用,而且是程序中自定义堆栈的空间,堆栈是向下递减堆栈. 2.中断中标志位的清除可以不用手动清除,在中断服务程序中运行任何一条指令后自动清除. 3.中断服务程序有且 ...

  6. 关于Vue中父子组件相互传值

    Header为子组件,Home为父组件,通过子组件调用父组件 运行结果如下 下面是父组件调用子组件的案例 通过button按钮的click事件 图一是父组件Home中的run方法,图二是msg和fun ...

  7. 箭头函数的this

    定义时所处的对象就是它的this 看外层是否有函数 如果有,外层函数的this就是内部箭头函数的this 如果没有,this就是window let obj = { name : '箭头函数', ge ...

  8. [USACO16DEC]Cities and States省市

    题目:洛谷P3405. 题目大意:给你一些省市的名称(大写)和所在省的名称(两个大写字母),求有多少对城市满足:A城市的名字的前两个字母等于B城市所在省的名称,且A所在省的名称等于B城市的名字的前两个 ...

  9. 【codeforces 496E】Distributing Parts

    [题目链接]:http://codeforces.com/contest/496/problem/E [题意] 给你n个歌曲; 每个歌曲有一个需要声音的区间li,ri; 然后给你m个人; 每个人也有一 ...

  10. 压缩和还原压缩的JS代码

    压缩JS代码:packer – 最好用的 javascript 压缩工具地址: http://dean.edwards.name/packer/ http://kan.willin.org/?page ...