eclipse hadoop 集群搭建了hadoop,通过eclipse hadoop 集群往集群中写入数据不抱错,但写不进去可以正常读取

大数据【二】HDFS部署及文件读写(包含eclipse hadoop配置)
时间: 19:43:33
&&&& 阅读:548
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&一  原理阐述
1‘  DFS
    分布式文件系统(即DFS,Distributed File System),指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。该系统架构于网络之上,势必会引入网络编程的复杂性,因此分布式文件系统比普通磁盘文件系统更为复杂。
2‘  HDFS
    借此,关于GFS和HDFS的区别与联系查看 我于博客园找到的前辈的博客&&
    HDFS(Hadoop Distributed File System)为大数据平台其它所有组件提供了最基本的存储功能。
    特征:高容错、高可靠、可扩展、高吞吐率等,为大数据存储和处理提供了强大的底层存储架构。
    HDFS是一个主/从(master/slave)体系结构,从最终用户的角度来看,它就像传统的文件系统,可通过目录路径对文件执行CRUD操作。由于其分布式存储的性质,HDFS集群拥有一个NameNode和一些DataNodes,NameNode管理文件系统的元数据,DataNode存储实际的数据。
    HDFS开放文件系统的命名空间以便用户以文件形式存储数据,秉承“一次写入、多次读取”的原则。客户端通过NameNode和DataNodes的交互访问文件系统,联系NameNode以获取文件的元数据,而真正的文件I/O操作是直接和DataNode进行交互的。
3‘  适用场景
  HDFS&提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序,以下是一些常用的应用场景:
      数据密集型并行计算:数据量极大,但是计算相对简单的并行处理,如大规模Web信息搜索;
      计算密集型并行计算:数据量相对不是很大,但是计算较为复杂的并行计算,如3D建模与渲染、气象预报和科学计算;
      数据密集与计算密集混合型的并行计算,如3D电影的渲染。
  HDFS在使用过程中有以下限制:
      HDFS不适合大量小文件的存储,因NameNode将文件系统的元数据存放在内存中,因此存储的文件数目受限于NameNode的内存大小;
      HDFS适用于高吞吐量,而不适合低时间延迟的访问;
      流式读取的方式,不适合多用户写入一个文件(一个文件同时只能被一个客户端写),以及任意位置写入(不支持随机写);
      HDFS更加适合写入一次,读取多次的应用场景。
3’  基本命令
    格式:  hadoop fs -cmd args  其中,cmd为具体的操作,args为参数
    常用命令:
        hadoop fs -mkdir /user/trunk&&&&&&&& &#建立目录/user/trunk
        hadoop fs -ls /user&&&&&& &&&&&&&&&&&#查看/user目录下的目录和文件
        hadoop fs -lsr /user&&&&&&&&&&&&&&&& #递归查看/user目录下的目录和文件
        hadoop fs -put test.txt /user/trunk&&&&& #上传test.txt文件至/user/trunk
        hadoop fs -get /user/trunk/test.txt&&&&& #获取/user/trunk/test.txt文件
        hadoop fs -cat /user/trunk/test.txt &&&&&#查看/user/trunk/test.txt文件内容
        hadoop fs -tail /user/trunk/test.txt&&&&& #查看/user/trunk/test.txt文件的最后1000行
        hadoop fs -rm /user/trunk/test.txt&&&&&& #删除/user/trunk/test.txt文件
        hadoop fs -help ls&&&&&&&&&&&&&&&&&& #查看ls命令的帮助文档
二  HDFS部署      
主要步骤如下:
1.&配置Hadoop的安装环境;
2.&配置Hadoop的配置文件;
3.&启动HDFS服务;
4.&验证HDFS服务可用。
1‘  查看是否存在hadoop安装目录  &ls& /usr/cstor/hadoop  如果没有,利用工具从本地导入hadoop安装文件。
        
   查看jdk是否存在,如果没有同上方法导入
