ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:93.86KB ,
资源ID:18595847      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18595847.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(hadoop搭建与eclipse开发环境设置已验证通过Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

hadoop搭建与eclipse开发环境设置已验证通过Word格式.docx

1、 然后是打开“Advanced parameters”设置面板,修改相应参数。上面的参数填写以后,也会反映到这里相应的参数:主要关注下面几个参数:fs.defualt.name:mapred.job.tracker:dfs.replication:与hdfs-site.xml里面的dfs.replication一致。hadoop.tmp.dir:与core-site.xml里hadoop.tmp.dir设置一致。hadoop.job.ugi:并不是设置用户名与密码。是用户与组名,所以这里填写hadoop,hadoop。说明:第一次设置的时候可能是没有hadoop.job.ugi和dfs.rep

2、lication参数的,不要紧,确认保存。打开Project Explorer中DFSLocations目录,应该可以年看到文件系统中的结构了。但是在/hadoop/mapred/system下却没有查看权限,如下图: 而且删除文件的时候也会报错:这个原因是我使用地本用户Administrator(我是用管理员用户登陆来地windows系统的)进行远程hadoop系统操作,没有权限。此时再打开“Advanced parameters”设置面板,应该可以看到hadoop.job.ugi了,这个参数默认是本地操作系统的用户名,如果不幸与远程hadoop用户不一致,那就要改过来了,将hadoop加在

3、第一个,并用逗号分隔。如: 保存配置后,重新启动eclipse。/hadoop/mapred/system下就一目了然了,删除文件也OK。1.3 运行hadoop程序首先将hadoop安装包下面的所有jar包都导到eclipse工程里。然后建立一个类:DFSOperator.java,该类写了四个基本方法:创建文件,删除文件,把文件内容读为字符串,将字符串写入文件。同时有个main函数,可以修改测试:package com.kingdee.hadoop;import java.io.BufferedReader;import java.io.IOException;import java.io

4、.InputStream;import java.io.InputStreamReader;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;/* * * The utilities to operate file on hadoop hdfs. * author luolihui 2011-07-18 * */publi

5、c class DFSOperator private static final String ROOT_PATH = hdfs:/; private static final int BUFFER_SIZE = 4096; /* * construct. public DFSOperator() * Create a file on hdfs.The root path is /. * for example: DFSOperator.createFile(/lory/test1.txt, true); * param path the file name to open * param o

6、verwrite if a file with this name already exists, then if true, the file will be * return true if delete is successful else IOException. * throws IOException public static boolean createFile(String path, boolean overwrite) throws IOException /String uri = /192.168.1.100:9000 /FileSystem fs1 = FileSy

7、stem.get(URI.create(uri), conf); Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(conf); Path f = new Path(ROOT_PATH + path); fs.create(f, overwrite); fs.close(); return true; * Delete a file on hdfs.The root path is /. DFSOperator.deleteFile(/user/hadoop/output * param path

8、the path to delete * param recursive if path is a directory and set to true, the directory is deleted else throws an exception. In case of a file the recursive can be set to either true or false. public static boolean deleteFile(String path, boolean recursive) throws IOException fs.delete(f, recursi

9、ve); * Read a file to string on hadoop hdfs. From stream to string. System.out.println(DFSOperator.readDFSFileToString(/user/hadoop/input/test3.txt); * param path the path to read * return true if read is successful else IOException. public static String readDFSFileToString(String path) throws IOExc

10、eption InputStream in = null; String str = null; StringBuilder sb = new StringBuilder(BUFFER_SIZE); if (fs.exists(f) in = fs.open(f); BufferedReader bf = new BufferedReader(new InputStreamReader(in); while (str = bf.readLine() != null) sb.append(str); sb.append(n); in.close(); bf.close(); fs.close()

11、; return sb.toString(); else return null; * Write string to a hadoop hdfs file. DFSOperator.writeStringToDFSFile(, You are a bad man.nReally! * param path the file where the string to write in. * param string the context to write in a file. * return true if write is successful else IOException. publ

12、ic static boolean writeStringToDFSFile(String path, String string) throws IOException FSDataOutputStream os = null; os = fs.create(f,true); os.writeBytes(string); os.close(); public static void main(String args) try DFSOperator.createFile( DFSOperator.deleteFile(/dfs_operator.txt DFSOperator.writeSt

13、ringToDFSFile(You are a bad man.nReally? System.out.println(DFSOperator.readDFSFileToString( catch (IOException e) / TODO Auto-generated catch block e.printStackTrace(); System.out.println(=end=然后Run AsRun on HadoopChoose an exitsing server from the list belowfinish.结果很简单(那个警告不管):11/07/16 18:44:32 W

14、ARN conf.Configuration: DEPRECATED: hadoop-site.xml found in the classpath. Usage of hadoop-site.xml is deprecated. Instead use core-site.xml, mapred-site.xml and hdfs-site.xml to override properties of core-default.xml, mapred-default.xml and hdfs-default.xml respectivelyYou are a bad man.Really?=e

15、nd=也可以运行hadoop自带的WorkCount程序,找到其源代码导进来,然后设置输入输出参数,然后同样“Run on hadoop”。具体步骤不再示范。每“Run on hadoop”都会在workspace.metadata.pluginsorg.apache.hadoop.eclipse下生成临时jar包。不过第一次需要Run on hadoop,以后只需要点击那运行的绿色按钮了。2. 错误及处理2.1 安全模式问题我在eclipse上删除DFS上的文件夹时,出现下面错误:错误提示说得也比较明示,是NameNode在安全模式中,其解决方案也一并给出。类似的运行hadoop程序时,有时

16、候会报以下错误:org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode解除安全模式:bin/hadoop dfsadmin -safemode leave用户可以通过dfsadmin -safemode value 来操作安全模式,参数value的说明如下:enter - 进入安全模式leave - 强制NameNode离开安全模式get - 返回安全模式是否开启的信息wait - 等待,一直到安全模式结束。2.2 开发时报错Permission d

17、eniedorg.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=Administrator, access=WRITE, inode=test1.txt:hadoop:supergroup:rw-r-r- at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeCons

18、tructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.apache.hadoop.ipc.RemoteException.instantiateExcept

19、ion(RemoteException.java:96) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:58) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.(DFSClient.java:2710) at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:492) at org.apache.hadoop.hdfs.DistributedFileSyste

20、m.create(DistributedFileSystem.java:195) at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:484)465)372) at com.kingdee.hadoop.DFSOperator.createFile(DFSOperator.java:46) at com.kingdee.hadoop.DFSOperator.main(DFSOperator.java:134)解决方法是,在“Advanced parameters”设置面板,设置hadoop.job.ugi参数,将hadoop用户加上去。变为:然后重新在运行中”Run on hadoop”。另一方法是改变要操作的文件的权限。Permission denied:上面的意思是:test1.txt文件的访问权限是rw-r-r-,归属组是supergroup,归属用户是hadoop,现在使用Administrator用户对test1.txt文件进行WRITE方式访问,被拒绝了。所以可以改变下test1.txt文件的访问权限:$ hadoop fs chmod 777 /lory/test1.txt$ hadoop fs chmod 777 /lory #或者上一级文件夹当然使用-chown命令也可以。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1