Hadoop hdfs编程案例

  • 一、 HDFS编程实践
    • 二、利用Java API与HDFS进行交互
      • 三、应用程序的部署

一、 HDFS编程实践

  1. 启动hadoop
    切换到hadoop安装目录
    cd /usr/local/Hadoop
    格式化hadoop的hdfs文件系统
    ./bin/hdfs namenode -format
    启动hadoop

    查看fs总共有哪些命令

创建用户目录:(多级目录)
cd /usr/local/Hadoop
./bin/hdfs dfs -mkdir –p /user/hadoop

创建两个文件
cd /usr/local/hadoop
./bin/hadoop fs -mkdir -p delete/test1
./bin/hadoop fs -mkdir -p delete/test2
查看创建的两个文件
./bin/hadoop fs -ls delete/

  1. 将文件上传到hadoop下的input中
    ./bin/hadoop fs -put -p /home/hadoop/myLocalFile.txt input
  2. 查看input目录中的文件
    ./bin/hadoop fs -ls input

  1. 查看myLocalFile.txt文件中的内容
    ./bin/hadoop fs -cat input/myLocalFile.txt

  2. 通过web来查询

二、利用Java API与HDFS进行交互

  1. 搜索eclipse进行安装
  2. 安装默认的工作目录下
  3. 创建项目:Dblab (File->new->java-project)


4. 安装项目加载所需要的jar包
Java API所在的jar包都在已经安装好的hadoop文件夹里,路径:/usr/local/hadoop/share/Hadoop
在该界面中,上面的一排目录按钮(即“usr”、“local”、“hadoop”、“share”、“hadoop”、“mapreduce”和“lib”),当点击某个目录按钮时,就会在下面列出该目录的内容。
为了编写一个能够与HDFS交互的Java应用程序,一般需要向Java工程中添加以下JAR包:
(1)”/usr/local/hadoop/share/hadoop/common”目录下的hadoop-common-2.7.1.jar和haoop-nfs-2.7.1.jar;
(2)/usr/local/hadoop/share/hadoop/common/lib”目录下的所有JAR包;
(3)“/usr/local/hadoop/share/hadoop/hdfs”目录下的haoop-hdfs-2.7.1.jar和haoop-hdfs-nfs-2.7.1.jar;
(4)“/usr/local/hadoop/share/hadoop/hdfs/lib”目录下的所有JAR包。
比如,如果要把“/usr/local/hadoop/share/hadoop/common”目录下的hadoop-common-2.7.1.jar和haoop-nfs-2.7.1.jar添加到当前的Java工程中,可以在界面中点击目录按钮,进入到common目录,然后,界面会显示出common目录下的所有内容.



当需要选中某个目录下的所有JAR包时,可以使用“Ctrl+A”组合键进行全选操作。全部添加完毕以后,就可以点击界面右下角的“Finish”按钮。
在Dblab项目中创建类HDFSFileifExist



6. 输入代码:1.判断文件test是否存在

7. 输出代码:判断文件myLocalFile.txt
判断结果 文件存在

三、应用程序的部署

  1. 将java应用程序生成jar包,部署到Hadoop平台上运行。
    在hadoop安装目录下新建一个名称为myapp的目录,用来存放我们自己编写的Hadoop应用程序。
    cd /usr/local/hadoop
    mkdir myapp

  2. 请在Eclipse工作界面左侧的“Package Explorer”面板中,在工程名称“HDFSExample”上点击鼠标右键,在弹出的菜单中选择“Export”

  3. 点击next

  4. “Launch configuration”用于设置生成的JAR包被部署启动时运行的主类,需要在下拉列表中选择刚才配置的类“HDFSFileIfExist-Dblab”。

  5. 在“Export destination”中需要设置JAR包要输出保存到哪个目录,比如,这里设置为“/usr/local/hadoop/myapp/Dblab.jar”。在“Library handling”下面选择“Extract required libraries into generated


6. 可以到Linux系统中查看一下生成的Dblab.jar文件

使用hadoop jar命令运行程序。命令如下:
方法一:
cd /usr/local/hadoop
./bin/hadoop jar ./myapp/Dblab.jar

方法二
cd /usr/local/hadoop
java -jar ./myapp/Dblab.jar