&       
2’  确认集群服务器之间可SSH免密登录
      使用ssh工具登录到每一台服务器,执行命令ssh&主机名,确认每台集群服务器均可SSH免密登录。方法查看我的博客 && 
3‘  查看 文件,此文件只需修改JAVA_HOME
      用vim编辑器修改此文件,将export JAVA_HOME=${JAVA_HOME}改为jdk的目录,例如在我的电脑上是export JAVA_HOME=/usr/local/jdk1.7.0_79/
4’  指定HDFS主节点
      此处需要配置文件& core-site.xml& ,查看该文件,并&configuration&&/configuration&标签之间修改如图所示的配置:
      
5‘  拷贝该配置到集群其他子集上,首先查看你的集群所有子集
      
    输入命令  for &x &in &`cat &~/data/2/machines` ; do &echo &$ scp &-r &/usr/cstor/hadoop/etc &$x:/usr/cstor/hadoop &;  实现拷贝
6’  启动HDFS节点
      首先在master服务器上格式化主节点   hdfs& namenode& -format
      其次配置slaves文件,将localhost修改为slave1~3;   
      最后在hadoop安装目录下统一启动HDFS;
      用jps& 命令在各个子集检验是否启动节点成功;
        
7‘  hdfs配置成功后可以在client上向HDFS上传文件:
        
三   读写HDFS文件
1’  &配置client服务器classpath
     (1) 使用ssh工具登录client服务器,执行命令vi /etc/profile,编辑该文件。Linux 中/etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量。
      修改设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序(.class文件)。
      将末尾的如下几行:
JAVA_HOME=/usr/local/jdk1.7.0_79/
export JRE_HOME=/usr/local/jdk1.7.0_79//jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export HADOOP_HOME=/usr/cstor/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
      用下列行进行替换(注意路径不同自行修改):
JAVA_HOME=/usr/local/jdk1.7.0_79/
export HADOOP_HOME=/usr/cstor/hadoop
export JRE_HOME=/usr/local/jdk1.7.0_79//jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/common/lib/*
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
   (2) 执行命令source /etc/profile,使刚才的环境变量修改生效;
2’  在client服务器编写HDFS写程序
      (1)在client服务器上执行命令vi WriteFile.java,编写HDFS写文件程序:
1 import org.apache.hadoop.conf.C
2 import org.apache.hadoop.fs.FSDataOutputS
3 import org.apache.hadoop.fs.FileS
4 import org.apache.hadoop.fs.P
5 public class WriteFile {
6 public static void main(String[] args)throws Exception{
7 Configuration conf=new Configuration();
8 FileSystem hdfs = FileSystem.get(conf);
9 Path dfs = new Path("/weather.txt");
<span style="color: # FSDataOutputStream outputStream = hdfs.create(dfs);
<span style="color: # outputStream.writeUTF("nj \n");
<span style="color: # outputStream.close();
<span style="color: # }
<span style="color: # }
WriteFile.java
      (2)编译并打包HDFS写程序
        使用javac编译刚刚编写的代码,并使用jar命令打包为hdpAction.jar
        
      (3)执行HDFS写程序
          在client服务器上使用hadoop jar命令执行hdpAction.jar:
        
          查看是否已生成weather.txt文件,若已生成,则查看文件内容是否正确:
        
&3‘  在client服务器编写HDFS读程序
       (1)在client服务器上执行命令vi ReadFile.java,编写HDFS读WriteFile.txt文件程序: 
1 import java.io.IOE
3 import org.apache.Hadoop.conf.C
4 import org.apache.Hadoop.fs.FSDataInputS
5 import org.apache.Hadoop.fs.FileS
6 import org.apache.Hadoop.fs.P
8 public class ReadFile {
public static void main(String[] args) throws IOException {
<span style="color: #
Configuration conf = new Configuration();
<span style="color: #
Path inFile = new Path("/weather.txt"); //读取WriteFile.txt文件
<span style="color: #
FileSystem hdfs = FileSystem.get(conf);
<span style="color: #
FSDataInputStream inputStream = hdfs.open(inFile);
<span style="color: #
System.out.println("myfile: " + inputStream.readUTF());
<span style="color: #
inputStream.close();
<span style="color: #
<span style="color: # }
ReadFile.java
&       (2)编译文件并打包,然后执行;
       
四  配置eclipase& Hadoop插件并进行打包上传
1’  首先下载eclipse hadoop插件,解压为jar文件,将其放置在eclipse文件位置的plugins文件夹下,例如D:\eclipse-standard-kepler-SR2-win32\eclipse\plugins
2‘  配置本地的hadoop环境,需下载hadoop组件(到阿帕奇下吧^_^,),解压为
3‘  打开eclipase新建project查看是否已经有Map/Reduce Project的选项。第一次新建Map/Reduce项目时,需要指定hadoop解压后的位置(即第二部组件解压的位置),在新建时项目填写界面右中间有hadoop的路径填写;
4’  编写java文件,例如上述的ReadFile.java
5‘  打包成jar文件,右击项目的export的jar file,然后选择所需的文件打包成jar文件,(此步骤是重点)
    &&&&&&&&&&&&
6’  使用WinSCP、XManager或其它SSH工具的sftp工具上传刚刚生成的hdpAction.jar包至client服务器(我用的是工具),并在client服务器上使用hadoop jar命令执行hdpAction.jar,查看程序运行结果。
   &运行该jar文件  hadoop jar ~/hdpAction.jar ReadFile      
  对于HDFS文件读写的学习,很基础同时也很重要,在后面关于yarn,mapreduce等的学习都要基于此处之上才能逐步了解。
  只有一种失败就是半途而废。所以每天的学习会逐步积累,潜移默化。
      
         
        
&标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文地址:http://www.cnblogs.com/1996swg/p/7286136.html
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!Eclipse中Hadoop的DFS Location无法显示DFS下的文件 解决方法
问题所示,前提是首先要将Hadoop正确安装,在命令行中可以运行例子程序,然后在eclipse中配置如下图注意端口号要与hadoop配置文件mapred-site.xml和core-site.xml的端口号一致。解决方法:首先在停止hadoop的运行hadoop stop-all.sh,然后格式化DFS文件系统 hadoop namenode -format,格式化过程中如果DFS中有有用的文件命令会提示是否re-format 选择No就不会丢失文件了,最后重新将hadoop跑起来 start-all.sh。如果还有问题的话,再输入hadoop dfsadmin -safemode leave 命令,退出安全模式,应该就可以了。在eclipse中的DFS Location 上Disconnect一下,然后重新查看就好使了,我的Refresh不好使,不知道为什么。欢迎大家留言。。。我用的hadoop版本是hadoop-0.20.203.0rc1.tar.gz更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
更多相关文章
在JAVA EE下的Package Explorer视图下: 1. Package Explorer --& filter --& Top Level Elements ---& Working sets2. Package Explorer 右键 new ---&other ...
1.相关基础知识介绍在Vim中,有四个与编码有关的选项,它们是:fileencodings.fileencoding.encoding和termencoding.在实际使用中,任何一个选项出现错误,都会导致出现乱码.因此,每一个Vim用户都应该明确这四个选项的含义.下面,我们详细介绍一下这四个选项的 ...
前几天,公司要装Postgresql 数据库,并且要加入Linux的Service里,部分脚本如下:case $1 instart)echo -n &Starting PostgreSQL: &su - $PGUSER -c &$DAEMON -D '$PGDATA'
IIS服务器出现500错误 2错误原因:500错误的原因一般是源程序出现错误造成的.3 解决办法:1 首先设置IE浏览器à工具-&Internet选项 2 刷新或者重新打开500错误页面就会出现错误的程序部分 3 根据错误提示,然后解决问题. 4 ADODB.Connection 创建失败的可 ...
在运行期间,ListBox控件突然消失,同时给出如下错误提示: Warning: single-selection listbox control requires that Value be an integer within String rangeControl will not be ren ...
今天发现原来HTML5对History和Location对象进行了改进,提供了几个新的API.我觉得,这用来结合Ajax来使用,弥补Ajax技术更新内容但不产生历史记录的问题,十分有用. 我很久之前就想过通过锚点来解决实现书签和定位,配合iframe使用一些小技巧,还可以实现历史记录的产生.后来发现 ...
js中函数function $(id)与jquery发生$冲突的解决方法小编在网上搜索了一下发现在蛮多了,其实这种解决办法很简单主要对js进行操作了,但还是在网看了一些高手的做法,下面整理一下大家一起来看看.$(id)是js document.getElementById(id)的简写,定义了这个方 ...
php教程 scandir遍历显示所有文件与文件夹下的文件,方法很简单我们只要利用is_dir判断再递归查找一次,这样就可以把遍历目录下所有文件了.目录遍历&?php function numfilesindir ($thedir){ if (is_dir ($thedir)){ $scana ...
Windows 7系统下USB设备无法使用,设备管理器中通用串行总线控制器显示很多感叹号怎 ...
1,sqlserversqlconnetion coon=new sqlconnection(&data sourse=inregrated secyrity=initial
qq炫舞炫酷新星SSS怎么搭配呢?这个炫酷新星SSS是旅行挑战第13期第2关的一个简单的关 ...
亲淘是淘宝推出的一款购物小助手软件,这款软件可以为用户提供淘宝最新的优惠商品信息.让你第一 ...
环境:Fedora Linux 16问题:当切换到root用户时,使用su root 和s ...
Solr已经发布3.5版本了,同时它是基于Lucene 3.5的.我们在基于Solr进行二 ...
JID 2.0 RC1 发布,该版本继续提升序列化的性能,通过使用 BListJid 可在 ...
NASA声明将在美国时间周四中午12点(北京时间周五0点)举行新闻电话会议,宣布开普勒项目 ...
以下&#&开头是Ubuntu终端命令1.首先安装Ubuntu 10.0 ...
要在Linux服务器上装一个lighttpd http服务器,用程序测试下性能.想想就安装 ...hadoop集群eclipse安装配置_图文_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
hadoop集群eclipse安装配置
北京动力节点教育科技有限公司,自2009成立...|
总评分0.0|
&&hadoop集群eclipse安装配置
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
&#xe64e;加入VIP
还剩27页未读,
定制HR最喜欢的简历
你可能喜欢博客分类:
网友分享,拿来共享一下
这是Hadoop学习全程记录第2篇,在这篇里我将介绍一下如何在Eclipse下写第一个MapReduce程序。 新说明一下我的开发环境: 操作系统:在windows下使用wubi安装了ubuntu 10.10 hadoop版本:hadoop-0.20.2.tar.gz Eclipse版本:eclipse-jee-helios-SR1-linux-gtk.tar.gz 为了学习方便这个例子在“伪分布式模式”Hadoop安装方式下开发。 第一步,我们先启动Hadoop守护进程。 如果你读过我第1篇文章应该比较清楚在“伪分布式模式”下启动Hadoop守护进程的方法,在这里就不多说了。 第二步,在Eclipse下安装hadoop-plugin。 1.复制 hadoop安装目录/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar 到 eclipse安装目录/plugins/ 下。 2.重启eclipse,配置hadoop installation directory。 如果安装插件成功,打开Window--&Preferens,你会发现Hadoop Map/Reduce选项,在这个选项里你需要配置Hadoop installation directory。配置完成后退出。 3.配置Map/Reduce Locations。 在Window--&Show View中打开Map/Reduce Locations。 在Map/Reduce Locations中新建一个Hadoop Location。在这个View中,右键--&New Hadoop Location。在弹出的对话框中你需要配置Location name,如myubuntu,还有Map/Reduce Master和DFS Master。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。如: Map/Reduce Master
DFS Master
配置完后退出。点击DFS Locations--&myubuntu如果能显示文件夹(2)说明配置正确,如果显示"拒绝连接",请检查你的配置(我的配置完成之后只看到了一个文件夹tmp,不知道是什么原因)。
第三步,新建项目。 File--&New--&Other--&Map/Reduce Project 项目名可以随便取,如hadoop-test。 复制 hadoop安装目录/src/example/org/apache/hadoop/example/WordCount.java到刚才新建的项目下面。 第四步,上传模拟数据文件夹。 为了运行程序,我们需要一个输入的文件夹,和输出的文件夹。输出文件夹,在程序运行完成后会自动生成。我们需要给程序一个输入文件夹。 1.在当前目录(如hadoop安装目录)下新建文件夹input,并在文件夹下新建两个文件file01、file02,这两个文件内容分别如下: file01
Hello World Bye World
Hello Hadoop Goodbye Hadoop
2.将文件夹input上传到分布式文件系统中。 在已经启动Hadoop守护进程终端中cd 到hadoop安装目录,运行下面命令:
bin/hadoop fs -put input input01
这个命令将input文件夹上传到了hadoop文件系统了,在该系统下就多了一个input01文件夹,你可以使用下面命令查看:
bin/hadoop fs -ls
第五步,运行项目。 1.在新建的项目hadoop-test,点击WordCount.java,右键--&Run As--&Run Configurations 2.在弹出的Run Configurations对话框中,点Java Application,右键--&New,这时会新建一个application名为WordCount 3.配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如:
这里面的input01就是你刚传上去文件夹。文件夹地址你可以根据自己具体情况填写。 4.点击Run,运行程序。 点击Run,运行程序,过段时间将运行完成,等运行结束后,可以在终端中用命令:
bin/hadoop fs -ls
查看是否生成文件夹output01。 用下面命令查看生成的文件内容:
bin/hadoop fs -cat output01/*
如果显示如下,恭喜你一切顺利,你已经成功在eclipse下运行第一个MapReduce程序了。
浏览 16008
浏览: 137990 次
来自: 西安
很有用,谢谢分享啦!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'您当前位置: >
> win7下Eclipse4.4.0+JDK1.8配置hadoop2.5.1插件遇到的各种错误
win7下Eclipse4.4.0+JDK1.8配置hadoop2.5.1插件遇到的各种错误
来源:程序员人生&& 发布时间: 08:45:41 阅读次数:2656次
已在win7下装好了hadoop2.5.1,想在Eclipse下安装对应的插件,网上搜了好多帖子都是比较老版本的hadoop插件配置进程,在进行安装时也遇到了各种问题,现整理以下:
通过源码编译hadoop-eclipse-plugin⑵.5.1:
由因而新手,担心Eclipse与对应hadoop插件的兼容性问题,所以下载了源码通过ant程序编译,具体参考见:http://www.360doc.com/content/14/483.shtml。
但是这其中还是出现了以下问题:
在点击小蓝象选择new hadoop location时无反应。这绝对是在编译的进程中出现了问题,建议大家更换插件包或hadoop包,由于hadoop2.5.1比较新,现有的源码包多是2.2.x的,对2.5.1不1定合适。
安装现成的hadoop-eclipse-plugin⑵.5.1.jar:
下载hadoop-eclipse地址:点击打开链接
在按上面链接导入到Eclipse后,选择new hadoop location时弹出以下框:
注意:对应的Master下的localhost1定要与 /hadoop/etc/hadoop/core-site.xml中fs.default.name对应的ip地址相同,且最好在windows下不要写localhost(可能没法辨认)。
如果不相同,可能出现以下毛病:
The DFS Browser cannot browse anything else but a Distributed File System. 找不到对应的文件系统。
另外,当配置hadoop location时,应先在命令框运行hadoop/bin文件中的start-all.cmd命令,只有这样才能?将hadoop运行起来
,Eclipse新建的location才能连接对应的端口,否则会出现:
Call from xxx to 127.0.0.1:9000 failed on connection exception: java.net.ConnectException:
谢绝连接&。
正常建立后会出下下面结果:
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
------分隔线----------------------------
------分隔线----------------------------
积分:4237

我要回帖

更多关于 docker搭建hadoop集群 的文章

 

随机推荐