hadoop配置及运行过程中遇到的问题及解决方案

hadoop配置及运行过程中遇到的问题及解决方案

ID:35273310

大小:34.00 KB

页数:5页

时间:2019-03-22

hadoop配置及运行过程中遇到的问题及解决方案_第1页
hadoop配置及运行过程中遇到的问题及解决方案_第2页
hadoop配置及运行过程中遇到的问题及解决方案_第3页
hadoop配置及运行过程中遇到的问题及解决方案_第4页
hadoop配置及运行过程中遇到的问题及解决方案_第5页
资源描述:

《hadoop配置及运行过程中遇到的问题及解决方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.ssh报端口22打不开的错误通常是因为sshd服务没有打开,从管理——>服务中将sshd服务打开。2.Cygwin配置ssh时遇到的关于connectionclosed的问题。配置无密码访问后,执行“sshlocalhost”命令,报”connectionclosed”的错误。该错误需要修改服务属性,找到Cygwinsshd服务,右键属性——>登陆——>此账户——>高级——>立即查找,找到当前用户,确定,回到登陆界面,输入密码,确定,然后重启服务。如果重启时遇到服务无法启动的错误,可以重新执行“ssh-host-config”。3.ssh远程访问其他机器时无法访问,输密码也不行当前遇到的

2、该问题是由于两台机器上的用户名不一致造成的,当前机器会以当前用户名去访问远程机器,远程机器上可能没有该账户。解决方案是在”.ssh”目录下创建一个config文件,不用后缀,在里面添加如下内容:Host远程机器IPUser远程机器用户名有多台远程机器,则为每一台都添加2上面两行。4.hdfs报连接不到端口的错误一般是namenode的问题,format一下namenode就可以解决这个问题。5.hadoophdfs端口问题网上大多选用9000端口,基本上都认为是选用一个没有占用的端口就可以。在我们这次配置中遇到了问题,报与默认的8020端口不一致的错误。解决方案就是把端口换成8020。在Ub

3、untu下配置时好像没有遇到过类似问题,不知道是不是因为在windows下的原因?这个需要进一步验证。6.诡异的添加新节点失败问题系统运行后,新加一台机器,添加步骤:在slaves中,将新机器IP地址加上,在新机器上通过bin/hadoop-daemon.shstartdatanode启动新机器的datanode进程,结果该节点不能在系统中出现。后经过多次重新启动集群,甚至删除原集群重新formatnamenode都不行。表现为,在启动时可以看到打datanode在新机器上启动了,但是通过dfsadmin–report或者通过http接口都看不到。关闭时新机器也会关闭datanode。后偶然

4、发现是新机器上除了core-site、hdfs-site、mapred-site三个xml配置文件外,还有hadoop-site.xml配置文件,该配置文件里的hdfs端口被配置成9000。事实说明,如果hadoop-site.sh在的话,它会覆盖其他三个做的修改。个人以为,因为我们hdfs实际所用端口是8020,新机器认为是9000,结果导致namenode收不到心跳包,导致无法识别。删除hadoop-site.xml后,一切正常。7.hadoop.tmp.dir的配置问题尝试直接指定为windows的目录,比如D:/tmp,结果是hdfs启动了,但mapreduce启动会报错,因为不存在

5、形如*/D:/tmp*这样的目录,可见不能采用这种形式,不过在这种指定方式下,指定的目录里会产生hdfs文件夹。还是要配置成linux形式的目录。8.mapreduce任务执行时报错表现为在初始化任务后,不一会就报找不到文件的错误,map和reduce都没有执行。经网上插叙,得知是因为没有在mapred-site.xml中设置”mapred.child.tmp”变量,建议在hadoop所在目录下建一个文件夹作为其目录。感觉应该放在指定的另一个目录下也没有问题,需要注意的是文件要事先建好。这样之后不会报错。9.mapreduce任务map任务执行正常,reduce任务执行出现错误,报错为无法取

6、得map中间结果。该问题在小规模试验(不到一个block)的数据量下不会出现,因为此时map和reduce会在一台机器上,因此不需要数据传输。但是高于一个block后就会出错。网上有很多人遇到过同样地问题,一个成功的解决方案是修改“ulimit”值,说法是因为并行读文件太多,我们的情况没有涉及多大的并行读问题,应该不是。Ulimit对应最大打开文件数后找到一片总结各种错误出现的可能原因的帖子,上书,出现“Toomanyfetch-failures”错误的可能原因有如下:1)检查/etc/hosts要求本机IP对应服务器名要求要包含所有的服务器IP+服务器名2)检查.ssh/authorize

7、d_keys要求包含所有服务器(包括自身)的publickey最后发现我们属于第一条,因为之前找到的配置说明,给出的是在hosts里采用“IP+master或slave”的形式进行配置,这导致服务器名无法解析,修改完整的服务器名后一切正常。10.集群机器重起后datanode连不上namenode表现问题是datanode日志报连接namenode的9000端口失败,但检查namenode发现9000端口处于

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。