Hadoop单机版安装,配置,运行

时间:2021-04-03 23:47:39

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_rsaid_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看看,每个单词的出现次数都给你统计好了吧。

好了,全部完成,可以开始自己写程序了~~~