最近实验室又要搞大数据的项目了,所以我们搭了个hadoop平台,顺便用来熟悉一下可以并行化处理数据的算法包——mahout。
hadoop安装和测试以及使用,这些网上的教程层出不穷,建议买些书过来读一读,受益良多,进步也快。初学者的话,推荐看《Hadoop权威指南》,此外有条件的可以先去图书馆试着读一读,如果感觉可以的话,可以买一本~mahout的话,初学者推荐看《Mahout实践指南》,感觉对做工程的人,挺好的,算法部分讲得不是很详细,也不是很深,但对于如何应用这些算法包,这本书讲得很细致入微。
下面开始记录我们hadoop平台会遇到的一些常见异常或者错误。PS.持续更新中...
我们都知道,当hadoop除了什么错误,或者异常的话,我们最好去看日志,就是$HADOOP_HOME/logs/xxxx.log下面看看是哪里除了问题,下面就是我们截取的一些出问题的日志,并附上我们的解决方法:
1. java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
我们看这个异常提示说是,UnknownHostException,也就是说,是我们的系统配置里面的hostname除了问题,由于刚开始搭建hadoop的时候,我们默认的设置为localhost,而没有那个后缀.localdomain,所以我们需要改下系统的hostname,把localhost.localdomain 改为localhost就可以了。
解决方法:命令行输入 vi /etc/sysconfig/network 把 hostname 改成localhost(如果你的hadoop自己配置过主机名,请使用你自己配置的那个主机名),
然后命令行输入 vi /ect/hosts 设置127.0.0.1 localhost localhost.localdomain 改为 127.0.0.1 localhost
最后命令行输入 hostname localhost就可以解决
其实更改主机名的方法有很多,这里只是列举了其中的一种,越是底层的方法,越是有效。
2.job 一直在处于 running中,停止了响应
这个问题依然是 hostname的问题,我们打开另一个终端,输入hostname 你的主机名 就可以改正过来了