Ubuntu11.04配置Hadoop0.20.2

Ubuntu11.04配置Hadoop0.20.2

1、安装ubuntu11.04

wubi的傻瓜式安装应该不用我多说了吧,在win下用虚拟光驱载入,然后执行.......另外补充下,安装时最好断开网络连接(我们是直接拔的网线),因为ubuntu安装过程中需要更新一些语言包之类的东西,那些东西与我们要做的事没什么关系,下载时间又长,所以建议不更新。 

 

2、安装jdk1.6.0_26

有多种方法,此处只介绍一种 

 1、在usr下面新建一个文件夹Java,然后将jdk复制过来(也可直接mv过来)

    sudo mkdir /usr/Java

    sudo cp jdk的路径 /usr/Java

                   

  2、进入到Java目录下,改变文件权限为可执行

      cd /usr/Java  

      sudo chmod u+x jdk1.6.0_26.bin

 

   3、执行安装

      sudo ./jdk1.6.0_26.bin

      (现象为Unpacking....加一连串解压信息)

此方法有些系统会出现乱码程序,主要原因Ubuntu字符集问题,所以建议采用新立得软件包管理器,不过这样比较慢,但是配置jdk就不用自己动手了,系统自动帮忙安装好,而且是配置附带了自动关联其他所需用到的包。如果采用安装jdk1.6.0_26.bin方式,则jdk路径由自己定制,一般是放在/usr/lib/java,如果使用新立得软件包管理器安装,则jdk路径为:/usr/lib/jvm/java-6-sun-1.6.0.26,这一点需要注意!

 

3、安装hadoop0.20.2