Hadoop hdfs编程案例和java交互相关推荐

  1. 云计算学习笔记---异常处理---hadoop问题处理ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.NullPoin

    云计算学习笔记---异常处理---hadoop问题处理ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.NullPoin ...

  2. Hadoop HDFS文件操作的Java代码

    1.创建目录 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.ha ...

  3. JAVA程序连接hadoop HDFS服务报无法连接。

    2019独角兽企业重金招聘Python工程师标准>>> 在虚拟机部署hadoop的HDFS系统,在centos系统中敲各种操作命令,对文件读取.上传.删除等都没什么问题.但用JAVA ...

  4. 解决办法:“Cannot lock storage /data/hadoop/hdfs/name. The directory is already locked.”

    在启动hadoop的时候,会出现namenode节点启动不起来的情况. 这时用以下命令查看日志: tail -100f /usr/local/hadoop/libexec/../logs/hadoop ...

  5. spark 2.2 读取 Hadoop3.0 数据异常 org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterfa

    spark 2.2 读取 Hadoop3.0 数据异常 Exception in thread "main" java.lang.IllegalAccessError: class ...

  6. hadoop hdfs空间满后重新启动不了

    server检查的时候.发现存在HDFS上的文件无法同步,再发现hadoop停掉了. 进行重新启动,重新启动不成功. 查看hadoop日志: 2014-07-30 14:15:42,025 INFO ...

  7. hadoop hdfs记录踩到的坑

    研究了几天终于将hdfs的java api调用搞通了,其中的艰辛一度让我想要放弃,但最终让我坚持了下来.这几天的经验,无疑是宝贵的,故记录下来,以防以后遗忘.我用的是版本2.10.0,你要问我为啥选择 ...

  8. Hadoop hdfs副本存储和纠删码(Erasure Coding)存储优缺点

    The advantages and disadvantages of hadoop hdfs replicating storage and erasure coding storage. Hado ...

  9. hive报错(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory/tmp/hive/.

    报错场景: 使用shell脚本进行对hive的数据查询导入导致出错,先是hive执行时间较长,后面hive报错. 问题描述: 使用jps查询进程,发现有三个hive进程,三个RunJar,RunJar ...

最新文章

  1. C++ STL中常见的typename关键字的作用
  2. 暴汗,今天遇到个奇事
  3. Python打包工具setuptools的使用
  4. 什么是Pro*C/C++,嵌入式SQL,第一个pro*c程序,pro*c++,Makefile,Proc增删改查
  5. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】...
  6. S/4HANA Product master OData
  7. python绘制糖葫芦_python简单爬虫(一)
  8. 配置IIS支持PHP
  9. C# ObjectCache、OutputCache缓存
  10. (as3)右键菜单全屏与退出全屏的切换
  11. 微信新功能!竟可以检测微信账号活跃度啦!快来看看你的活跃度!
  12. excel函数去重_Excel去除重复值方法汇总
  13. 【干货】ubuntu18.04+win7双系统+双硬盘安装总结
  14. 免费软件不比付费软件逊色半分之94款免费软件
  15. 对于流媒体的一些认识
  16. android的shape(四周边框为灰色)
  17. 中文分词与关键词提取概述
  18. Unity 3D美术(程序+美术遇到的常见问题)
  19. 数学归纳法+递归问题之汉诺塔问题
  20. 程序设计思维与实践 CSP-M4 补题

热门文章

  1. unity怎么在文本中修改字体_[专栏作家]UGUI中CustomFont字体使用与制作
  2. wxpython播放视频_使用wxpython显示网络摄像头视频闪烁
  3. MySQL 主主配置
  4. 【CSS】【7】CSS的盒子模型
  5. 程序员编程艺术:第五章、寻找满足和为定值的两个或多个数
  6. 一步一步搭建免费的Silverlight 2开发环境
  7. HTTP/2特性及其在实际应用中的表现
  8. lisp 设计盘形齿轮铣刀_齿轮是怎么来的——图解6种齿轮加工工艺
  9. Errors running builder #39;DeploymentBuilder#39; on project #39;工程名#39;
  10. mysql dump xtrabackup_MySQL之备份和恢复(msyqldump、LVM、xtrabackup)