因为工作的关系需要学习Hadoop,本人菜鸟一枚,所以遇到的问题可能是一些大神不屑的,但是对于初学者来说还是有点参考价值的

         笔者首先根据网上的教程在自己的笔记本上安装了Ubuntu14.04 Kylin系统,然后安装JDK1.8.0_73和Hadoop2.6.0,然后开始使用hadoop运行测试示例程序,在此过程中遇到了一些网上教程没有提到的问题,特在此给大家分享一下。

1.安装后启动HDFS,datanode不存在的问题

安装好Hadoop后,在配置的伪分布式集群的基础上,运行start-all.sh命令,启动HDFS和Hadoop JobTracker和TaskTracker,但是datanode节点经常无法正常启动,造成HDFS无法存储文件,经查看是因为笔者新建的本地HDFS存储目录中的data文件夹(也就是hdfs-site.xml配置文件中设置的datanode节点的路径)被锁住,普通用户和用户组没有读写权限,造成成启动失败,在赋予相应读写权限后,datanode得以顺利启动。


2.Eclipse无法连接Hadoop问题


因为Linux系统的特殊性,不同用户对不同文件夹和安装的软件的使用权限是不一样的,笔者在user1用户下启动了Eclipse,而Hadoop程序的使用者却是hadoop,所以造成访问失败(被拒绝),该问题的解决比较简单,只需要通过linux系统的开机键下的“切换用户”功能,将系统的当前使用者改变为hadoop即可



3.Hadoop示例程序二次运行失败问题


因为hadoop 的特殊机制,每个hadoop程序都有一个输出文件目录,如果hadoop检测到输出结果目录已经存在,则会弹出异常中断程序执行,所以我们需要做的就是把当一次输出目录给删除,或者改变二次运行输出结果目录的名称,保证当前目录下没有跟输出目录同名的文件夹即可。