Ubuntu下Hadoop的安装与配置

一、安装
1.1 安装ssh

apt-get install ssh
1.2 安装rsync
apt-get install rsync
1.3 安装jdk1.6
方法1:
  sudo apt-get install sun-java6-jdk
方法2:
jdk地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7u7-downloads-1836413.html
下载:jdk-7u7-linux-i586.tar.gz
下载安装文件名为jdk-6u30-linux-i586.bin,放到/home/Hadoop目录下;
  cd /home/Hadoop
运行jdk-6u30-linux-i586.bin
  ./jdk-6u30-linux-i586.bin
1.4 安装Hadoop
 从http://Hadoop.apache.org/core/releases.html 下载最近发布的版本
最好为Hadoop创建一个用户:
比如创建一个group为hadoop user为hadoop的用户以及组
   sudo addgroup hadoop
   sudo adduser --ingroup hadoop hadoop
解压下载的Hadoop文件,放到/home/hadoop目录下 名字为Hadoop
 
 tar zxf hadoop-1.0.4-bin.tar.gz
二、配置
2.1 配置JDK环境变量
vi /etc/profile 增加下面语句到最后   export JAVA_HOME=/home/app/jdk1.6.0_30   export PATH=$JAVA_HOME/bin:$PATH   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

一般更改/etc/profile文件后,需要重启机器才能生效。这里介绍一种不用重启使其生效的方法:source /etc/profile
查看java环境变量是否配置成功:java -version
2.2 配置Hadoop
进入Hadoop目录   cd /home/hadoop/Hadoop
修改配置文件,指定JDk安装路径   vi conf/hadoop-env.sh   export JAVA_HOME=/home/app/jdk1.6.0_30 修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号.Hadoop.tmp.dir配置为你想要的路径,指定了所有上传到Hadoop的文件的存放目录,所以要确保足够大   vi conf/core-site.xml   <configuration>
    <property>
      <name>Hadoop.tmp.dir</name>
      <value>/home/hadoop/Tmp</value>
    </property>     
    <property>           <name>fs.default.name</name>           <value>hdfs://localhost:9000</value>         </property>   </configuration> 修改Hadoop中HDFS的配置,配置的备份方式默认为3,因为安装的是单机版,所以需要改为1   vi conf/hdfs-site.xml   <configuration>       <property>           <name>dfs.replication</name>           <value>1</value>       </property>   </configuration> 修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口   vi conf/mapred-site.xml   <configuration>       <property>           <name>mapred.job.tracker</name>           <value>localhost:9001</value>       </property>   </configuration> 接下来,启动Hadoop,在启动之前,需要格式化Hadoop的文件系统HDFS,进入Hadoop文件夹,输入下面命令   bin/hadoop namenode -format 然后启动Hadoop,输入命令   bin/start-all.sh 这个命令为所有服务全部启动。 最后,验证Hadoop是否安装成功。打开浏览器,分别输入一下网址:   http://localhost:50030    (MapReduce的Web页面)   http://lcoalhost:50070    (HDfS的web页面) 如果都能查看,说明安装成功。

\" src=

 

\" src=

Hadoop分别从三个角度将主机划分为两种角色:
第一,划分为master和slave,即主人与奴隶

\" src=


第二,从HDFS的角度,将主机划分为namenode和datanode(在分布式文件系统中,目录的管理很重要,管理目录的就相当于主人,而namenode就是目录管理者)。
第三,从MapReduce的角度,将主机划分为JobTracker和TaskTracker(一个job经常被划分为多个task,从这个角度不难理解它们之间的关系)。

2.3 Hadoop集群配置
三台实体机子做实验,一台做NameNode,JobTracker,另外两台做DataNode,TaskTracker。
本教程里就用的三台机子做演示。
station1        192.168.128.11      NameNode
station2        192.168.128.22      DataNode
station3        192.168.128.33      DataNode
1)按照上述方法在NameNode上进行配置
2)将NameNode上拷贝完整的hadoop到DataNode上
3)配置NameNode上的conf/masters和conf/slaves
masters:
192.168.128.11
slaves:
192.168.128.22
192.168.128.33
运行hadoop
1)格式化文件系统
[cuijj@station1 hadoop-0.20.2]$ hadoop namenode -format
2)启动Hadoop
[cuijj@station1 hadoop-0.20.2]$ bin/start-all.sh
3)用jps命令查看进程,NameNode上的结果如下:



4)查看集群状态
[cuijj@station1 hadoop-0.20.2]$ hadoop dfsadmin -report
5)用hadoop的web方式查看
[cuijj@station1 hadoop-0.20.2]$ links http://192.168.128.11:50070



8、运行wordcount.java程序
1)先在本地磁盘建立两个文件file01和file02
[cuijj@station1 ~]$ echo "Hello cuijj bye cuijj" > file01
[cuijj@station1 ~]$ echo "Hello Hadoop Goodbye Hadoop" > file02

2)在hdfs中建立一个input目录
[cuijj@station1 ~]$ hadoop dfs -mkdir input
3)将file01和file02拷贝到hdfs的input目录下
[cuijj@station1 ~]$ hadoop dfs -copyFromLocal /home/cuijj/file0* input
4)查看hdfs中有没有input目录
[cuijj@station1 ~]$ hadoop dfs -ls



5)查看input目录下有没有复制成功file01和file02



6)执行wordcount(确保hdfs上没有output目录)
[cuijj@station1 hadoop-0.20.2]$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output
7)运行完成,查看结果
 hadoop dfs -cat output/part-r-00000


本教程到此结束,对教程如有疑问,可E-mail联系我,也可到我博客留言。

 

 

posted @ 2012-10-20 15:07  icamel  阅读(585)  评论(0编辑  收藏  举报