设为首页 加入收藏

TOP

HDFS API 操作--MyEclipse中连接集群Hadoop
2019-03-10 12:17:41 】 浏览:52
Tags:HDFS API 操作 --MyEclipse 连接 集群 Hadoop

安装MyEclipse2014,开启服务:start-all.sh,
我们的目的是:在MyEclipse中连接hadoop集群,之后,从hadoop中的集群获取HDFS
(文件分布式系统)的各种数据信息,首先:要连接到集群Hadoop ! ! !

hdfs API

1.HDFS : hadoop分布式文件系统
两种表现形式:1.hadoop fs shell命令:【hadoop fs -commond】
2.java API方式访问: 【DistributedFileSystem】对应的HDFS
2.搭建IDE
a. 查找hadoop的依赖jar包
在{hadoop_home/share}目录下查找<.jar>文件,复制后拷贝至{hadoop_home}/_jar/
在{hadoop_home}/_jar/目录下查找<sources>文件,剪切后拷贝至{hadoop_home}/_sources/
在{hadoop_home}/_sources/目录下查找<test>文件,剪切后拷贝至{hadoop_home}/_test/

{hadoop_home}/_jar/目录:hadoop java开发程序所依赖的jar包
{hadoop_home}/_sources/目录:hadoop java开发程序所依赖的源码包
{hadoop_home}/_test/目录:hadoop java开发程序所依赖的测试包

b.集成eclipse环境
1.将hadoop-eclipse-plugin-2.6.0.jar复制到{myeclipse_home}/plugins下;
2.重启eclise;
3.校验安装是否成功:
在MyEclipse中查看windows--&g

t;perferences-->hadoop Mapreduce(出现)
4.在【hadoop Mapreduce】视图下,添加hadoop的安装路径:D:\hadoop-2.7.3

5.创建hadoop的链接:--使得与虚拟机hdfs相连接

a>.打开Windows-->show Views-->MapReduce Tools-->【Map/Reduce Locations】
视图,单击,就会出现一个小象;
在空白页面-->右键【新建hadoop Location...】-->弹出编辑窗口(看b)

b>.dfs RPC 协议端口号为:9000 【注:默认为8020】
mapreduce RPC协议端口号为:9001 【注:默认为8021】
user name:hyxy 【注:集群名字】
host :master 【注:master在windows上映射对应的ip为192.168.207.50】

c.配置windows Hadoop工具包

指的是--D:\ hadoo2.7.3 的 hadoop.dll winutils.exe.zip 1.拷贝hadoop.dll和winutils.exe至{hadoop_home}\bin;
2.配置环境变量:HADOOP_HOME=D:\hadoop-2.7.3 ;
PATH = %HADOOP_HOME%\bin;
需要重启电脑;

d.创建工程,编写API

还需要配置的一些地方:

1.需要保证MyEclipse使用版本是本机的jdk1.7的版本,
不是自带的com.sun.java.jdk7.win32.x86_64_1.7.0.u45


2.d.创建工程,编写API 过程中需要配置的一些参数 :--将Hadoop依赖的.jar包导入MyEclipse中

我创建的工程名:MyHadoop
1) MyHadoop-->右键-->选择Build Path -->Configure build path-->Libraries-->Add External JARs
添加之前拷贝的【_jar文件夹】(在hadoop-2.7.3/_jar)

2)在com包下:paste--log4j.properties (D:\hadoop-2.7.3\etc\hadoop\log4j.properties) 主要存一些日志信息




过程中出现的错误:

1)java.lang.IllegalArgumentException: Wrong FS: hdfs://master:9000/test.txt, expected: file:///
at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:648)
原因:默认读取file:///..., 其中的core-site.xml文件,我们没有配置,
解决:得重新创建core-site.xml【在src/core-site.xml】,从虚拟机的core-site.xml复制到Myeclipse/src/core-site.xml

2)org.apache.hadoop.security.AccessControlException: Permission denied: user=Mclusilu, access=WRITE, inode="/mkdir_path":hyxy:supergroup:drwxr-xr-x(当我们创建文件夹的时候会报错)
原因:权限不够
解决:在虚拟机:hadoop fs -chmod -R a+w /
使得HDFS文件系统下的文件都具有写权限;






编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇sqoop   把 hdfs 和关系型数.. 下一篇Hadoop _ Hdfs   java.io.IO..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }