HDFS文件上传:8020端口拒绝连接问题解决!

HDFS文件上传:8020端口拒绝连接问题解决!

CopyFromLocal: Call to localhost/127.0.0.1:8020 failed on connection exception:      java.net.ConnectException

问题提示本机的8020端口无法连接。

网络上面找到一篇文章是将core-site.xml里面的配置端口修改成8020,但是我们现在依然用他默认的9000端口,只需要在配置eclipse的时候端口修改为9000就可以了。

我的问题到此结束,不过他还在下面写了一点其他问题就粘帖下来,做以后查寻备用。

来源:http://www.csdn123.com/html/itweb/20130801/34361_34373_34414.htm



Hadoop的关键配置文件
     hdfs上传文件成功之后,自己又开始好奇地修改其配置文件。因为之前自己对于hadoop一直都是胡打乱撞,缺乏系统的理解和认识,在网上查到了一个篇hadoop配置文件的资料,于是就开始动起手来,不想出现了新的错误。首先来梳理下hadoop的配置文件:
1. hadoop-env.sh
     hadoop的运行环境配置,主要设置HADOOP_HOME和JAVA_HOME两个环境变量,指定其所在路径即可
2. core-site.xml
     注意fs.default.name属性要正确配置,该属性用于配置namenode节点,我们都知道一个hadoop系统中一般只有一个namenode节点管理所有的datanode,所以设置一定要正确:hdfs://localhost:8020。一般默认都是9000端口,但是我自己的ubuntu并不能正常运行,所以才修改为8020。8020端口是hadoop的namenode的RPC调用端口。
3. hdfs-site.xml
     dfs.replication属性,顾名思义表示指定的hadoop文件块的备份数量,一般默认是3份,可以设为1
     dfs.name.dir属性,非常重要,用来设置存放namenode数据的目录,如果这个目录访问失败,则会导致namenode启动失败
     dfs.data.dir属性,用来指定datanode上本地存放数据的目录,与namenode的设置独立没有关系
4. mapred-site.xml
     mapred.jop.tracker属性用来设置JobTracker的主机、IP地址和端口,本机的话可以设置为:localhost:9001
     Hbase系统的配置文件主要需要注意以下几个:
1. hbase-env.sh
     设置环境变量,要export Java路径,最后一行有个属性HBASE_MANAGES_ZK设为true表示启用自带的ZK,否则运行时会提示打开ZK错误,到时也可以使用apt-get单独的zookeeper运行。
2. hbase-site.xml
     hbase.rootdir属性设置region server的共享目录,默认写到tmp中,不改写的话重启后数据会丢失,我的设为了hdfs://localhost:8020/hbase
     zookeeper.znode.parent表示Hbase的跟ZNODE,一般默认为/hbase



在修改完配置文件后,启动hadoop时发现namenode无法启动,使用hadoop namenode -format也不能成功:

其中提示"Cannot create directory /hdfs/name/current"。一般出现这个错误有两个原因,一个是路径设置的有错误,另一个原因则更有可能是因为权限问题。自己的在指定namenode的存放路径时使用了"~"用来表示主目录,但是事实证明是行不通的,必须使用绝对路径,自己的修改为/home/hadoop/hdfs/;然后确保home的属性是775,而hadoop的属性是775即可。

      这里的hadoop fs -ls [directory]可以列出目录内容,hadoop fs -lsr则可以递归列出目录的子目录。-mkdir和-rmr分别用来创建和删除目录。之后我们可以使用hadoop fs -puts src hdfs://localhost:8020/user/hadoop/img中拷贝自己的IMG文件和JSON文件。

     这里还有一段小插曲,自己在解决namenode文件创建失败问题时,找到了hadoop默认的存放namenode和data的目录,在/tmp/hadoop-hadoop下,当然,设置dfs.name.dir后便存放到指定的目录了。HDFS文件存放在实际的节点本地系统中,但是使用特殊的编码方式,有着自己的文件系统树结构,因此一般不能用cd命令进入查看。上传文件就是将自己的文件添加进HDFS的树中。



由于配置时经常需要修改文件,不晓得什么时候不小心就导致配置错误,因此经常备份是个好习惯,可以使用ubuntu的tar命令来实现备份,生成backup.tgz后放在/下:
tar  -cvpzf  backup.tgz   --exclude=/proc  --exclude=/backup.tgz  --exclude=/lost+found  --exclude=/mnt  --exclude=/sys  /

时间: 2024-10-15 19:24:38

HDFS文件上传:8020端口拒绝连接问题解决!的相关文章

hadoop学习记录--hdfs文件上传过程源码解析

本节并不大算为大家讲接什么是hadoop,或者hadoop的基础知识因为这些知识在网上有很多详细的介绍,在这里想说的是关于hdfs的相关内容.或许大家都知道hdfs是hadoop底层存储模块,专门用于存放数据,那么在进行文件上传的时候hdfs是如何进行的呢?我们按照宏观和微观来进行相关解析工作. 首先需要向大家解释如下几个概念: (1) secondaryNamenode: 其实起初我对SN的理解也和大部分人相同,认为SN是NN(nameNode)的一个实时热备份实现HA,并且在一次笔试的过程中

WIN2008+iis7.5+PHP+FASTCGI大一点的文件上传出现500错误的问题解决

1.首先设置PHP.INI中文件上传大小和响应时间的设置: 2.进IIS选择FAST-CGI设置,加大其中的超时时间: 3.重启IIS: 注:IIS7.5版本才在IIS管理器中集成了FAST-CGI设置,低版本请网上搜FAST-CGI设置方法(手动更改配置文件).

input 文件上传标签响应很慢问题解决

<input type="file" accept="image/*"> 当input的accept属性值为image/*时,谷歌下点击上传文件需要等几秒钟才会出现,ie下却没有这个问题. 经查找参考http://www.tuicool.com/articles/vYfYVnf , 发现是input的accept属性与Webkit浏览器引发的问题.解决方案为修改accept为指定类型: <input type="file" ac

Crontab中shell每分钟执行一次HDFS文件上传不执行的解决方案

一.Crontab -e 加入输出Log */1 * * * * /qiwen_list/upload_to_hdfs.sh > /qiwen_list/mapred.log 2>&1 二.查看Log发现,找不到Hadoop 三.脚本中指定Hadoop完整路径 #!/bin/sh#upload list to hdfs yesterday=`date --date='1 day ago' +%Y%m%d` echo $yesterday/home/hadoop/bin/hadoop f

springMVC含文件上传调用ajax无法连接后台

springMVC在使用ajax进行后台传值的时候发现找不到对应的requestMapping(""),无法进入后台,在多次试验后确定是 MultipartFile对象与ajax冲突:并且不报任何异常,直接调用ajax的失败属性方法处理:代码如下: ·1 @RequestMapping("/addimage") 2 public String addimage(@RequestParam("image")MultipartFile file,Ht

Cherrypy文件上传非ASCII文件名乱码问题解决

Cherrypy 版本: 18.0.1 由于某些特殊原因(可能是与标准兼容的问题),Cherrypy对上传文件的原文件名使用 ISO-8859-1 编码方式解码,导致非 ASCII 的文件名显示为乱码. 解决的方式也很简单,只需要对文件名使用 ISO-8859-1 编码然后在使用 UTF-8 重新解码即可. 以下是一个完整的例子: 1 from os import makedirs 2 from os.path import dirname, join as pathjoin, exists a

Hadoop之HDFS原理及文件上传下载源码分析(上)

HDFS原理 首先说明下,hadoop的各种搭建方式不再介绍,相信各位玩hadoop的同学随便都能搭出来. 楼主的环境: 操作系统:Ubuntu 15.10 hadoop版本:2.7.3 HA:否(随便搭了个伪分布式) 文件上传 下图描述了Client向HDFS上传一个200M大小的日志文件的大致过程: 首先,Client发起文件上传请求,即通过RPC与NameNode建立通讯. NameNode与各DataNode使用心跳机制来获取DataNode信息.NameNode收到Client请求后,

Hadoop之HDFS原理及文件上传下载源码分析(下)

上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信.本篇将继续介绍hdfs文件上传.下载源解析. 文件上传 先上文件上传的方法调用过程时序图: 其主要执行过程: FileSystem初始化,Client拿到NameNodeRpcServer代理对象,建立与NameNode的RPC通信(楼主上篇已经介绍过了) 调用FileSystem的create()方法,由于实现类为Dis

java:ssh连接服务器,实现本地文件上传和下载

1.连接至服务器:ssh [email protected] -p 5555    下载文件:scp -r [email protected]:/ccc(服务器路径,文件夹下所有文件)  /path(本地路径)    上传文件:scp /ccc(本地文件路径) 2.文件上传: import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.OutputStream; i