近期学习hadoop遇到的问题以及解决方法

1.避免每次启动hadoop都要执行-format:

在配置文件hdfs-site.xml改变hadoop.tmp.dir即可.


2.关于guide上的wordcount不能编译的问题:

结合另外一个文件夹的cli(具体名字记不清楚了),hadoop-core-${HADOOP_VERSION}.jar:(增加的cli库)这样编译.


3.虚拟机virtualbox使用时无法让共享文件夹开机时自动挂载:

比如在vb上设置共享文件夹名称为gongxiang, 网上大多数介绍的是做一下几步:

创建共享文件夹:mkdir /mnt/share

挂载共享文件夹:mount -t vboxsf gongxiang /mnt/share

卸载:umount -f /mnt/share

开机自动挂载:在/etc/fstab末尾加入    gongxiang /mnt/share vboxsf defualts 0 0

以上是网上的方法, 其实还要在/ectc/rc.local追加如下命令:

mount -t vboxsf gongxiang /mnt/share


4.主机可以ping通虚拟机,但是虚拟机无法ping通主机:

在VirtualBox管理=>全局设定里面,选择网络,增加一个host-only网卡即可,然后在设置里面选择混杂模式,并不用建个桥那么麻烦,之前一直想建一个桥但是由于网上的版本太多再加上VirtualBox的版本不同,所以一直没建成功,所以在这里选择了这个方法.


5.VirtualBox在ubuntu下启动一个虚拟机都提示VERR_FILE_NOT_FOUND:

现在还没找到根本的解决办法,换了版本还是不行啊蛋疼...现在的做法是在设置里面把原来的镜像(VDI)删除然后再添加回那个镜像,就能启动虚拟机了!


6.HBASE里面其他命令诸如:List,status能用,但是就是不能create:

在单机里面,把hosts文件里面的127.0.1.1改成127.0.0.1就行了(貌似删除也行),但是在集群里面我就不知道了,我建立的是2个节点的集群,虚拟机s1作为regionserver但是就是一直启动不了,不知道是不是因为zookeeper必须为3个节点.使用的是hbase自带的zookeeper.http://www.hadoopor.com/thread-4421-1-1.html这是我在hadoopor发的帖子,一直咩有有效的解决方法,哎...


7.在使用sqoop的时候,无法将mysql数据导入(import)到hdfs中:

后来才发现原来是远程连接的问题,GRANT使用错误了,应该是@master,@s1,分别是我主机和虚拟机的别名!而且是匿名用户.如果要设置密码访问则要加上IDENTIFIED BY "(密码)".此外,还要将JDBC的jar文件放在sqoop文件夹的lib文件夹下


8.在学习hadoop的datajoin(事实上datajoin用现在的hive已经能非常方便地实现了)的时候,运行jar包的时候发现无法找到一些函数:

这时候应该在命令行后打入主函数后加上: -libjars lib/hadoop-datajoin-1.0.3.jar (之后跟输入输出文件夹).


9.由于刚学JAVA不久,编译JAVA的时候,抛出异常,cantfindmathod:...<init>():

其实是定义的类少了0参数数目的结构函数,在类的定义的时候加上得了.


10.hadoop的1.0.3API与旧的API的问题:

编译JAVA文件的时候,遇到KeyValueInputFormat.class无法作为FieldInputFormat的参数,原因是程序前面导入包的时候出现的问题,事实长,hadoop API里有两个FieldInputFormat,如果这个不行,换另外一个路径的FieldInputFormat即可(其他情况下如果出现参数类型匹配错误也可以看看API里面是不是有两个此类文件)


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值