Hadoop是最近非常流行的东东啦,但是乍一看都觉得是集群的东东,其实在单机版上安装Hadoop也是可以的,并且安装好以后可以很方便的进行程序的调试,调试好程序以后再丢到集群中,放心的算吧,呵呵。。
本文说的是在ubuntu上hadoop的安装,其他的linux可以类比进行。
安装前的准备
在安装之前,我们需要准备以下的东西
- Ubuntu的安装盘,我装的就是桌面吧,你可以选择服务器版,无所谓。
- 一台空白电脑,当然,你也可以用虚拟机,推荐使用VirtualBox,高端大气上档次,还免费,我正好有台空着的机器,就直接用的机器了。
- hadoop安装包,选一个快的下载,版本的话,我用的1.2.1,不过差别不大。
OK,就需要这么些东西,我们开始吧。
安装操作系统
装系统大家都会,就不说了,Ubuntu现在的安装方法超级简单,不管是在虚拟机下还是在实体机上都很简单,一路next就行了。
创建hadoop用户
安装好系统,建立一个hadoop用户是必须的,如果你装的是桌面版的ubuntu,估计要使用root密码,创建root密码的方法是
sudo password root
然后输入你自己的密码,就可以创建root密码了,其实没有root密码也关系不大,因为你的用户已经有root权限了。
-
创建
hadoop
用户组sudo addgroup hadoop
-
创建
hadoop
用户sudo adduser -ingroup hadoop hadoop
就是在
hadoop
用户组下建立一个hadoop
用户,别问我为什么,关于用户组和用户的问题请自己去查linux文档。 给
hadoop
加上root权限,方便hadoop用户以后的操作。方法就是打开/etc/sudoers
文件,然后添加一行hadoop ALL=(ALL:ALL) ALL
,就是让hadoop永远root权限,每次要执行权限指令时前面加上sudo
就行了。
修改主机名称
其实在安装ubuntu的时候就可以选择主机名,你要是没有创建的话应该显示的是ubuntu
,打开/etc/hostname
,把ubuntu
改成你想的任何名字,我改的是WuCloud
,显得高端点。
安装配置SSH,建立信任链接
SSH是一个安全的传输协议,可以进行远程登录,搞linux没听过ssh的话,建议不要往下看了。
一般情况下,安装ubuntu的时候我都会选上ssh,没有选的话,这里安装一下就行了,安装方法很傻瓜
sudo apt-get install openssh-server
由于hadoop默认是一个集群,所以需要登录各个服务器,就算你是单机的它也会这么干,所以你得配置一个不需要密码的登录环境给hadoop。
下面的操作,最好登录到hadoop
用户下进行。登录方法su hadoop
-
创建
ssh-key
ssh-keygen -t rsa -P ""
完了以后将在
~/.ssh/
目录下生成id_rsa
和id_rsa.pub
两个文件。确认以后输入:cat id_rsa.pub >> authorized_keys
OK,一切就绪
测试一下,登录一下本机,使用
ssh WuCloud
或者ssh localhost
都行,第一次要输入一个yes
,然后退出,再登录,发现不用密码了,OK,这一步完成了。
安装JAVA环境
这个不用说了吧,你搞hadoop的,没玩过java...呵呵,呵呵,其实我毕业后也没碰过JAVA,搞hadoop我还想用C++呢,不过安装JAVA环境我还是会的,而且,Ubuntu本身自带了OPENJDK环境,也可以用,你要是不想用的话,可以自己安装一个JDK,我用的自带的,没什么问题,话说要是装XenServer和CloudStack的话,原生的OpenJDK就不行,之前装CloudStack就被JDK坑死了。。。
恩,别跑题,JDK默认目录在/usr/lib/jvm/java-6-openjdk
下,如果你自己装的Java环境,目录你自己知道。
安装hadoop
重头戏来了,终于开始安装Hadoop了,其实Hadoop不用安装,解压就行了,我们拷贝到/usr/local/
下解压,显得专业点,当然,你也可以安装到任意目录,没什么区别。
sudo tar -zxvf hadoop-1.2.1.tar.gz
目录中多了一个hadoop-1.2.1
目录,改名成hadoop,mv hadoop-1.2.1 hadoop
好了,安装好了,简单吧,慢着,还要配置呢。
配置hadoop
-
将
hadoop
配置成hadoop用户属性sudo chown -R hadoop:hadoop hadoop
-
修改
hadoop/conf/hadoop-env.sh
文件,添加环境变量,最文件最后添加:export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin实际上就是添加JAVA环境和HADOOP环境,完成了。
作为一个单机的hadoop,就配置完成了,也就是你可以开始写程序测试了,当然,hadoop配置还有很多东西,但是到目前为止,作为单机开发,不影响我们使用了。
开始运行吧
-
第一次运行hadoop,要格式化,不要怕,不会删除你电脑上的任何数据,况且你是虚拟机安装的,删了也没事。
bin/hadoop namenode -format
-
启动服务
bin/start-all.sh
如果没报错的话,就OK了。。
运行一个测试程序
在hadoop目录下,hadoop-examples-1.2.1.jar
这个是测试程序,里面包含了很多测试用的代码,我们运行一个经典的,wordcout,很多教程都用这个来做说明,我们也不例外。
由于我们已经格式化了文件系统了,运行一个测试程序可以按照以下步骤进行。
- 随便在任何地方建立一个目录,比如
/home/hadoop/input/
- 随便拷贝一些文本文件到该目录下
-
运行以下命令:
bin/hadoop jar hadoop-examples-1.2.1.jar wordcout /home/hadoop/input/ /home/hadoop/output/
进过一系列像黑客电脑般的刷屏以后,会在/home/hadoop/下生成一个output目录,里面有
part-r-00000
和_SUCCESS
两个文件,看到_SUCCESS
就知道已经成功了,打开part-r-00000
看看,每个单词的出现次数都给你统计好了吧。
好了,全部完成,可以开始自己写程序了~~~