2、HDFS客户端的注意事项
2016-11-30 00:00
141 查看
1:客户端使用open()、copyFromLocalFile()、mkdirs()等对服务器的文件改动的,都需要涉及到权限问题,需要将自己伪装成为“root”,伪装方式为:
2:当下载文件到windows系统的时候,hadoop客户端默认会调用window的本地native方法以加速写入文件,这就需要window中HADOOP_HOME安装目录的bin目录下,有winutil.exe的程序,否则会报错,如何才能够有这个工具程序?
3:configuration对象加载配置文件的顺序
4:HDFS是一套软件,通过他的client的api我们可以不需要深入他的细节实现,就能够很方便的往里面存储数据和读取数据。
1.)conf.set("HADOOP-USER-NAME", "root"); 2.)System.setProperty("HADOOP-USER-NAME", "root"); 3.)fs = FileSystem.get(new URI("hdfs://hadoop1:9000"), conf, "root");
2:当下载文件到windows系统的时候,hadoop客户端默认会调用window的本地native方法以加速写入文件,这就需要window中HADOOP_HOME安装目录的bin目录下,有winutil.exe的程序,否则会报错,如何才能够有这个工具程序?
解决方案: 1.)自己编译hadoop工程,这样bin目录下就有winutil.exe的程序了。 2.)或者不用本地方法,用jvm内部的file类方法这样速度会慢一些 参数4:是否使用原生的java操作本地文件系统;如果为false,则使用winutils;如果为true, 则用java操作fs.copyToLocalFile(false, new Path("/111.txt"), new Path("c:/233.txt"), true);
3:configuration对象加载配置文件的顺序
// 构造一个配置参数对象,设置一个参数:我们要访问的hdfs的URI // 从而FileSystem.get()方法就知道应该是去构造一个访问hdfs文件系统的客户端,以及hdfs的访问地址 // new Configuration();的时候,它就会去加载jar包中的hdfs-default.xml // 然后再加载classpath下的hdfs-site.xml //最后是代码中conf.set();
4:HDFS是一套软件,通过他的client的api我们可以不需要深入他的细节实现,就能够很方便的往里面存储数据和读取数据。
比如:mapreduce、stom、spark等后续的框架,都是直接通过HDFS的api来直接操作的,不需要深入它的细节中。这个一定要搞明白。
相关文章推荐
- 客户端开发注意事项
- .net客户端导出Excel实现代码及注意事项
- github客户端上传代码 mac 注意事项
- 利用CXF发布restful WebService的注意事项(客户端)
- 客户端开发注意事项
- WCF 通过net tcp 协议 ,在服务端服务器和客户端服务器之间传输数据,注意配置事项
- linux下ntp时间服务器配置及客户端注意事项
- linux远程客户端putty,xshell搭建注意事项——《视频》
- Hadoop HDFS文件常用操作及注意事项(更新)
- 浪潮gs中间件服务器,客户端,数据库sqlserver安装注意事项
- 客户端开发注意事项
- HDFS各个进程存储在磁盘上的数据含义和注意事项
- windows搭建ftp服务器客户端--注意事项
- 客户端开发注意事项
- DbVisualizer客户端创建存储过程和函数(方法)注意事项
- (tips,javascript,office)客户端操作excel文档的注意事项
- 使用AspxGridView的FocusedRowChanged客户端事件取行值的注意事项
- 64位Linux安装Dr.com客户端有什么注意事项?
- Redis的安装和客户端使用注意事项