hadoop环境配置过程中可能遇到问题的解决方案
- Failed to set setXIncludeAware(true) for parser
遇到此问题一般是jar包冲突的问题。一种情况是我们向java的lib目录添加我们自己的jar包导致hadoop引用jar包的冲突。解决方案就是删除我们自己向系统添加的jar包,重新配置。将自己的jar包或者外部jar放入系统目录会在编译程序时带来方便,但是这不是一种好习惯,我们应该通过修改CLASSPATH的方式指定jar包路径。
- Cannot lock storage /tmp/hadoop-root/dfs/name. The directory isalready locked
这个错误一般是我们在某次配置失败后,hadoop创建该目录,锁定之后失败退出造成的。解决方案就是删除tmp目录下hadoop创建的相关目录,然后重新配置。
- localhost Name or service not known
在配置hadoop单节点环境时,需要利用ssh登录localhost。如果按照网上的方式配置之后还是不能正确登录localhost,并报上述错误,可以检查/etc/sysconfig/network和 /etc/hosts下的localhost名字是否一致。有时在某个文件中localhost是注释掉的。
- ls: Cannot access .: No such file or directory.
当在hadoop中运行ls命令时常会出现这个错误,这个错误是指hdfs文件系统中当前目录为空,并不是指本地文件系统中当前目录为空。当我们使用hdfs文件系统时,会默认进入/user/username下,这个目录不存在于本地文件系统,而是由hdfs内部管理的一个目录。当我们第一次使用ls命令时,/user/username下是空的,所以会提示上述错误。当我们添加新的文件之后就不再报该错。
- Call to localhost/127.0.0.1:9000 failed on connection exception
当在伪分布式环境下运行wordcount示例时,如果报上述错误说明未启动hadoop,利用start-all.sh脚本启动hadoop环境。
- jps命令没有datanode运行
一个原因是执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录namespaceID,标识了所格式化的namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。解决方案是清空hadoop的tmp文件,重启格式化hdfs。
- Retrying connect to server: localhost/127.0.0.1:9000
说明hadoop的namenode进程没有启动,导致与namenode无法连接而报错。可以先执行stop-all.sh脚本停止hadoop,然后调用start-all.sh重启hadoop。
- jps命令没有namenode运行
一个可能原因是tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失,于是我们得重新配置一个tmp文件目录。可以通过修改hadoop/conf目录里面的core-site.xml文件,加入以下节点:
<property>
<name>hadoop.tmp.dir</name>
<value>/home/chjzh/hadoop_tmp</value>
<description>A base for othertemporary directories.</description>
</property>
然后重新格式化hdfs。
此外,我们可以通过查看hadoop的logs目录下相关namenode日志查看问题来源。datanode不能启动时也可查看日志查找问题来源。
- Input path does not exist: hdfs://localhost:9000/user/root/inputfile
运行hadoop程序的时候,输入文件必须先放入hdfs文件系统中,不能是本地文件,如果是本地文件就会报上述找不到文件的错误。解决方案是首先利用put或者copyFromLocal拷贝文件到hdfs中,然后再运行hadoop程序。
- 提示
利用jps命令查看当前运行的hadoop进程时,和hadoop相关的一系列进程jobtracker、tasktracker、datanode、namenode和SecondaryNameNode的进程号也是非常接近的,不会出现上千的差异。如果发现它们的进程号差异过大,则往往会出错,这时可以通过重启解决问题。如果多次重启某些进程依旧没有改变,还可以利用kill -9命令强制杀死进程,然后再重启。
hadoop环境配置过程中可能遇到问题的解决方案的更多相关文章
- Hadoop/Spark环境运行过程中可能遇到的问题或注意事项
1.集群启动的时候,从节点的datanode没有启动 问题原因:从节点的tmp/data下的配置文件中的clusterID与主节点的tmp/data下的配置文件中的clusterID不一致,导致集群启 ...
- Hadoop环境搭建过程中遇到的问题以及解决方法
1.启动hadoop之前,ssh免密登录slave主机正常,使用命令start-all.sh启动hadoop时,需要输入slave主机的密码,说明ssh文件权限有问题,需要执行以下操作: 1)进入.s ...
- 【甘道夫】HBase开发环境搭建过程中可能遇到的异常:No FileSystem for scheme: hdfs
异常: 2014-02-24 12:15:48,507 WARN [Thread-2] util.DynamicClassLoader (DynamicClassLoader.java:<in ...
- 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑
<Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...
- Hadoop的配置过程(虚拟机中的伪分布模式)
1引言 hadoop如今已经成为大数据处理中不可缺少的关键技术,在如今大数据爆炸的时代,hadoop给我们处理海量数据提供了强有力的技术支撑.因此,了解hadoop的原理与应用方法是必要的技术知识. ...
- 菜鸟帮你跳过openstack配置过程中的坑
一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间 ...
- UITableView使用过程中可能遇到的问题
前言:记录一些UITableView使用过程中可能遇到的问题 环境:Xcode9 解决UITableViewStyleGrouped类型的TableView的cell距离顶部有距离的问题: table ...
- 菜鸟帮你跳过openstack配置过程中的坑[文末新添加福利]
一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间 ...
- javaee开发工具及环境配置过程
在配置javaee开发环境的过程中遇到过很多问题,在此系统的整理一下我之前的配置过程 注:配置过程学习自<JSP&Servlet学习笔记(第二版)>详细过程可以阅读此书.在文章的最 ...
随机推荐
- Python3 错误和异常
Python有两种错误很容易辨认:语法错误和异常. 语法错误 Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例 >>> while True print('He ...
- CMS垃圾收集器
介绍 CMS垃圾回收器的全称是Concurrent Mark-Sweep Collector,从名字上可以看出两点,一个是使用的是并发收集,第二个是使用的收集算法是Mark-Sweep.从而也可以推测 ...
- 集群技术(二) MySQL集群简介与配置详解
when?why? 用MySQL集群? 减少数据中心结点压力和大数据量处理(读写分离),采用把MySQL分布,一个或多个application对应一个MySQL数据库.把几个MySQL数据库公用的数据 ...
- ios开发之xcode环境介绍
作为一个刚入门ios开发的人来说,对于ios开发,对于xcode一切都是那么的陌生,那么我们如何开始我们的第一步呢?首先对开发的ide是必须要了解的,其实要对开发的语言要慢慢熟悉起来,今天我们先来熟悉 ...
- Linux Java开发坏境搭建,Ubuntu-jdk+tomcat+eclipse+svn 包安装详细操作
更新时间2015-03-15 更新2015-04-12 svn安装更新 第一步 安装jdk (在linux上使用yum安装JDK http://blog.chinaunix.net/uid-1546 ...
- activity的启动模式和栈管理
在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享内存的方式实现的. Intent ...
- Retrofit 2.0 超能实践(一),okHttp完美支持Https传输
http: //blog.csdn.net/sk719887916/article/details/51597816 Tamic首发 前阵子看到圈子里Retrofit 2.0,RxJava(Andro ...
- Shell 整数比较、字符串比较
整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" - ...
- shell 参数列表的获取&shell使用的一些总结
最近在修改公司的一些cron,自己也是第一次接触和学习shell.对于一些零散但是常用的知识点,做一点点的总结. 拿出一个方法说说吧,方法如下:(信息量挺大的,请耐心看下面的说明) trans_cou ...
- 1gitolite构建git服务器
软件环境:在有网络条件下(主要是为了安装软件),UbuntuKylin 14.04 1 安装openssh-serveropenssh-client,如果用的是VPS之类的一般都默认安装好了,不 ...