Hadoop hdfs编程案例和java交互
Hadoop hdfs编程案例
- 一、 HDFS编程实践
- 二、利用Java API与HDFS进行交互
- 三、应用程序的部署
一、 HDFS编程实践
- 启动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/
- 将文件上传到hadoop下的input中
./bin/hadoop fs -put -p /home/hadoop/myLocalFile.txt input - 查看input目录中的文件
./bin/hadoop fs -ls input
查看myLocalFile.txt文件中的内容
./bin/hadoop fs -cat input/myLocalFile.txt
通过web来查询
二、利用Java API与HDFS进行交互
- 搜索eclipse进行安装
- 安装默认的工作目录下
- 创建项目: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
判断结果 文件存在
三、应用程序的部署
将java应用程序生成jar包,部署到Hadoop平台上运行。
在hadoop安装目录下新建一个名称为myapp的目录,用来存放我们自己编写的Hadoop应用程序。
cd /usr/local/hadoop
mkdir myapp请在Eclipse工作界面左侧的“Package Explorer”面板中,在工程名称“HDFSExample”上点击鼠标右键,在弹出的菜单中选择“Export”
点击next
“Launch configuration”用于设置生成的JAR包被部署启动时运行的主类,需要在下拉列表中选择刚才配置的类“HDFSFileIfExist-Dblab”。
在“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交互相关推荐
- 云计算学习笔记---异常处理---hadoop问题处理ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.NullPoin
云计算学习笔记---异常处理---hadoop问题处理ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.NullPoin ...
- Hadoop HDFS文件操作的Java代码
1.创建目录 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.ha ...
- JAVA程序连接hadoop HDFS服务报无法连接。
2019独角兽企业重金招聘Python工程师标准>>> 在虚拟机部署hadoop的HDFS系统,在centos系统中敲各种操作命令,对文件读取.上传.删除等都没什么问题.但用JAVA ...
- 解决办法:“Cannot lock storage /data/hadoop/hdfs/name. The directory is already locked.”
在启动hadoop的时候,会出现namenode节点启动不起来的情况. 这时用以下命令查看日志: tail -100f /usr/local/hadoop/libexec/../logs/hadoop ...
- 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 ...
- hadoop hdfs空间满后重新启动不了
server检查的时候.发现存在HDFS上的文件无法同步,再发现hadoop停掉了. 进行重新启动,重新启动不成功. 查看hadoop日志: 2014-07-30 14:15:42,025 INFO ...
- hadoop hdfs记录踩到的坑
研究了几天终于将hdfs的java api调用搞通了,其中的艰辛一度让我想要放弃,但最终让我坚持了下来.这几天的经验,无疑是宝贵的,故记录下来,以防以后遗忘.我用的是版本2.10.0,你要问我为啥选择 ...
- Hadoop hdfs副本存储和纠删码(Erasure Coding)存储优缺点
The advantages and disadvantages of hadoop hdfs replicating storage and erasure coding storage. Hado ...
- hive报错(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory/tmp/hive/.
报错场景: 使用shell脚本进行对hive的数据查询导入导致出错,先是hive执行时间较长,后面hive报错. 问题描述: 使用jps查询进程,发现有三个hive进程,三个RunJar,RunJar ...
最新文章
- C++ STL中常见的typename关键字的作用
- 暴汗,今天遇到个奇事
- Python打包工具setuptools的使用
- 什么是Pro*C/C++,嵌入式SQL,第一个pro*c程序,pro*c++,Makefile,Proc增删改查
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】...
- S/4HANA Product master OData
- python绘制糖葫芦_python简单爬虫(一)
- 配置IIS支持PHP
- C# ObjectCache、OutputCache缓存
- (as3)右键菜单全屏与退出全屏的切换
- 微信新功能!竟可以检测微信账号活跃度啦!快来看看你的活跃度!
- excel函数去重_Excel去除重复值方法汇总
- 【干货】ubuntu18.04+win7双系统+双硬盘安装总结
- 免费软件不比付费软件逊色半分之94款免费软件
- 对于流媒体的一些认识
- android的shape(四周边框为灰色)
- 中文分词与关键词提取概述
- Unity 3D美术(程序+美术遇到的常见问题)
- 数学归纳法+递归问题之汉诺塔问题
- 程序设计思维与实践 CSP-M4 补题
热门文章
- unity怎么在文本中修改字体_[专栏作家]UGUI中CustomFont字体使用与制作
- wxpython播放视频_使用wxpython显示网络摄像头视频闪烁
- MySQL 主主配置
- 【CSS】【7】CSS的盒子模型
- 程序员编程艺术:第五章、寻找满足和为定值的两个或多个数
- 一步一步搭建免费的Silverlight 2开发环境
- HTTP/2特性及其在实际应用中的表现
- lisp 设计盘形齿轮铣刀_齿轮是怎么来的——图解6种齿轮加工工艺
- Errors running builder #39;DeploymentBuilder#39; on project #39;工程名#39;
- mysql dump xtrabackup_MySQL之备份和恢复(msyqldump、LVM、xtrabackup)