Hadoop自动化安装及单节点方式运行

本文尝试使用shell脚本来自动化安装配置Hadoop。使用的操作系统为CentOS,Hadoop版本为 1.x,jdk版本 1.7,其他版本未测试,可能有未知bug。

Hadoop安装脚本

Hadoop安装分为3步,首先安装jdk,然后安装Hadoop,接着配置ssh免密码登陆(非必须)。[1]

单节点运行自带示例

默认情况下,Hadoop被配置成以非分布式模式运行的一个独立Java进程。这对调试非常有帮助。新建测试文本

运行Wordcount

结果

 运行自己编写的Wordcount

编译

打包

运行

结果

 遇到的问题

1. 内存不足

分给虚拟机的内存才180M,运行实例程序时报错:

解决方案:
增加虚拟机内存,并编辑/etc/hadoop/hadoop-env.sh,修改:

原来启动JVM时配置的最大内存是128m,当运行hadoop的一些自带的实例会报内存溢出,其实这里是可以修改内存大小
如果不需要也不必修改。[2]

 2. 带有包名的类的引用

带有包名的类要按照包层次调用类。如上面的 net.annhe.wordcount.WordCount [3]

3. 带有包名的类的编译

需要打包编译,加-d选项。

java的类文件是应该放入包中的,如package abc;
public class ls {...} 那么这个abc就是就是类ls的包,那么编译的时候就应该创建相应的abc包,具体就是用javac的一个参数,就是这个-d来生成这个类文件的包,例如上面的类在编译时应该写javac -d . ls.java注意javac和-d,-d和后面的.,.和后面的ls.java中间都有空格[4]

参考资料

[1]. 陆嘉桓. Hadoop实战. 第二版. 机械工业出版社

[2]. OSchina博客:http://my.oschina.net/mynote/blog/93340

[3]. CSDN博客:http://blog.csdn.net/xw13106209/article/details/6861855

[4]. 百度知道:http://zhidao.baidu.com/link?url=ND1BWmyGb_5a05Jntd9vGZNWGtmJmcKF1V6dhVNM1eFNuHL6kbQyVrEWtCUmy7KYP5F66R2BumCifCnPQnYdD_

2 thoughts on “Hadoop自动化安装及单节点方式运行

  1. Pingback: 基于Kickstart的Hadoop集群自动化部署 | 知行近思

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注