1、将hadoop0.20.2.tar.gz复制到usr下面的local文件夹内(也可mv

   sudo cp hadoop的路径 /usr/local

 

 2、进入到local目录下,解压hadoop0.20.2.tar.gz

    cd /usr/local

    sudo tar -xzf hadoop0.20.2.tar.gz

 

 3、为了方便管理,将解压后的文件夹名改为hadoop

    sudo mv hadoop0.20.2 hadoop

 

4、创建一个名为hadoop的用户和用户组 

1、创建一个名为hadoop的用户组

   sudo addgroup hadoop

 

2、创建一个名为hadoop的用户,归到hadoop用户组下

    sudo adduser --ingroup hadoop hadoop

    (1:前一个hadoop为用户组名,后面的是用户名,之所以名字一样是为了方便统一管理,输入自己的密码后,到注2

     2:执行后会有一些信息需要填写,可以不填,都敲回车,用系统默认的即可,大概5个吧)

 

 3、用gedit打开etc下的sudoers文件

     sudo gedit /etc/sudoers

 

4、在 root   ALL=(ALL)  ALL 下面添加如下一行,然后保存关闭gedit

   hadoop  ALL=(ALL)  ALL

 (注1:网上有文档上是说先切换到root用户,然后修改sudoers的权限,再打开添加hadoop  ALL=(ALL)  ALL ,然后再将权限改回为只读,这样就要特别注意一定要将权限改回为只读,不然“sudo”命令就无法使用了,很悲剧的说注2:添加 hadoop  ALL=(ALL)  ALL 的意义在于能让hadoop用户使用“sudo”命令 

配置阶段: 

            

1、配置环境变量

    1、用gedit打开etc下的profile文件

       sudo gedit /etc/profile

 

   2、在文件最后加入如下几行

      export    CLASSPATH=.:/usr/Java/jdk1.6.0_26/lib:/usr/Java/jdk1.6.0_26/jre/lib:$CLASSPATH

      export PATH=.:/usr/Java/jdk1.6.0_26/bin:/usr/Java/jdk1.6.0_26/jre/bin:/usr/local/hadoop/bin:$PATH

(1:以上所有jre项都不是必需的,可以不要

 2:在win中环境变量的值是以“;”号隔开的,而这里是“:”

 3:等号后面有个“.”别丢了,它表示当前目录)

 

 3、保存后关闭gedit,并重启机器

     sudo reboot

    (注:网上也有说用source命令使环境变量立即生效的,但是本人在

       实际操作时出了几次问题,所以建议重启机器最保险)

 

  4、重启后用hadoop用户登录,验证配置是否成功

     java -version  (此语句执行后如显示了jdk版本的话说明配置成功,如果没有则需检查profile中路径是否正确)

   (注:最好是用hadoop用户登录,因为以下步骤都是以此为前提的)

注:上述使用gedit命令可能会出现GTK-Warning,这个不用管,重启终端就行了,不用再取安装GTK的程序,当然,如果系统没有GTK的环境时,可以使用:sudo apt-get install gnome-core-devel ,安装完成后,系统就有了GTK的工作环境了。

 

       

2、创建ssh-key 

   1、确保网络通畅,然后装载ssh服务

      sudo apt-get install openssh-server

当然,这先要看自己系统是否已经有ssh服务,查看系统是否已经打开ssh服务,使用以下命令:sudo service ssh status,如果已经打开会出现一下内容,具体要看系统:ssh start/running,process 1836

(注:如果此语句执行失败且结果为“....包被占用的话,那么应该是ubuntu更新管理器正在后台更新,你可以选择等待或者关闭更新,更新管理器在系统菜单中,具体位置忘了.....

2、创建ssh-key,为rsa (网上文档中也有dsa的)

       ssh-keygen -t rsa --P

      (注1:此语句网上文档为 ssh-keygen -t rsa -P "" ,效果一样

                            2:此语句执行后会要你填写key的保存位置,直接照着系统给出的那个默认位置填,也就是括号里的那个路径,如果全都照此文档操作的话那么括号中路径应该为"/home/hadoop/.ssh/id_rsa"

 

3、将此ssh-key添加到信任列表中,并启用此ssh-key

                         cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys

                         sudo /etc/init.d/ssh reload

注:第23步是可以成功配置ssh的,当然也可以用下面的方法:

由于Hadoopssh 作机器间的通信,因此先进行免密码登录机器的设定, 
$ apt-get install ssh 
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost

完成后请登入确认不用输入密码,(第一次登入需按enter键,第二次就可以直接登入到系统),以免日后输入密码key到手软。
~$ ssh localhost
~$ exit
~$ ssh localhost
~$ exit

3、配置hadoop 

 1、进入到hadoop目录下,配置conf目录下的hadoop-env.sh中的JAVA_HOME

    cd /usr/local/hadoop

    sudo gedit conf/hadoop-env.sh

  (打开后在文档的上部某行有“#export JAVA_HOME=...”字样的地方,去掉“#”,然后在等号后面填写你的jdk路径,完全按此文档来的话应改为 "export JAVA_HOME=/usr/Java/jdk1.6.0_26" )

 

4. 伪分布式单机配置

 

    conf/core-site.xml

 

 

<?xml version="1.0"?> 

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 

<!-- Put site-specific property overrides in this file. --> 

<configuration> 

         <property> 

                  <name>fs.default.name</name> 

                  <value>hdfs://localhost:9000</value> 

        </property> 

</configuration> 

 

conf/hdfs-site.xml:

 

<?xml version="1.0"?> 

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 

<!-- Put site-specific property overrides in this file. --> 

<configuration> 

         <property> 

                  <name>dfs.replication</name> 

                   <value>1</value> 

         </property> 

</configuration> 

 

 

conf/mapred-site.xml:

 

 

<?xml version="1.0"?> 

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 

<!-- Put site-specific property overrides in this file. --> 

<configuration> 

        <property> 

                 <name>mapred.job.tracker</name> 

                          <value>localhost:9001</value> 

        </property> 

</configuration> 

 

  

 运行测试阶段: 

 1、格式化namenode (首次运行必需滴)

    1、保证此时在hadoop目录下,如不在请先进入hadoop目录

       cd /usr/local/hadoop

 

    2、格式化namenode

       hadoop namenode -format

 

  2、启动hadoop 

    1、修改hadoop文件夹的权限,保证hadoop用户能正常访问其中的文件

       sudo chown -hR hadoop /usr/local/hadoop

 

    2、启动hadoop

       bin/start-all.sh

 

    3、验证hadoop是否正常启动

       jps

     (此语句执行后会列出已启动的东西NameNode,JobTracker,SecondaryNameNode...如果NameNode没有成功启动的话就要先执行"bin/stop-all.sh"停掉所有东西,然后重新格式化namenode,再启动)

 

3、跑wordcount 

   1、准备需要进行wordcount的文件

       sudo gedit /tmp/test.txt

   (打开后随便输入一些内容,如"mu ha ha ni da ye da ye da",然后保存退出)

 

   2、将准备的测试文件上传到dfs文件系统中的firstTest目录下

       hadoop dfs -copyFromLocal /tmp/test.txt firstTest

      (注:如dfs中不包含firstTest目录的话就会自动创建一个,关于查看dfs文件系统中已有目录的指令为"hadoop dfs -ls")

         

   3、执行wordcount : hadoop-mapred-example0.20.2.jar wordcount firstTest result

     (注:此语句意为firstTest下的所有文件执行wordcount,将统计结果输出到result文件夹中,若result文件夹不存在则会自动创建一个)

 

   4、查看结果

      hadoop dfs -cat result/part-r-00000

(注:结果文件默认是输出到一个名为“part-r-*****”的文件中的,可用指令“hadoop dfs -ls result”查看result目录下包含哪些文件)

至此单节点环境搭建完成!


结果图:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值